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

From Apache OpenOffice Wiki
Jump to: navigation, search
(Empty Structure)
Line 10: Line 10:
  
 
== 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 ==
Line 22: Line 22:
  
 
=== Implementation ===
 
=== Implementation ===
This class is the an abstract data type which can not be instantiated.  
+
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  
+
* 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)''
: m_bMouseTransparent:1 ''(BOOL)''
+
* m_bMouseTransparent:1 ''(BOOL)''
: m_bEraseBackground:1 ''(BOOL)''
+
* m_bEraseBackground:1 ''(BOOL)''
  
 
=== Public methods ===
 
=== Public methods ===
  
 
==== SalObject() ====
 
==== SalObject() ====
Description:  SalObject Constructor
+
* Description:  SalObject Constructor
initialisation:
+
* initialisation:
m_pInst NULL
+
: m_pInst ''NULL''
m_pCallback NULL  
+
: m_pCallback ''NULL''
m_bMouseTransparent FALSE  
+
: m_bMouseTransparent ''FALSE''
m_bEraseBackground TRUE  
+
: m_bEraseBackground ''TRUE''
  
 
==== ~SalObject()====
 
==== ~SalObject()====
Type: virtual
+
* '''Type:''' virtual
Description: SalObject Destructor
+
* '''Description:'''
 +
: SalObject Destructor
 
 
Remark :  
+
    '''Remark:'''
All methods below are declared as pure virtual methods (virtual [type] function(...) =0; ).
+
    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.  
+
    They are not implemented in their class but in derived classes.  
 
+
   
 
+
    2. Following definitions are not verified yet. Take this with prudence. 
  
 
==== ResetClipRegion() ====
 
==== ResetClipRegion() ====
Type: virtual void
+
* '''Type:'''
Description:   Put a window region to NULL, here its applied for all the window
+
: virtual void
Win: Reset mhWnd
+
* '''Description:''' Put a window region to NULL, here its applied for all the window
Unix: Reset a region from point (0,0) to point  
+
** Win: ''Reset mhWnd''
(win_attrib.width , win_attrib.height)
+
** Unix: ''Reset a region from point (0,0) to point (win_attrib.width , win_attrib.height)''
Gtk: Reset m_pSocket->window
+
** Gtk: ''Reset m_pSocket->window''
Aqua Not implemented yet
+
** Aqua: ''Not implemented yet''
Questions : Pourquoi .H? et non .hxx??
+
 
+
  
  
 
==== GetClipRegionType() ====
 
==== GetClipRegionType() ====
Type: virtual USHORT               
+
* '''Type:'''
            Returned Value:  
+
: virtual USHORT               
Unix: maClipRegion.GetClipRegionType()
+
* '''Returned Value:'''
Win & Aqua & Gtk: SAL_OBJECT_CLIP_INCLUDERECTS
+
: Unix: ''maClipRegion.GetClipRegionType()''
Description:  Give the type of  Clip Region.
+
: Win & Aqua & Gtk: ''SAL_OBJECT_CLIP_INCLUDERECTS''
 +
* Description: 
 +
: Give the type of  Clip Region.
  
  
 
==== BeginSetClipRegion( ULONG nRects ) ====
 
==== BeginSetClipRegion( ULONG nRects ) ====
Type: virtual void
+
* '''Type:'''
Parameters: nRects (ULONG)
+
: virtual void
Description: Create rectangles.
+
* '''Parameters:'''
Win: Create nRects  RDH_RECTANGLES
+
: nRects ''(ULONG)''
Unix: If nRects<16, it create 16 Xrectangle
+
* '''Description:''' Create rectangles.
else it create nRects Xrectangle
+
** Win: ''Create nRects  RDH_RECTANGLES''
( 16 is related to the constant SAL_CLIPRECT_COUNT)
+
** 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”
+
** Gtk: ''Destroy (if possible) and recreate a “m_pRegion”''
Aqua: Not implemented yet
+
** Aqua: ''Not implemented yet''
 
 
 
                          
 
                          
  
 
==== UnionClipRegion( long nX, long nY, long nWidth, long nHeight ) ====
 
==== UnionClipRegion( long nX, long nY, long nWidth, long nHeight ) ====
Type: virtual void
+
* '''Type:'''
Parameters:
+
: virtual void
nX (long)
+
* '''Parameters:'''
nY (long)
+
: nX ''(long)''
nWidth (long)
+
: nY ''(long)''
nHeight (long)
+
: nWidth ''(long)''
Description: Add a new rectangle.
+
: nHeight ''(long)''
Win: Add a new rectangle to mpNextClipRect which is inside the pBoundRect Rectangle and resize pBoundRect if the new rectangle is bigger than it.
+
* '''Description:''' Add a new rectangle.
Unix: Add a Xrectangle (according to given parameters) at the end of the ClipRectangleList in a member of the class SalClipRegion : “maClipRegion”
+
** Win: ''Add a new rectangle to mpNextClipRect which is inside the pBoundRect Rectangle and resize pBoundRect if the new rectangle is bigger than it.''
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.
+
** Unix: ''Add a Xrectangle (according to given parameters) at the end of the ClipRectangleList in a member of the class SalClipRegion: “maClipRegion”''
Aqua: Not implemented
+
** 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() =====
 
==== EndSetClipRegion() =====
Type: virtual void
+
* '''Type:'''
Description:
+
: virtual void
Win:
+
* '''Description:'''
Unix:
+
** Win:
Gtk: Make pixels in “m_pSocket->window” outside “m_pRegion” transparent
+
** Unix:
Aqua: Not implemented yet
+
** Gtk: ''Make pixels in “m_pSocket->window” outside “m_pRegion” transparent''
 +
** Aqua: ''Not implemented yet''

Revision as of 09:54, 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 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: 
   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()

  • 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


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