
Do you know
Clutter ?
"Clutter is an open source software library for creating fast, visually rich and animated graphical user interfaces. "
http://www.clutter-project.org/
Great Project. Really.
A bit too much intricated with gnome/gtk, not really win32 native ;), not so much pictures to display about, but... Nice and Smart code: really promising architecture.
Wanted to figure this on win32, as i'd like to create some click n play frontends for my htpc...
Good news: it's buildable on Windows/CodeBlocks (mingw) with a bit of luck and elbow grease :)
Here is a recipe:
Get
Code::Blocks (Mingw flavor):
http://www.codeblocks.org/downloads/5
Get
Clutter0.9, and unzip-it somewhere on your hdd.
Get GTK dependencies from
http://www.gtk.org/download-windows.html (binaries+dev packages):
pango,
cairo,
glib,
gtk+
Get some Mingw port from
http://sourceforge.net/project/showfiles.php?group_id=7382 :
gettext,
libiconv
I put all those libraries side by side with clutter-0.9.
Now some OpenGL trickeries: this is the main problem when compiling on win32 as internal OGL support is only up to 1.2, and clutter is more 1.4. So, as usual, we'll play with extensions and runtime function pointers retrieval.
Note that clutter/cogl is dealing with >1.4 extensions as well: mine is a hack concerning 'some functions 'between' OGL 1.2 and 1.4... So:
Get latest
glext.h, to update your probably old \codeblocks\mingw\include\GL\GLext.h.
Create
clutter-0.9.0\build\cb directory ('
cb' stands for
code::blocks, took the directory location from the old msvc_2k5 port).
Unzip this patch/project
archive file in
clutter-0.9.0\build\cb.
Run
cb/prebuild.bat: it will copy some config files, create the actor-marshall.h/.c, and replace some files with a patched version (have a look into
prebuild.bat as it probably wont fit with your directory configuration).
Now open code::blocks and cb\clutter.workspace: you should be ready to compile and link both
clutter and
interactive_d projects.
To execute
interactive_d.exe: you need a bunch of dll in the running directory as the content of clutter-0.9\test\data. This is my complete
build folder.
interactive_d.exe needs the name of the test to be ran, as a parameter, such as
'interactive_d.exe test-clutter-cairo-flowers'. Here is a two rows list of possible params:
test-actor-clone test-actors
test-animation test-behave
test-binding-pool test-clip
test-clutter-cairo-flowers test-cogl-multitexture
test-cogl-offscreen test-cogl-primitives
test-cogl-tex-convert test-cogl-tex-foreign
test-cogl-tex-getset test-cogl-tex-polygon
test-cogl-tex-tile test-depth
test-easing test-events
test-fbo test-fullscreen
test-grab test-layout
test-main test-model
test-multistage test-offscreen
test-paint-wrapper test-perspective
test-pixmap test-project
test-random-text test-rotate
test-scale test-score
test-script test-shader
test-stage-read-pixels test-text-field
test-text test-texture-quality
test-textures test-threads
test-unproject test-viewport
That's it for Clutter 0.9 :)
I'm going to dive more and more into it next days... And will publish my investigations in there. Stay tuned ?