Difference between revisions of "User:Ericb/Vcl/inc/salobj.hxx"
From Apache OpenOffice Wiki
B michaelsen (talk | contribs) m (moved Vcl/inc/salobj.hxx to User:Ericb/Vcl/inc/salobj.hxx) |
|||
(14 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
+ | Vcl doc Home page: [[User:Ericb]] | ||
+ | |||
+ | |||
== Includes == | == Includes == | ||
Line 10: | Line 13: | ||
== Constants defined == | == Constants defined == | ||
− | SAL_OBJECT_CLIP_INCLUDERECTS ''((USHORT)0x0001)'' | + | * SAL_OBJECT_CLIP_INCLUDERECTS ''((USHORT)0x0001)'' |
− | SAL_OBJECT_CLIP_EXCLUDERECTS ''((USHORT)0x0002)'' | + | * SAL_OBJECT_CLIP_EXCLUDERECTS ''((USHORT)0x0002)'' |
− | SAL_OBJECT_CLIP_ABSOLUTE ''((USHORT)0x0004)'' | + | * SAL_OBJECT_CLIP_ABSOLUTE ''((USHORT)0x0004)'' |
− | == | + | == Structures == |
− | SystemEnvData | + | * SystemEnvData |
== Class VCL_DLLPUBLIC SalObject == | == Class VCL_DLLPUBLIC SalObject == | ||
=== Implementation === | === Implementation === | ||
− | This class is | + | This class is 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 ===== | ===== Windows ===== | ||
− | + | * Inherited class: WinSalObject | |
− | + | * /vcl/win/inc/salobj.h | |
− | + | * /vcl/win/source/window/salobj.cxx | |
===== X11 ===== | ===== X11 ===== | ||
− | + | * Inherited class: X11SalObject | |
− | + | * /vcl/unx/inc/salobj.h | |
− | + | * /vcl/unx/source/window/salobj.cxx | |
===== Gtk ===== | ===== Gtk ===== | ||
− | + | * Inherited class: GtkSalObject | |
− | + | * /vcl/unx/gtk/window/gtkobject.cxx | |
− | + | * /vcl/unx/inc/plugins/gtk/gtkobject.hxx | |
+ | |||
===== Aqua ===== | ===== Aqua ===== | ||
− | + | * /vcl/aqua/source/window/salobj.cxx | |
− | + | * /vcl/aqua/inc/salobj.h | |
=== Variables === | === Variables === | ||
− | + | * m_pInst ''(void*)'' | |
− | + | * m_pCallback ''(SALOBJECTPROC)'' | |
− | + | * m_bMouseTransparent:1 ''(BOOL)'' | |
− | + | * m_bEraseBackground:1 ''(BOOL)'' | |
=== Public methods === | === Public methods === | ||
==== SalObject() ==== | ==== SalObject() ==== | ||
− | + | * '''Description:''' | |
− | + | : SalObject Constructor | |
− | m_pInst | + | * '''Initialisation:''' |
− | m_pCallback NULL | + | : m_pInst ''NULL'' |
− | m_bMouseTransparent FALSE | + | : m_pCallback ''NULL'' |
− | m_bEraseBackground TRUE | + | : m_bMouseTransparent ''FALSE'' |
+ | : m_bEraseBackground ''TRUE'' | ||
==== ~SalObject()==== | ==== ~SalObject()==== | ||
− | Type: | + | * '''Description:''' |
− | + | : SalObject Destructor | |
+ | * '''Type:''' | ||
+ | : virtual | ||
+ | |||
− | Remark : | + | '''Remark:''' |
− | + | 1. All methods below are declared as pure virtual methods (virtual [type] function(...) =0; ). | |
− | + | They are not implemented in their class but in derived classes. | |
− | + | ||
+ | 2. Following definitions are not verified yet. Take this with prudence. | ||
==== ResetClipRegion() ==== | ==== ResetClipRegion() ==== | ||
− | + | * '''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'' | |
− | + | * '''Type:''' | |
− | + | : virtual void | |
− | |||
− | |||
==== GetClipRegionType() ==== | ==== GetClipRegionType() ==== | ||
− | + | * '''Description:''' | |
− | + | : Give the type of a clip region. | |
− | + | * '''Type:''' | |
− | + | : virtual USHORT | |
− | + | * '''Returned Value:''' | |
− | + | :: '''Unix:''' ''maClipRegion.GetClipRegionType()'' | |
+ | ** '''Win & Aqua & Gtk:''' ''SAL_OBJECT_CLIP_INCLUDERECTS'' | ||
==== BeginSetClipRegion( ULONG nRects ) ==== | ==== BeginSetClipRegion( ULONG nRects ) ==== | ||
− | + | * '''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'' | |
− | + | * '''Type:''' | |
− | + | : virtual void | |
− | + | * '''Parameters:''' | |
− | + | : nRects ''(ULONG)'' | |
− | + | ||
==== UnionClipRegion( long nX, long nY, long nWidth, long nHeight ) ==== | ==== UnionClipRegion( long nX, long nY, long nWidth, long nHeight ) ==== | ||
− | + | * '''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'' | |
− | + | * '''Type:''' | |
− | + | : virtual void | |
− | + | * '''Parameters:''' | |
− | + | : nX ''(long)'' | |
− | + | : nY ''(long)'' | |
+ | : nWidth ''(long)'' | ||
+ | : nHeight ''(long)'' | ||
− | ==== EndSetClipRegion() | + | ==== EndSetClipRegion() ==== |
− | + | * '''Description:''' | |
− | + | :: '''Win:''' | |
− | + | :: '''Unix:''' | |
− | + | :: '''Gtk:''' ''Make pixels in “m_pSocket->window” outside “m_pRegion” transparent'' | |
− | + | :: '''Aqua:''' ''Not implemented yet'' | |
− | + | * '''Type:''' | |
+ | : virtual void |
Latest revision as of 11:31, 25 March 2010
Vcl doc Home page: User:Ericb
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)
Structures
- SystemEnvData
Class VCL_DLLPUBLIC SalObject
Implementation
This class is 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/window/gtkobject.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()
- Description:
- SalObject Destructor
- Type:
- virtual
Remark: 1. All methods below are declared as pure virtual methods (virtual [type] function(...) =0; ). They are not implemented in their class but in derived classes. 2. Following definitions are not verified yet. Take this with prudence.
ResetClipRegion()
- 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
- Type:
- virtual void
GetClipRegionType()
- Description:
- Give the type of a clip region.
- Type:
- virtual USHORT
- Returned Value:
- Unix: maClipRegion.GetClipRegionType()
- Win & Aqua & Gtk: SAL_OBJECT_CLIP_INCLUDERECTS
BeginSetClipRegion( ULONG nRects )
- 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
* Type:
- virtual void
- Parameters:
- nRects (ULONG)
UnionClipRegion( long nX, long nY, long nWidth, long nHeight )
- 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
- Type:
- virtual void
- Parameters:
- nX (long)
- nY (long)
- nWidth (long)
- nHeight (long)
EndSetClipRegion()
- Description:
- Win:
- Unix:
- Gtk: Make pixels in “m_pSocket->window” outside “m_pRegion” transparent
- Aqua: Not implemented yet
- Type:
- virtual void