2013/1/23 Igor Stasenko <siguctua@gmail.com>
On 23 January 2013 12:58, Esteban Lorenzano <estebanlm@gmail.com> wrote:
Hi Fernando,
I don't want a Form... quitte the opposite! :) What I want is to have something equivalent to athens to what now is covered in morphic with ImageReadWriter.
Or, better explained, I want an AthensImageReadWriter who answers me a surface (or something that I can draw with an athens canvas) with the image from a file :)
You know that you can convert between forms and athens surface? Forms is actually not that bad, they simply contain bits. The bit format information is a bit obscure (comparing to OpenGL, for instance), but its enough. So, i suggest you to use form and ImageReadWriter.
But reading image from file without smalltalk operations can be much more efficient. If your application works extensively with external images It is important. That's why I write question at user group about how to get Form efficiently from external memory which filled by FFI call. Unfortunately no answers. Now I think about optimisation of PNGImageReadWriter by NativeBoost.
Esteban
On Jan 23, 2013, at 12:06 PM, Fernando Olivero <fernando.olivero@usi.ch> wrote:
What you can with Athens and the Cairo backend is:
1) create a surface in memory 2) draw to the surface 3) export that surface to a png 4) import that png into a form
The main point is step 3, cairo can export any surface to a png. Then within Pharo, any form can be created from a png.
But that is private to cairo library.
Also, if you interested in drawing from Athens into a form directly, look at the AthensDemoExamples, and Igor's magic trick of matching the bits of the surface (step 1), directly to the bits of an "external" form. to avoid steps 3 and 4. He used the surface plugin for that.
Hope i answered all your questions, though not sure because i've never used ImageReadWriter.
Fernando
-- Best regards, Igor Stasenko.