User:Damiend
Who I am ?
- Name : Duportal Damien
- IRC Nickname : damiend
- Localisation : France, St Etienne/Lyon
Purpose :
I want to write about my discovering of OOo project, and specificely the native-macport. It'll help future newbies as me to understand how the project works, to understand and eventually continuate my work.
Current work :
I've "paused" my tries to documentate salframe (part of vcl), because it's too early for me. I need to work on "hard" code before trying to explain other developers code... So i'm working to salgdi.cxx with Ismael's help.
I'm implementing the drawAlphaRect function.
to be continued...
My contributions :
Trying to documentate SalFrame.cxx :
DrawAlphaRect in salgdi.cxx
It seems that this function have to create a filled rectangle with an alpha transparency taken.
- My first problem was to understand the Quartz terminology. Ismael help me a lot, and tell me about Apple Documentation :
Beginning with Quartz 2D Overview was very usefull to understand of works the bitmap drawing in Quartz
- For drawing, we have to think in "painter model" (like Photoshop and its layers). Everytime you draw, you add a virtual "layer" on the top of the others, so ordering the draws is very important.
- Globally, Quartz use an abstract notion named "context" which permits to draw everything, without looking for drawing destinations. You can draw a flower, on the screen or on the printer, nothing changes about the drawing in him. Then if we specifies the drawing destination, Quartz will do everything needed.
Ismael told me that Salgdi only draw the contexts. Destination of its and others things are not in this part of vcl, so we don't have to think about its.
Looking for the parameters of DrawAlphaRect permits to well-understand what to do :
bool AquaSalGraphics::drawAlphaRect( long nX, long nY, long nWidth,long nHeight, sal_uInt8 nTransparency )
We have to build a rectangle nwidth long and nHeight large from the point O (nX, nY), with a nTransparency alpha level.
...Writing in progress...
--Damien 20:22, 24 February 2007 (CET)