2013/4/11 Igor Stasenko <siguc...@gmail.com>

> On 11 April 2013 10:44, Tristan Bourgois <tristan.bourg...@gmail.com>
> wrote:
> >
> >
> >
> > 2013/4/11 Igor Stasenko <siguc...@gmail.com>
> >>
> >> On 11 April 2013 08:55, Tristan Bourgois <tristan.bourg...@gmail.com>
> >> wrote:
> >> >
> >> >
> >> >
> >> > 2013/4/10 Igor Stasenko <siguc...@gmail.com>
> >> >>
> >> >>
> >> >>
> >> >> On 10 April 2013 09:14, Tristan Bourgois <tristan.bourg...@gmail.com
> >
> >> >> wrote:
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >>> 2013/4/9 Igor Stasenko <siguc...@gmail.com>
> >> >>>>
> >> >>>> Yes, this is a known bug actually, which i demonstrated to audience
> >> >>>> during
> >> >>>> tutorial presentation..
> >> >>>> i/cairo miss the correct font matrix setup.. and i need to see
> what's
> >> >>>> there.
> >> >>>> Cairo caching the glyphs in a strange way (so if you never drawn
> >> >>>> anything with given font before and your first drawing will use
> some
> >> >>>> rotation
> >> >>>> then everything will be rendered correctly, but if you already
> drawn
> >> >>>> anything
> >> >>>> it will render them like you shown)..
> >> >>>> I'm going to fix that issue when i come back from Lviv.
> >> >>>>
> >> >>>
> >> >>> Super :)
> >> >>>
> >> >>> Did you also see the cairo_text_path() method? It's very interesting
> >> >>> if
> >> >>> you want to stroke the letter!
> >> >>
> >> >>
> >> >> Yes but this is more for fancy artistic text. For rendering large
> >> >> amounts
> >> >> of text (like big lists/source code) you don't want to do that,
> >> >> because it will be too slow.
> >> >>
> >> >
> >> > Thanks for the advice I will share it to my team because they want
> >> > performance and use text_path  instead of show_text.
> >> >
> >>
> >> yes, the freetype library (and i guess you using it) is highly
> >> optimized for font rendering.
> >> sure thing, cairo path rendering is fast as well, but it is not as
> >> specialized for just font rendering as freetype,
> >> therefore, i have no doubts that it will be slower.
> >>
> >>
> >
> >
> > I only use Athens to rendering the graphics framework :) And I try to not
> > use directly some AthensCairo object to benefit of futur new backend of
> > Athens :) and sincerely you really make a good job of the Athens
> interface!
> > It's very easy to use it! In one case I use AthensCairo object. I have to
> > use AthensCairoMatrix instead of AthensAffineTransform to represent the
> > transformation of a shape because I have to make an inversion of the
> matrix
> > to make a global position to the local position of the shape.
> >
> Ah, you mean this:
>
> AthensAffineTransform>>inverted
>         "answer an inverse transformation of receiver"
>         self notYetImplemented
>
> yes, someone has to implement it ;)
>
>
If the weather is bad at Brest this week-end I will try to implement it :)
(My last lesson of Matrix calculation is very old!)

But actually you can just use #inverseTransform: aPoint
>
> i.e. if:
>
> pt := m transform: somePoint.
>
> then
>
> somePoint closeTo: (m inverseTransform: pt)  ==> true.
>
> (close to instead of #= because of float rounding errors)
>
>
> --
> Best regards,
> Igor Stasenko.
>
>

Reply via email to