On 8/27/2011 11:29 AM, Mike Wey wrote:
GtkD is a D binding and OO wrapper of Gtk+ and is released on the LGPL
license.
New in this Release:
* wraps GTK+ 2.22.x series api (and relative libraries: glib, cairo,
pango, etc.)
* Improved memory management.
* Implements GtkBuildable.
* Brought Gstreamer up to date with the rest of the bindings, including
64bits support.
GtkD 1.4 is now available, get it from dsource:
http://www.dsource.org/projects/gtkd/
Nice! A few issues, though:
Small feature request: Could the GNUMakeFile include a multilib option
that builds both 32-bit and 64-bit libs on a 64-bit system? I run
performance-critical scientific code on 64-bit Linux, and use GtkD to
plot results. If I don't need 64 bits of address space and the code
uses a lot of pointers, I sometimes compile it as 32-bit to make it more
cache efficient. I've been manually editing the make file to compile
both 32- and 64-bit binaries, but it would be nice if I didn't need to.
Why was SvgSurface.create changed to the much more verbose and
completely redundant SvgSurface.svgSurfaceCreate? Was this by accident?
Please recompile the documentation, as the docs at the dsource site are
outdated.
gtkD doesn't build on D2 for one trivial reason: You forgot a super
call for the Thread class you're inheriting from in glib\Spawn.d. (I
tried it with Git head DMD and druntime. Maybe it works for some reason
on 2.054.) Fix: Change run() to return void instead of int and pass
its delegate to super. Starting on line 270 of Spawn.d:
this(FILE* file, bool delegate (string) read )
{
this.file = file;
this.read = read;
version(druntime)
{
super(&run);
}
}
version(druntime)
{
public void run()
{
string line = readLine(file);
while( line !is null )
{
++lineCount;
if ( read !is null )
{
read(line);
}
line = readLine(file);
}
}
}