User:Ericb/Vcl/inc/salobj.hxx

From Apache OpenOffice Wiki
< User:Ericb
Revision as of 09:30, 16 February 2006 by Ybarb (Talk | contribs)

Jump to: navigation, search

Includes

  • sv.h
  • saltype.hxx
  • salgtype.hxx
  • salwtype.hxx

Constants defined

SAL_OBJECT_CLIP_INCLUDERECTS ((USHORT)0x0001)

SAL_OBJECT_CLIP_EXCLUDERECTS ((USHORT)0x0002)

SAL_OBJECT_CLIP_ABSOLUTE ((USHORT)0x0004)

Empty Structure

SystemEnvData

Class VCL_DLLPUBLIC SalObject

Implementation

This class is the an abstract data type which can not be instantiated. It is completed for each OS in following files:

Windows
Inherited class: WinSalObject
/vcl/win/inc/salobj.h
/vcl/win/source/window/salobj.cxx
X11
Inherited class: X11SalObject
/vcl/unx/inc/salobj.h
/vcl/unx/source/window/salobj.cxx
Gtk
Inherited class: GtkSalObject
/vcl/unx/gtk/windowgtkobject.cxx
/vcl/unx/inc/plugins/gtk/gtkobject.hxx
Aqua
/vcl/aqua/source/window/salobj.cxx
/vcl/aqua/inc/salobj.h


Variables

m_pInst (void*)
m_pCallback (SALOBJECTPROC)
m_bMouseTransparent:1 (BOOL)
m_bEraseBackground:1 (BOOL)

Public methods

SalObject()

Description: SalObject Constructor initialisation: m_pInst NULL m_pCallback NULL m_bMouseTransparent FALSE m_bEraseBackground TRUE

~SalObject()

Type: virtual Description: SalObject Destructor

Remark : All methods below are declared as pure virtual methods (virtual [type] function(...) =0; ). They are not implemented in their class but in derived classes.


ResetClipRegion()

Type: virtual void Description: Put a window region to NULL, here its applied for all the window Win: Reset mhWnd Unix: Reset a region from point (0,0) to point (win_attrib.width , win_attrib.height) Gtk: Reset m_pSocket->window Aqua Not implemented yet Questions : Pourquoi .H? et non .hxx??


GetClipRegionType()

Type: virtual USHORT

           Returned Value: 

Unix: maClipRegion.GetClipRegionType() Win & Aqua & Gtk: SAL_OBJECT_CLIP_INCLUDERECTS Description: Give the type of Clip Region.


BeginSetClipRegion( ULONG nRects )

Type: virtual void Parameters: nRects (ULONG) Description: Create rectangles. Win: Create nRects RDH_RECTANGLES Unix: If nRects<16, it create 16 Xrectangle else it create nRects Xrectangle ( 16 is related to the constant SAL_CLIPRECT_COUNT) Gtk: Destroy (if possible) and recreate a “m_pRegion” Aqua: Not implemented yet


UnionClipRegion( long nX, long nY, long nWidth, long nHeight )

Type: virtual void Parameters: nX (long) nY (long) nWidth (long) nHeight (long) Description: Add a new rectangle. Win: Add a new rectangle to mpNextClipRect which is inside the pBoundRect Rectangle and resize pBoundRect if the new rectangle is bigger than it. Unix: Add a Xrectangle (according to given parameters) at the end of the ClipRectangleList in a member of the class SalClipRegion : “maClipRegion” Gtk: Set the aera of m_pRegion to the union of m_pRegion and the rectangle (given in parameters). The resulting aera is the set of pixels contained in either m_pRegion or the rectangle. Aqua: Not implemented


EndSetClipRegion() =

Type: virtual void Description: Win: Unix: Gtk: Make pixels in “m_pSocket->window” outside “m_pRegion” transparent Aqua: Not implemented yet

Personal tools