Ffenestri (multiple host window support), and Mac Host Menus
Edgar J. De Cleene
edgardec2001 at yahoo.com
Wed Jan 17 08:09:39 UTC 2007
El 1/17/07 4:14 AM, "John M McIntosh" <johnmci at smalltalkconsulting.com>
escribió:
>
> Well in Sophie we set things up to allow quicktime to draw to a
> surface. What we do is setup a GWorld via FFI and call our
> quicktime plugin to setup a squeak surface that points to the the
> GWorld. Then we tell Quicktime to draw to the GWorld, the
> plugin is setup to signal a semaphore when quicktime has finished
> drawing a frame. So we wait on the semaphore, and when
> fired we flush the form to Display.
>
> For the browser plugin I use this to create a CGBitmapContext
>
> SharedBrowserBitMapContextRef = CGBitmapContextCreate
> (SharedMemoryBlock,width,height,
> 8,rowBytes,colorspace,kCGImageAlphaNoneSkipFirst);
>
> then later do
> CGContextDrawImage(SharedBrowserBitMapContextRef, clip, image);
> to draw to this bitmap
> or
> CGContextDrawImage(targetWindowBlock->context, clip, image); to
> draw to the window context.
>
> image is a CGImageCreate using a CGDataProviderCreateDirectAccess
> which points to the squeak form, usually the Display.
>
> With I think the right parms the CGBitmapContextCreate could write
> bits to a Squeak Surface.
>
> I can't say how you would interface to Quartz Composer, first it
> would look like you need the Obj-C interface logic, then follow the
> instruction on how to use the QCRenderer class to draw to an openGL
> context. Which at this point you have exhausted my knowledge of
> how to continue.
>
> Evil things, I note the copybits logic grabs an extra word off the
> end of a form. That can cause a VM memory protection depending on
> how the bitmap storage area was created. In Sophie we tried to use
> the Cairo png reader but found this copybits bug was an issue.
Very thanks. I read carefully. Maybe in a few years more could do something
:=)
Edgar
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
More information about the Squeak-dev
mailing list
|