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

From Apache OpenOffice Wiki
Jump to: navigation, search
 
 
(17 intermediate revisions by one other user not shown)
Line 1: Line 1:
=== Includes ===
+
Vcl doc Home page: [[User:Ericb]]
  
: sv.h
 
: saltype.hxx
 
: salgtype.hxx
 
: salwtype.hxx
 
  
=== Constants defined ===
+
== Includes ==
: SAL_OBJECT_CLIP_INCLUDERECTS  ''((USHORT)0x0001)''
+
: SAL_OBJECT_CLIP_EXCLUDERECTS  ''((USHORT)0x0002)''
+
: SAL_OBJECT_CLIP_ABSOLUTE      ''((USHORT)0x0004)''
+
  
=== Empty Structure ===
+
* sv.h
: SystemEnvData
+
  
=== Class VCL_DLLPUBLIC SalObject ===
+
* saltype.hxx
  
This class is the an abstract data type which can not be instantiated.
+
* salgtype.hxx
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
+
  
 +
* salwtype.hxx
  
==== Variables ====
+
== Constants defined ==
: m_pInst ''(void*)''
+
* SAL_OBJECT_CLIP_INCLUDERECTS  ''((USHORT)0x0001)''
: m_pCallback ''(SALOBJECTPROC)''
+
: m_bMouseTransparent:1 ''(BOOL)''
+
: m_bEraseBackground:1 ''(BOOL)''
+
  
==== Public methods ====
+
* SAL_OBJECT_CLIP_EXCLUDERECTS  ''((USHORT)0x0002)''
  
    SalObject()
+
* SAL_OBJECT_CLIP_ABSOLUTE      ''((USHORT)0x0004)''
Description:  SalObject Constructor
+
initialisation:
+
m_pInst NULL
+
m_pCallback NULL
+
m_bMouseTransparent FALSE
+
m_bEraseBackground TRUE
+
  
    ~SalObject() 
+
== Structures ==
Type: virtual
+
* SystemEnvData
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.
+
  
 +
== 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
  
    ResetClipRegion()
+
===== Aqua =====
Type: virtual void
+
* /vcl/aqua/source/window/salobj.cxx
Description:  Put a window region to NULL, here its applied for all the window
+
* /vcl/aqua/inc/salobj.h
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??
+
  
  
 +
=== Variables ===
 +
* m_pInst ''(void*)''
 +
* m_pCallback ''(SALOBJECTPROC)''
 +
* m_bMouseTransparent:1 ''(BOOL)''
 +
* m_bEraseBackground:1 ''(BOOL)''
  
    GetClipRegionType()
+
=== Public methods ===
Type: virtual USHORT             
+
            Returned Value:
+
Unix: maClipRegion.GetClipRegionType()
+
Win & Aqua & Gtk: SAL_OBJECT_CLIP_INCLUDERECTS
+
Description:  Give the type of  Clip Region.
+
  
 +
==== SalObject() ====
 +
* '''Description:'''
 +
: SalObject Constructor
 +
* '''Initialisation:'''
 +
: m_pInst ''NULL''
 +
: m_pCallback ''NULL''
 +
: m_bMouseTransparent ''FALSE''
 +
: m_bEraseBackground ''TRUE''
 +
 +
==== ~SalObject()====
 +
* '''Description:'''
 +
: SalObject Destructor
 +
* '''Type:'''
 +
: virtual
  
        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
 
 
 
                       
+
    '''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 )
+
==== UnionClipRegion( long nX, long nY, long nWidth, long nHeight ) ====
Type: virtual void
+
* '''Description:'''
Parameters:
+
: Add a new rectangle.
nX (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.''
nY (long)
+
:: '''Unix:''' ''Add a Xrectangle (according to given parameters) at the end of the ClipRectangleList in a member of the class SalClipRegion: “maClipRegion”''
nWidth (long)
+
:: '''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.''
nHeight (long)
+
:: '''Aqua:''' ''Not implemented''
Description: Add a new rectangle.
+
* '''Type:'''
Win: Add a new rectangle to mpNextClipRect which is inside the pBoundRect Rectangle and resize pBoundRect if the new rectangle is bigger than it.
+
: virtual void
Unix: Add a Xrectangle (according to given parameters) at the end of the ClipRectangleList in a member of the class SalClipRegion : “maClipRegion”
+
* '''Parameters:'''
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.
+
: nX ''(long)''
Aqua: Not implemented
+
: nY ''(long)''
 +
: nWidth ''(long)''
 +
: nHeight ''(long)''
  
  
        EndSetClipRegion()
+
==== EndSetClipRegion() ====
Type: virtual void
+
* '''Description:'''
Description:
+
:: '''Win:'''
Win:
+
:: '''Unix:'''
Unix:
+
:: '''Gtk:''' ''Make pixels in “m_pSocket->window” outside “m_pRegion” transparent''
Gtk: Make pixels in “m_pSocket->window” outside “m_pRegion” transparent
+
:: '''Aqua:''' ''Not implemented yet''
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
Personal tools