From Apache OpenOffice Wiki
< User:Ericb
Revision as of 21:58, 31 May 2006 by Ericb (Talk | contribs)

Jump to: navigation, search

Content description : classes , structures, etc ...

Several classes are pure virtual classes, and will be linked with architecture part (libvclplug_aqua on native port )

Classes defined

- ImplLayoutRuns
 ImplLayoutRuns methods: various methods around actions in progress
 Clear( ), AddPos( ), AddRun( ), IsEmpty( ), ResetPos( ), NextRun( ), GetRun( ), GetNextPos( ), PosIsInRun( )
- ImplLayoutArgs
 ImplLayoutArgs : various methods around parameters to provide "Run" methods [FIXME] : not completely sure, needs verification
 SetLayoutWidth( ), SetDXArray( ), SetOrientation( ), ResetPos( ), GetNextPos( ), GetNextRun(), NeedFallback( ) 
 ( three definitions, with two overloaded), PrepareFallback( )  [FIXME] : define fallback properly
- SalLayout      <=  all text implementations inherit from this class, from far essential
 SalLayout methods: InitFonts( ), LayoutText( ), AdjustLayout( ),FillDXArray( ) DrawBase() , DrawOffset( ), DrawText( ),GetTextBreak( ),
 GetNextGlyph( ), GetOutLine( ), GetBoundREct( ), IsSpacingGlyph( ), GetCaretPosition( ), GetDrawPosition( ), GetUnitPerPixels( ),
 GetOrientation( ), GetDrawPosition( )
- MultiSalLyout [FIXME] not completely clear
- Generic SalLayout

Corresponding implementation :  sallayout.cxx

Includes from STLport : list, vector

Other includes : tools.h , dllapi.h

Class SalGraphics

Class ImplFonData

Class B2DBPolyPolygon

Layout options (completed)

Class ImplLayoutRuns

class ImplLayoutArgs

Glyphs flags

class SalLayout

class MultiSalLayout : inherits of SalLayout

Structure GlyphItem

class GenericSalLayout : inherits of SalLayout

Helper functions (used with ImplLayoutArgs


Sources using this header in vcl

One main file for font services in, this header is mainly used in vcl :

./salatslayout.cxx:#include <sallayout.hxx>

./source/gdi/outdev.cxx:#include <sallayout.hxx>

./source/gdi/outdev2.cxx:#include <sallayout.hxx>

./source/gdi/outdev3.cxx:#include <sallayout.hxx>

./source/gdi/pdfwriter_impl.cxx:#include <sallayout.hxx>

./source/gdi/print2.cxx:#include <sallayout.hxx>

./source/gdi/salgdilayout.cxx:#include <sallayout.hxx>

./source/gdi/sallayout.cxx:#include <sallayout.hxx>

./source/glyphs/gcach_layout.cxx:#include <sallayout.hxx>

./unx/inc/pspgraphics.h:#include <sallayout.hxx>

./unx/inc/xfont.hxx:#include <sallayout.hxx>

./unx/source/window/salframe.cxx:#include <sallayout.hxx>

./win/inc/salgdi.h:#include <sallayout.hxx>

Windows specific :

./win/source/gdi/salgdi3.cxx:#include <sallayout.hxx>

./win/source/gdi/winlayout.cxx:#include <sallayout.hxx>

./win/source/window/salframe.cxx:#include <sallayout.hxx>

./source/window/window.cxx:#include <sallayout.hxx>

Several approaches are necessary :

To be implemented

-> same implementation in vcl/aqua directories

Personal tools