Indeed, I second the newbie question: how do we set TrueType fonts :)? Doru
On Tue, Mar 26, 2013 at 11:29 AM, Tristan Bourgois < tristan.bourg...@gmail.com> wrote: > 2013/3/25 Stéphane Ducasse <stephane.duca...@inria.fr>: > > > > > > Begin forwarded message: > > > > From: Igor Stasenko <siguc...@gmail.com> > > Subject: Re: Some question and request for Athens > > Date: March 25, 2013 2:57:33 PM GMT+01:00 > > To: Tristan Bourgois <tristan.bourg...@gmail.com> > > Cc: Stéphane Ducasse <stephane.duca...@inria.fr>, LE PORS Eric > > <eric.lep...@fr.thalesgroup.com> > > > > On 25 March 2013 11:45, Tristan Bourgois <tristan.bourg...@gmail.com> > wrote: > > > > Hi Igor! > > > > I have some questions and request for Athens :) > > > > 1 Do exist a possibility in Athens to draw a Surface on a Surface? > > For example : > > aSurf drawSurface: anOtherSurface at: aPosition > > (I need it for draw image on a surface) > > > > > > yes. You can use Forms or surfaces as paints so they act like 2D > textures: > > > > canvas setPaint: someSurface. > > canvas drawShape: myRect. > > Thanks that's works fine :) > > > > > 2 About my first question, I try to draw a png image on a Surface and > > I get some strange behavior. When nothing is applied on my first > > surface and draw the image in a rectangle path I crash the VM! > > This an example I tried and crash my VM: > > > > |surf pharoLogo ref path patternPaint| > > surf := AthensCairoSurface extent: 600@600. > > > > ref := 'pharo.png' asFileReference. > > pharoLogo := AthensCairoSurface createFromFile: ref fullName > ifFailed:[nil]. > > > > surf drawDuring: [:can| > > surf clear. > > patternPaint := can setPaint: pharoLogo. > > patternPaint setExtend: #None. > > can drawShape: (0@0 extent: pharoLogo extent). > > ]. > > Display getCanvas drawImage: surf asForm at: 0@0. > > > > If you need more information about the crash and my environment ask it :) > > > > weird... it should be working fine. > > I try it on a new clean image and again get a VM crash. > > > 3. Do exist something in Athens to create some text and get the extent > > of the text? I tried to draw text but I only succeed to draw a text > > without font (only width) and I don't found how to get the extent of > > this text :( This is really important for the next of the porting > > because I'm blocking on that and the textModel is not necessary for > > the next of my work because they already have a layoutManager for the > > text. > > > > You can use freetype to measure text extent. Please look how i doing it > with > > AthensTextScanner. > > Because the default methods of freetype using rounding for font size(s), > > which is not really nice. > > I added more precise methods, which do not do any rounding and using > > them for measuring > > text extent. > > > > Try this: > > > > text := 'asdsdgs' asText. > > lines := (AthensTextComposer scan: text for: AthensTextScanner new) > lines. > > > > lines first width. > > > > will give you the width. > > > > (but for that to work, your default font should be TTF font) > > Sorry for the newbie question but how I can change the default font to TTF > font? > > > Thanks Igor :) > > > > Tristan > > > > PS: The porting advance as well :) I have animation and that's really > > amazing :) > > > > > > > > > > -- > > Best regards, > > Igor Stasenko. > > > > > > -- www.tudorgirba.com "Every thing has its own flow"