[Mono-winforms-list] Winforms and OSX

Stefan Csomor csomor@advancedconcepts.ch
Wed, 1 Dec 2004 07:04:10 +0100


I have not had the time to dive into reading the new code, but from what I
understand about your intentions, you will have to jump to the other side of
the river. X11 will not be available on the Carbon side.

IIUC you don't want to instantiate a true platform instance of a eg
checkbox, but create a 'user-defined' window which will - deep down in the
WM_PAINT message - draw its appearance. On the mac this should be done using
ThemeDrawing APIs, everything else won't be percieved of as 'native'. 

So you won't need a full fledged Quartz2D renderer at the moment, you will
only have to stuff in the cgContext from the Carbon kEventControlDraw event
and pick it up in the WM_PAINT handler and call HIThemeDrawButton
(HITheme.h) The important part will be to setup the Carbon Event handlers at
the appropriate places, repackage and feed into the WM_ message system.

Sorry, if I misunderstood something


Stefan (wxMac)

> -----Original Message-----
> From: mono-winforms-list-admin@lists.ximian.com [mailto:mono-winforms-
> list-admin@lists.ximian.com] On Behalf Of Miguel de Icaza
> Sent: Mittwoch, 1. Dezember 2004 04:23
> To: Kelly Leahy
> Cc: andrew@castlesoft.com.au; Mono-winforms-list@lists.ximian.com
> Subject: Re: [Mono-winforms-list] Winforms and OSX
> Hello,
> > I was just thinking about working on a special version
> > of libgdiplus using Quartz2D on OS X.  This, I think,
> > is one of the early steps to making a MWF
> > implementation for OS X.  Another being the so-called
> > "driver" for Aqua / Carbon.  Wanna help?
> The most important part on a native port to OSX is not Cairo (that one
> after all will for the most part just work).
> What you need is the platform driver.  The platform driver is the one
> that creates windows, interfaces to the mouse and keyboard and handles
> other Windowing-specific features.
> If you do the driver, you can still use Cairo/Libgdiplus+ untouched
> (later on, if you choose you can fine tune those, or work on a Quartz
> backend to either one).   But if you start here, you will not have much
> code to test with.
> Miguel.
> _______________________________________________
> Mono-winforms-list maillist  -  Mono-winforms-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-winforms-list