Difference between revisions of "User:Ericb/Vcl/inc/salobj.hxx"

From Apache OpenOffice Wiki
Jump to: navigation, search
 
Line 1: Line 1:
=== Includes ===
+
== Includes ==
  
: sv.h
+
sv.h
: saltype.hxx
+
saltype.hxx
: salgtype.hxx
+
salgtype.hxx
: salwtype.hxx
+
salwtype.hxx
  
=== 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)''
  
=== Empty Structure ===
+
== Empty Structure ==
: SystemEnvData
+
SystemEnvData
  
=== Class VCL_DLLPUBLIC SalObject ===
+
== 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
+
===== Windows =====
    Inherited class: WinSalObject  
+
: Inherited class: WinSalObject  
    /vcl/win/inc/salobj.h
+
: /vcl/win/inc/salobj.h
    /vcl/win/source/window/salobj.cxx
+
: /vcl/win/source/window/salobj.cxx
: X11
+
===== X11 =====
    Inherited class: X11SalObject   
+
: Inherited class: X11SalObject   
    /vcl/unx/inc/salobj.h
+
: /vcl/unx/inc/salobj.h
    /vcl/unx/source/window/salobj.cxx
+
: /vcl/unx/source/window/salobj.cxx
: Gtk
+
===== Gtk =====
    Inherited class: GtkSalObject
+
: Inherited class: GtkSalObject
    /vcl/unx/gtk/windowgtkobject.cxx
+
: /vcl/unx/gtk/windowgtkobject.cxx
    /vcl/unx/inc/plugins/gtk/gtkobject.hxx
+
: /vcl/unx/inc/plugins/gtk/gtkobject.hxx
: Aqua
+
===== Aqua =====
    /vcl/aqua/source/window/salobj.cxx
+
: /vcl/aqua/source/window/salobj.cxx
    /vcl/aqua/inc/salobj.h
+
: /vcl/aqua/inc/salobj.h
  
  
==== Variables ====
+
=== 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 ====
+
=== Public methods ===
  
    SalObject()
+
==== SalObject() ====
 
Description:  SalObject Constructor
 
Description:  SalObject Constructor
 
initialisation:
 
initialisation:
Line 51: Line 52:
 
m_bEraseBackground TRUE  
 
m_bEraseBackground TRUE  
  
    ~SalObject()
+
==== ~SalObject()====
 
Type: virtual
 
Type: virtual
 
Description: SalObject Destructor
 
Description: SalObject Destructor
Line 61: Line 62:
  
  
    ResetClipRegion()
+
==== 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()
+
==== GetClipRegionType() ====
 
Type: virtual USHORT               
 
Type: virtual USHORT               
 
             Returned Value:  
 
             Returned Value:  
Line 81: Line 82:
  
  
        BeginSetClipRegion( ULONG nRects )
+
==== 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 )
+
==== UnionClipRegion( long nX, long nY, long nWidth, long nHeight ) ====
 
Type: virtual void
 
Type: virtual void
 
Parameters:
 
Parameters:
Line 108: Line 109:
  
  
        EndSetClipRegion()
+
==== EndSetClipRegion() =====
 
Type: virtual void
 
Type: virtual void
 
Description:
 
Description:

Revision as of 09:29, 16 February 2006

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