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