Difference between revisions of "User:Ericb/Vcl/inc/salobj.hxx"
Line 1: | Line 1: | ||
− | + | == 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. | This class is the an abstract data type which can not be instantiated. | ||
It is completed for each OS in following files: | 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_pInst ''(void*)'' | ||
: m_pCallback ''(SALOBJECTPROC)'' | : m_pCallback ''(SALOBJECTPROC)'' | ||
Line 41: | Line 42: | ||
: m_bEraseBackground:1 ''(BOOL)'' | : m_bEraseBackground:1 ''(BOOL)'' | ||
− | + | === Public methods === | |
− | + | ==== SalObject() ==== | |
Description: SalObject Constructor | Description: SalObject Constructor | ||
initialisation: | initialisation: | ||
Line 51: | Line 52: | ||
m_bEraseBackground TRUE | m_bEraseBackground TRUE | ||
− | + | ==== ~SalObject()==== | |
Type: virtual | Type: virtual | ||
Description: SalObject Destructor | Description: SalObject Destructor | ||
Line 61: | Line 62: | ||
− | + | ==== ResetClipRegion() ==== | |
Type: virtual void | Type: virtual void | ||
Description: Put a window region to NULL, here its applied for all the window | Description: Put a window region to NULL, here its applied for all the window | ||
Line 73: | Line 74: | ||
− | + | ==== GetClipRegionType() ==== | |
Type: virtual USHORT | Type: virtual USHORT | ||
Returned Value: | Returned Value: | ||
Line 81: | Line 82: | ||
− | + | ==== BeginSetClipRegion( ULONG nRects ) ==== | |
Type: virtual void | Type: virtual void | ||
Parameters: nRects (ULONG) | Parameters: nRects (ULONG) | ||
Line 94: | Line 95: | ||
− | + | ==== UnionClipRegion( long nX, long nY, long nWidth, long nHeight ) ==== | |
Type: virtual void | Type: virtual void | ||
Parameters: | Parameters: | ||
Line 108: | Line 109: | ||
− | + | ==== EndSetClipRegion() ===== | |
Type: virtual void | Type: virtual void | ||
Description: | Description: |
Revision as of 09:29, 16 February 2006
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