User:Damiend

From Apache OpenOffice Wiki
Jump to: navigation, search

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 :

Mac OS X Porting salframe


DrawAlphaRect in salgdi.cxx

It seems that this function have to create a filled rectangle with an alpha transparency taken.
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)

Personal tools