[Mono-devel-list] Re: [Mono-patches] libgdiplus/src ChangeLog,1.8,1.9 font.c,1.4,1.5 gdip.h,1.8,1.9 graphics.c,1.9,1.10

Jordi Mas jordi at ximian.com
Fri Feb 20 12:34:47 EST 2004


En/na Ravindra ha escrit:
> On Fri, 2004-02-20 at 20:47, Jordi Mas  wrote:
> 
>>Index: gdip.h
>>===================================================================
>>RCS file: /cvs/public/libgdiplus/src/gdip.h,v
>>+
>>+struct cairo_matrix {
>>+    double m[3][2];
>>+};
>>+
> 
> 
> Jordi, I was wondering about the need for this struct definition here
> because cairo provides following functions,
> 
> cairo_status_t
> cairo_matrix_set_affine (cairo_matrix_t *cr,
>                          double a, double b,
>                          double c, double d,
>                          double tx, double ty);

Ravindra,

I'm aware of these functions. They are fine is you need to work in the state 
object, but I actually need to work with the matrix itself.

The function cairo_scale_font modifies the font matrix instead of the status 
object. If you use a font more than once at different sizes the font's matrix 
is not saved and the results are not appropriated.

Carl is aware of this bug, until is fixed I'm saving the matrix myself to be 
able to reuse the same font more than once and to avoid to create the font 
everytime.

Carl is also evaluating the inclusion of other stuff that will allow us to use 
the public API and get rid of some of the code that I wrote a few days back 
but that is currently necessary because Cairo's public API does not provide 
that functionaly yet.

It's my desire to stick strictly to the public API, when it is possible.

Jordi,




More information about the Mono-devel-list mailing list