User:Ericb/Vcl/inc/salobj.hxx
Contents
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