User:Ericb/Vcl/inc/salobj.hxx

From Apache OpenOffice Wiki
< User:Ericb
Revision as of 11:31, 25 March 2010 by B michaelsen (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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