Igor will clean and yes a lot of code can be simply thrown away On Nov 28, 2011, at 4:04 PM, Fernando Olivero wrote:
Don't know, but in case we cant modify Athens, we can always rename the project and start fresh, given that Igor rewrote most of it right?.
Fernando
On Fri, Nov 25, 2011 at 12:58 PM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
On Nov 25, 2011, at 10:35 AM, Fernando Olivero wrote:
Ok, i will try to do so from now on!
Igor, thanks for detailed response, i see now there's no real need for caching the glyphs, even though i didn't consider rotation as an available affine transformation.
Just a question on the protocol of the canvas, i found it better to use the following convenience methods, instead of exposing the transformation (or canvas state) directly to the sender:
drawOn: aCanvas aCanvas pathTransform â¦
drawOn: aCanvas aCanvas scaleBy: 0.5 @0.5 ; translateBy: 10@10 . â¦..
thanks for the feedback
Regarding the cleaning, a good start would be the Tweak related package, i could do it.
Can we throw it away? Because we should get license problem?
Stef
Fernando
On Thu, Nov 24, 2011 at 10:57 AM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
On Nov 24, 2011, at 12:33 AM, Fernando Olivero wrote:
Ah! So Athens is a facade, for a Canvas API, based on Paths, that could have a Cairo, OpenGl or BallonCanvas rendering engine as a backend.
Yes!!! Yo got it.
In the current case, using BallonCanvas (bit map based), i guess you are implementing the scalable fonts using the free type library? In Gaucho, i've done exactly that, i have a FontLibrary which acts as a cache for a particular font family, at a requested size. So when the canvas renders a string with a given font, it asks the library for the font at the current scale of the desired size.
fernando you should mention more often what you are doing. Because like that we can maximize impact and interaction.
Although i prefer the abstractions that are present in Athens, and will try to use it instead eventually.
Fernando pd: attached screen shot of Gaucho, using a scalable GCanvas (built on top of the free type lib and FormCanvas).
On Wed, Nov 23, 2011 at 1:08 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
+1
Something big is happening in the Pharo World.
Alexandre
On 23 Nov 2011, at 08:44, Stéphane Ducasse wrote:
put it in the class comments somewhere. Do not expect that people will know what you know. Make the entry simple and immediate.
Stef
On 23 November 2011 11:21, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Igor
prepare the following: - a class showing an example with the transformation stuff (because it is unclear)
There is one: AthensBalloonSurfaceExamples
- a tester canvas so that people can to
(CanvasTester testClass: CircleMorph) open.
err.. what is it?
To test morphic display on Athens you can do following:
| surf | surf := AthensBalloonSurface new form: (Form extent: Display extent depth: 32).
surf drawDuring: [ :canvas |
canvas fullDrawMorph: yourMorph. ].
Display getCanvas translucentImage: surf form at: 0@0
People could then extend the Athens package with the method in the morph.
It would be great to help adapting all morphs for Athens. Morphs, that having own draw method(s), should also have own #drawOnAthensCanvas:
I didn't covered all of them yet, so a little help with it would be nice. Also, it is good for checking the missing functionality in Athens API as well as learning it.
There's not much to learn yet :)
basicly what you should know is that you have coordinate system:
canvas pathTransform (instance of AthensAffineTransform)
which you can manipulate to achieve desirable results.
And actual drawing:
canvas setPaint: somePaintObject. ( color, gradient, or anything which conforms to AthensPaint protocol ). canvas drawShape: (rect or path or anything , which responds to: 'paintFillsUsing: aPaint on: anAthensCanvas' ). canvas draw: (anything , which responds to #drawOnAthensCanvas: )
think that we are dummies willing to help and do the two things I mention above. I'm then sure you will get contributions.
Stef
-- Best regards, Igor Stasenko.
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
<scalableText-gCanvas.jpg>