Hi Jeremy,

Hey, I can't e-mail through work on the weekends, so I have to use gmail
off lists. :) Feel free to forward this back to the lists for

Done, see below :)

I'll probably end up sending you the changes tomorrow instead of today. Sorry about that, but since nobody uses it on Windows yet, it shouldn't be much of a problem...


The following random bytes came from Cubicool's keyboard :
On Sat, 2008-11-08 at 00:20 -0500, Jean-Sébastien Guay wrote:
Hi all, Hi Jeremy,

Hey, I can't e-mail through work on the weekends, so I have to use gmail
off lists. :) Feel free to forward this back to the lists for

As I mentioned a little while ago, I stopped trying to get osgCairo and osgPango working on Windows because of time constraints (it was just for a personal project, so it didn't have much priority)... Well I've gone back to it tonight, and have some progress to report.

First of all, there were some things missing for it to compile as a DLL on Windows, first and foremost an Export header where the correct symbol for _dllexport and _dllimport was defined depending on whether you're compiling or using the DLL respectively. I added that, so now the libs (both osgCairo and osgPango) compile correctly as DLLs.

Along the way I also added a few things I consider important to the CMake config, like the "d" suffix for side-by-side debug and release builds, and fields in osgPango's config to specify where to find osgCairo's includes and libs.

I had to add a few libraries to get things to link, like osgDB for osgCairo and cairo, gobject and glib for osgPango (it's looking for _g_free, _g_object_ref, etc for some reason).

I also had to make a few fixes to files that seem to me like they wouldn't compile without the fixes, even on Linux... Which seems weird. I updated earlier tonight from the googlecode SVN for the respective projects, but perhaps there's some code in flux.

Also, the osgpangoanimation example looks for osgAnimation (which isn't in OSG yet, so there should be a CMake option to compile that example or not and fields to specify where osgAnimation is) and the osgpangoguiviewer example seems to use methods and data members in osgWidget which don't exist (or is it that they're on the osgWidget branch but not in the main OSG SVN yet?).

Yeah, these are built against the trunk Cedric and I use. :)

Note that at this point I'm just getting things to compile. I haven't actually run anything yet. Status report would read as follows:

   * lib compiles            100%
   * all examples compile    100%

   * lib compiles            100%
   * 3/5 examples compile     60%

I'll send all my changes tomorrow (I'm too tired to package that all up right now - it's past Midnight, and I've got swimming classes with my youngest very early tomorrow morning... :-) ). Jeremy, I seem to remember you prefer SVN diffs, contrary to OSG's standard policy, is that right? I'll send the changes in whatever format you prefer tomorrow.

Yes, please! :)

I'll also test some executions tomorrow, can you please give me a few command lines that would be good tests? I've seen some data in the SVN working copy, but I don't know how to use it.

Sure! osgcairoviewer will throw up a few Image surfaces demonstrating
various surface formats and what-have-you. osgpangoviewer has a lot of
arguments, but there's a very simple function in the source that handles
this and could probably explain it all pretty easy. Also, make sure you
run osgpangofonts first to see what Windows XP calls the installed
fonts. :)

What sets osgPango apart is that it's designed from step one to be
optimized and positioned for 2D display; that is, a glyph will never
occur at any kind of non-pixel-aligned coordinate. Furthermore, full
subpixel hinting is supported and the rendering backend is pluggable!
Basically, any way you can imagine a font being decorated can be
accomplished--or rather, anything you could do with 2 passes in
Cairo. :)

P. S. If I'm real lucky, Robert has expressed a VERY slight interest in
merging some small part of osgCairo into OSG itself, but we'll have to
see. At any rate, to know it works on Windows would help no matter
what. :)



Jean-Sebastien Guay    [EMAIL PROTECTED]
osg-users mailing list

Reply via email to