[Mono-list] System.Drawing Gdk binding
Artem Popov
tfwo@mail.ru
Tue, 06 Apr 2004 15:06:59 +0700
--=-jgeM3EtS3QX2khz+9+Yw
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Hi guys, I've just completed a simple System.Drawing Gdk binding (needed
for a pet project of mine).
It allows to get graphics from a GdkWindow and draw on it with S.D.
routines. I will explain the files in the archive:
Graphics.diff
gdipFunctions.diff:
made against 0.31, I don't have cvs on this machine, sorry :(
gdip_gdk.c:
goes into libgdiplus (add to Makefile.am then run automake). There can
be a gdk check in configure to disable this on systems without gtk.
this binding works much like the cairo code from gtksharp, except that
it retreives System.Drawing.Graphics not CairoGraphics from the widgets.
That's why the C code dependency.
How to use:
Graphics g = Graphics.FromGdkWindow (drawing_area.GdkWindow.Handle);
IntPtr handle is used in favor of GdkWindow because otherwise, mcs
compilation will require gtk-sharp.
I've used GdkWindow not GdkDrawable because x11 display is used in C
code, and it implies on-screen drawing (however there can be simular
FromGdkDrawable code).
For expose events with in-memory images, one can use g.DrawImage or
something like that.
Regards,
Artem.
P.S. I've attached the obligatory screenshot :)
--=-jgeM3EtS3QX2khz+9+Yw
Content-Disposition: attachment; filename=arkivo.tar.gz
Content-Type: application/x-compressed-tar; name=arkivo.tar.gz
Content-Transfer-Encoding: base64
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
gggiiCCCCCKIIIIIIogggs8c/gM0YFCyAFAAAA==
--=-jgeM3EtS3QX2khz+9+Yw
Content-Disposition: attachment; filename=sd-test.png
Content-Type: image/png; name=sd-test.png
Content-Transfer-Encoding: base64
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
--=-jgeM3EtS3QX2khz+9+Yw--