Re: Windows GTK+ 2.24.10: Cairo contexts not rendering to surface

LRN <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
On 23.01.2017 21:17, Jeffrey Sheen wrote:
> On 23.01.2017 1:41, Jeffrey Sheen wrote:
>> On 22 Jan 2017 21:28, "LRN" wrote:
>>> On 22.01.2017 23:24, Jeffrey Sheen wrote:
>>>> Dear list,
>>>>
>>>> I'm trying to incorporate Cairo rendering into a cross-platform project.
>>>> Windows XP is a target platform for the project, so I am building against the
>>>> GTK+ 2.24.10 Bundle (20120208). N.B. This is a C/C++ implementation.
>>>>
>>>> The problem I'm having is that no Cairo backend contexts are rendering pixels
>>>> to their surfaces.
>>>>
>>>> I've tried the examples on the Zetcode guides for a PNG image surface and GTK
>>>> Window: http://zetcode.com/gfx/cairo/cairobackends/ 
>>> 
>>> These are for GTK3, i think. For GTK2 you need to do something like this:
>>> 
>>> ...
>>>   g_signal_connect(G_OBJECT(darea), "expose-event",
>>>       G_CALLBACK(on_expose_event), NULL);
>>> ...
>>> 
>>> static gboolean
>>> on_expose_event (GtkWidget      *widget,
>>>                  GdkEventExpose *event,
>>>                  gpointer        data)
>>> {
>>>   cairo_t *cr;
>>> 
>>>   cr = gdk_cairo_create (gtk_widget_get_window (widget));
>>> 
>>>   do_drawing (cr);
>>> 
>>>   cairo_destroy (cr);
>>> 
>>>   return FALSE;
>>> }
>> 
>> 
>> Thanks. I'll try the suggested syntax for the GDK Window example, and find an earlier API reference.
>> 
>> However, I have also tried rendering with an image context, and the resulting PNG was blank too.
>> 
>> Is it possible that I'm having the same issue here (the API has changed, but for Cairo specifically)?
>> 
>> What I'll do is build against the very latest stable GTK libs, to check whether the code functions as expected in the reference examples (i.e. pixels are rendered).
>> 
>> Then, given Windows XP is a target platform, what is the latest version of the Cairo libs that I can build against? N.B. I'm using Cairo in combination with Pango for image surface rendering only.
> 
> 
> An update:
> 
> I implemented LRN's GTK+ 2 alterations to the Zetcode example (see
> also http://stackoverflow.com/questions/21102622/how-to-create-a-cairo-t-on-a-gtk-2-window).
> I compiled against the same GTK+ 2 bundle as before, and rendering to the
> widget worked.
> 
> I then dropped in this code fragment into the example project to test image
> surface rendering:
> This also worked, outputting the expected PNG file.
> 
> However, this same code fragment generates a blank PNG file in my main project.
> I have the same GTK-related parameters in both VS projects' settings (as per
> http://stackoverflow.com/questions/15906580/how-to-configure-gtk-on-visual-studio-2010).
> 
> The only difference in output when building each is that I get a dozen linker
> warnings for my main project, all of the form:
> 
>     1>gdk-win32-2.0.lib(libgdk-win32-2.0-0.dll) : warning LNK4006:
>     __NULL_IMPORT_DESCRIPTOR already defined in
>     gtk-win32-2.0.lib(libgtk-win32-2.0-0.dll); second definition ignored
>     1>gdk-win32-2.0.lib(libgdk-win32-2.0-0.dll) : warning LNK4221: This object
>     file does not define any previously undefined public symbols, so it will
>     not be used by any link operation that consumes this library
> 
> I'd appreciate any advice.
> 

I would suggest asking GTK+ people (specifically - GTK+ MSVS people on the gtk
mailing list[1]).

[1] [email protected]

-- 
O< ascii ribbon - stop html email! - www.asciiribbon.org

-- 
cairo mailing list
[email protected]
https://lists.cairographics.org/mailman/listinfo/cairo
0x6759BA74.asc (application/pgp-keys, 3.4 KB)
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2

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
rb8=
=8FDv
-----END PGP PUBLIC KEY BLOCK-----
signature.asc (application/pgp-signature, 819 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJYhlLgAAoJEI2t6SdnWbp07D0QAKSalQmx/JbbE/enxPlcKivu
y1kYcftQAUmkwBBy6lyO8oGK+hovy8XtAa1FP18XQxLUW+8fMYcKPwhYgMGbk3Mw
BmhzbWeFvWR8WMV+3pq4cb7URR7/7OpE83pZLJLrW4QnD7gVceId2nuf7qOCshAR
Q3IKXfcnlQYDkMLb3bwMjHsbbUWbXl1PF2kOMqKIbtw4f6/pmRcwMdDDsq1AQG+8
a/d17QypasqH4CXyhF/akemp/QO5znG3QZjFSYZHd1HKzg2DFa5Nl4lC0Uz8AJus
KcC0WuQCys6EvRi6C91rpY0ezM33wCJSx2oHb9oy+ORlj3y078XZijWxBMkWRHW0
D/taiqemQmODHnrBNA/wwFwn+OpRsQD/LKLKrUjWg+5Xhh8sCRzRnF7PJXO+fG0M
jKVqjq+yKMbvE5kIO781cCDt5uY/6ap6y2TcbFwAf4T4OIPA5c/UzXTwLnunwlOY
VOqZeI2w7nfX6Lg78LU9uZhroDlV6OmtjU9aFyDs0tfiwcqr1MLCVtlGV1JKD8V7
A262N+NAI2vWtz5M/5W/6NNpWmdGaSbI95agrvEXJ7cycj6i3B8KOoBdhK3BCjaI
2mN8rVdX41uD1qAKTJ5vcTDX0MkcfvwquhZMA4JYTQRHS8Tu3r0O84+us/zvGy/J
oNe1icvVx/Fuk8rA9gTh
=xXOc
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.