[Mono-winforms-list] Does X11 support imply Mac OSX support?
Peter Dennis Bartok
peter@novonyx.com
Sun, 26 Sep 2004 00:10:48 -0600
This is a multi-part message in MIME format.
------=_NextPart_000_06C7_01C4A35D.46E5AE40
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
>if such help is still needed. :)
Most certainly is the help needed and appreciated!
>I would love to get my hands dirty in doing some work on Mac support. :)
>where do I begin? I can code and test, have a Mac with latest everything.
Well, that's the thing. You need to know where to begin, we have little Mac
know-how. There's two general approaches to doing a mac driver. Approach A
is using the X11 driver and making things work with it and approach B is
writing a native (Cocoa, or the C version of it, forgot the name) driver,
and a corresponding theme.
Approach A is probably easier and somewhat faster, but Approach B is the
'perfect' solution. With A chances are you have the Windows look'n'feel on
the Mac.
If you you go down route A, the first thing I'm thinking you'll have to look
at is Cairo. That's what we use for drawing, and that's what I'm guessing is
blowing up. Someone just last week posted a MacOS X back-end for for Cairo,
so I'd start by trying to tie that in. We (the SWF team) can provide
assistance and guidance on the libgdiplus/cairo connection, to get the setup
right, but we have no Mac or Mac programming experience to support you in
the actual task.
For approach A, if you 're not scared off yet, you probably want to start by
getting the latest:
1) cairo (www.cairographics.org)
2) Mac backed for cairo (I have attached the message from the cairo list
describing it)
3) libgdiplus (from mono cvs)
4) mcs (from mono cvs)
5) mono (from mono cvs)
Then build 1,3,4 and 5 and try a little SWF 'hello world' app and see where
it crashes. In parallel, build the mac cairo backend, and run some tests for
cairo to see if the backend works. Next, I'd just hack up libgdiplus and
force it to use the cairo backend, then run your swf hello world app again
and see if it still crashes. At that point you have a good starting point to
start the real work.
For approach B, you need to look at the functions provided by the driver and
start finding equivalent functions on the Mac, and start using them. That's
about as detailed as I can be, because I don't know much about the mac. Oh,
you should be aware that the driver also handles idle and timer delegates.
Hope this helps you get started. Feel free to ask if I missed something.
Thanks!
Peter
------=_NextPart_000_06C7_01C4A35D.46E5AE40
Content-Type: message/rfc822;
name="[cairo] Native Mac OS X port.eml"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="[cairo] Native Mac OS X port.eml"
X-Auth-No:
Return-Path: <cairo-bounces@cairographics.org>
Received: from gabe.freedesktop.org not authenticated [131.252.208.82] by mail.novonyx.com with NetMail SMTP Agent $Revision: 3.89 $ on Linux; Wed, 22 Sep 2004 16:21:11 -0600
Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 55134A12B9; Thu, 23 Sep 2004 08:21:09 +1000 (EST)
X-Original-To: cairo@cairographics.org
Delivered-To: cairo@cairographics.org
Received: from smtpout.mac.com (smtpout.mac.com [17.250.248.84]) by gabe.freedesktop.org (Postfix) with ESMTP id CC1D0A1123 for <cairo@cairographics.org>; Thu, 23 Sep 2004 08:21:03 +1000 (EST)
Received: from mac.com (smtpin08-en2 [10.13.10.153]) by smtpout.mac.com (8.12.6/MantshX 2.0) with ESMTP id i8MLpAMU014566 for <cairo@cairographics.org>; Wed, 22 Sep 2004 14:51:10 -0700 (PDT)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
Received: from [192.168.0.3] ([81.107.94.240]) (authenticated bits=0) by mac.com (Xserve/smtpin08/MantshX 4.0) with ESMTP id i8MLp98G018229 for <cairo@cairographics.org>; Wed, 22 Sep 2004 14:51:10 -0700 (PDT)
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Message-ID: <822D1754-0CE1-11D9-A23A-00039371865E@mac.com>
Content-Type: text/plain;
format=flowed;
charset="US-ASCII"
To: <cairo@cairographics.org>
From: "Calum Robinson" <calumr@mac.com>
Date: Wed, 22 Sep 2004 22:51:07 +0100
X-Mailer: Apple Mail (2.618)
Subject: [cairo] Native Mac OS X port
X-BeenThere: cairo@cairographics.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: cairo mailing list <cairo.cairographics.org>
List-Unsubscribe: <http://cairographics.org/cgi-bin/mailman/listinfo/cairo>,<mailto:cairo-request@cairographics.org?subject=unsubscribe>
List-Archive: <http://freedesktop.org/pipermail/cairo>
List-Post: <mailto:cairo@cairographics.org>
List-Help: <mailto:cairo-request@cairographics.org?subject=help>
List-Subscribe: <http://cairographics.org/cgi-bin/mailman/listinfo/cairo>,<mailto:cairo-request@cairographics.org?subject=subscribe>
Sender: <cairo-bounces@cairographics.org>
Errors-To: cairo-bounces@cairographics.org
http://homepage.mac.com/calumr/cairo.png
http://homepage.mac.com/calumr/cairo-macosx.zip
I have a CoreGraphics port of Cairo up & running - 1 or 2 minor bits
(and 1 major bit - fonts) aren't working , but as it's mostly done I'm
starting to wonder how this port should be made available for other
developers.
I could edit the Makefile and add a CoreGraphics backend, which I will
do at some point, but Makefiles are not my strong point. What might be
better is to add the XCode project to Cairo CVS so that other
developers can build the Cairo.framework used in the test app (I
suspect more OS X developers would use a framework instead of whatever
the Makefile builds).
If anyone wants to check it out, then you'll need XCode 1.2 (the code
should hopefully work on Mac OS 10.2, but I haven't verified that yet).
Just download the zip archive above and decompress it into the cairo/
directory in your copy of Cairo CVS (next to glitz & libsvg etc.). It
contains 1 XCode project for building the Cairo framework and a sample
app.
Comments, suggestions & general feedback would be much appreciated.
Calum Robinson
http://homepage.mac.com/calumr
_______________________________________________
cairo mailing list
cairo@cairographics.org
http://cairographics.org/cgi-bin/mailman/listinfo/cairo
------=_NextPart_000_06C7_01C4A35D.46E5AE40
Content-Type: message/rfc822;
name="[cairo] Re Native Mac OS X port.eml"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="[cairo] Re Native Mac OS X port.eml"
X-Auth-No:
Return-Path: <cairo-bounces@cairographics.org>
Received: from gabe.freedesktop.org not authenticated [131.252.208.82] by mail.novonyx.com with NetMail SMTP Agent $Revision: 3.89 $ on Linux; Wed, 22 Sep 2004 15:58:04 -0600
Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E6D9EA12D7; Thu, 23 Sep 2004 07:58:02 +1000 (EST)
X-Original-To: cairo@cairographics.org
Delivered-To: cairo@cairographics.org
Received: from smtpout.mac.com (smtpout.mac.com [17.250.248.87]) by gabe.freedesktop.org (Postfix) with ESMTP id 09319A1123 for <cairo@cairographics.org>; Thu, 23 Sep 2004 07:58:01 +1000 (EST)
Received: from mac.com (smtpin01-en2 [10.13.10.146]) by smtpout.mac.com (Xserve/MantshX 2.0) with ESMTP id i8MLrPHT018308 for <cairo@cairographics.org>; Wed, 22 Sep 2004 14:53:25 -0700 (PDT)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
Received: from [192.168.0.3] (cpc6-rdng5-3-0-cust240.winn.cable.ntl.com [81.107.94.240]) (authenticated bits=0) by mac.com (Xserve/smtpin01/MantshX 4.0) with ESMTP id i8MLrNmc005319 for <cairo@cairographics.org>; Wed, 22 Sep 2004 14:53:24 -0700 (PDT)
MIME-Version: 1.0
In-Reply-To: <822D1754-0CE1-11D9-A23A-00039371865E@mac.com>
References: <822D1754-0CE1-11D9-A23A-00039371865E@mac.com>
Content-Type: text/plain;
format=flowed;
charset="US-ASCII"
Message-ID: <D5D1D9B7-0CE1-11D9-A23A-00039371865E@mac.com>
Content-Transfer-Encoding: 7bit
From: "Calum Robinson" <calumr@mac.com>
Date: Wed, 22 Sep 2004 22:53:27 +0100
To: <cairo@cairographics.org>
X-Mailer: Apple Mail (2.618)
Subject: [cairo] Re: Native Mac OS X port
X-BeenThere: cairo@cairographics.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: cairo mailing list <cairo.cairographics.org>
List-Unsubscribe: <http://cairographics.org/cgi-bin/mailman/listinfo/cairo>,<mailto:cairo-request@cairographics.org?subject=unsubscribe>
List-Archive: <http://freedesktop.org/pipermail/cairo>
List-Post: <mailto:cairo@cairographics.org>
List-Help: <mailto:cairo-request@cairographics.org?subject=help>
List-Subscribe: <http://cairographics.org/cgi-bin/mailman/listinfo/cairo>,<mailto:cairo-request@cairographics.org?subject=subscribe>
Sender: <cairo-bounces@cairographics.org>
Errors-To: cairo-bounces@cairographics.org
On 22 Sep 2004, at 22:51, Calum Robinson wrote:
> http://homepage.mac.com/calumr/cairo-macosx.zip
Oh - and you'll need this too:
http://homepage.mac.com/calumr/cairo-src.zip
Stick those 2 source files in the cairo/src directory.
Calum
_______________________________________________
cairo mailing list
cairo@cairographics.org
http://cairographics.org/cgi-bin/mailman/listinfo/cairo
------=_NextPart_000_06C7_01C4A35D.46E5AE40--