Update: [cairo] how to interface with an NSWindow (please help!)
tgriggs at cincom.com
Thu Feb 22 11:40:47 PST 2007
On Feb 22, 2007, at 0:14, Travis Griggs wrote:
> I'm working on my VisualWorks Smalltalk interface to Cairo. In that
> environment, I have easy access to any NSWindow I open, and the
> ability to send objective-c messages. So what I do is basically:
> 1) fetch the class named NSGraphicsContext
> 2) id nsGC = [NSGraphicsContext graphicsContextWithWindow:
> 3) cgCtx = [nsGC graphicPort];
> 4) cairo_nquartz_surface_create_for_cg_context (cgCtx, 200, 200, 1);
> But when I do drawing ops on that surface, nothing happens. :( Am I
> doing this right at all? Or is there a better/different way to do
> it? Do I need to send additional messages to the NSGraphicsContext
> or to the CGGraphicsContext (this is just a struct pointer,right?)?
> I'm using 1.2.6 (I think). I'm confused about the recent sent of
> messages regarding osx apis and stability thereof. Should I upgrade
> to the new snapshots for cairo?
So, I was wrong. It is doing something. Just not right away. All I
have to do is hide the window and reexpose it and then it's there!
Yay. I've tried ending my drawing sequence with a surface flush. But
that doesn't have any affect. If I use finish, it shows up right
away, but of course, none of it can be used anymore (have to recreate
the cairo objects).
"Every institution finally perishes by an excess of its own first
principle." - Lord Acton
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cairo