[Mono-winforms-list] Re: SWF status - System.EntryPointNotFoundException: GdipCreateFontFamilyFromName

Peter Dennis Bartok peter@novonyx.com
Wed, 7 Apr 2004 15:04:14 -0600


[Ok, threw the list back on the cc since there was at least one request
:-) ]

SWF uses System.Drawing which uses GDI+ (or libgdiplus on linux). In
addition, on Linux, the controls themselves are implemented through Wine, so
drawing of that part is done through Wine, not GDI+. There's some trickery
done in System.Drawing/libgdiplus that tries to make those two compatible,
by having Wine functions used through SWF draw into a bitmap and then
mapping that bitmap into the System.Drawing graphics context. This only
happens when SWF uses Wine functions to draw onto a context. Wine controls
themselves (and all unmanaged code) would go straight through the Wine X11
driver.

This mapping of the bitmap is relatively slow (as you have discovered), so
implementing controls in managed code will require a lot of bitmap copying
and thus CPU. That's one of the reasons I'm trying to move the actual
drawing closer to Wine (Win32). That way, only code that does custom
controls will incur the cost. This, of course, only applies to Linux, on
Windows there's no mixing of two environments.

Hope this makes sense.

Cheers,
 Peter



-----Original Message-----
From: "Timothy Parez" <tpsoftware@users.sourceforge.net>
To: "Peter Dennis Bartok" <peter@novonyx.com>
Date: 07 April, 2004 14:54
Subject: Re: [Mono-winforms-list] Re: SWF status -
System.EntryPointNotFoundException: GdipCreateFontFamilyFromName


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Cool :)

SWF runs ons top of GDI+ doesn't it ?
so if SWF works I should now be able to draw something using GDI+ right?

Tim.

On Wednesday 07 April 2004 22:51, you wrote:
> The white appearance is normal (for now). The slow speed is partially due
to
> SWF having lots of debug output, partially because it's implemented in
> managed code. I am actually redoing some of the framework right now, to
have
> the basic control in unmanaged code and only the interface for it in
managed
> code, to make it more feasible for actual (real life) use.
>
> Cheers,
>   Peter
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQFAdGqeCaEsekficpoRApcPAJ9grA+AuPax99M53cT4paYXfu2sOwCfS3+t
S4yVw7rXbo1cEBI6FXG6D5w=
=z6RU
-----END PGP SIGNATURE-----