xref: /AOO41X/main/vcl/inc/os2/sallayout.h (revision fc9fd3f14a55d77b35643a64034752a178b2a5b0)
1*fc9fd3f1SPedro Giffuni /*************************************************************************
2*fc9fd3f1SPedro Giffuni  *
3*fc9fd3f1SPedro Giffuni  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*fc9fd3f1SPedro Giffuni  *
5*fc9fd3f1SPedro Giffuni  * Copyright 2000, 2010 Oracle and/or its affiliates.
6*fc9fd3f1SPedro Giffuni  *
7*fc9fd3f1SPedro Giffuni  * OpenOffice.org - a multi-platform office productivity suite
8*fc9fd3f1SPedro Giffuni  *
9*fc9fd3f1SPedro Giffuni  * This file is part of OpenOffice.org.
10*fc9fd3f1SPedro Giffuni  *
11*fc9fd3f1SPedro Giffuni  * OpenOffice.org is free software: you can redistribute it and/or modify
12*fc9fd3f1SPedro Giffuni  * it under the terms of the GNU Lesser General Public License version 3
13*fc9fd3f1SPedro Giffuni  * only, as published by the Free Software Foundation.
14*fc9fd3f1SPedro Giffuni  *
15*fc9fd3f1SPedro Giffuni  * OpenOffice.org is distributed in the hope that it will be useful,
16*fc9fd3f1SPedro Giffuni  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*fc9fd3f1SPedro Giffuni  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*fc9fd3f1SPedro Giffuni  * GNU Lesser General Public License version 3 for more details
19*fc9fd3f1SPedro Giffuni  * (a copy is included in the LICENSE file that accompanied this code).
20*fc9fd3f1SPedro Giffuni  *
21*fc9fd3f1SPedro Giffuni  * You should have received a copy of the GNU Lesser General Public License
22*fc9fd3f1SPedro Giffuni  * version 3 along with OpenOffice.org.  If not, see
23*fc9fd3f1SPedro Giffuni  * <http://www.openoffice.org/license.html>
24*fc9fd3f1SPedro Giffuni  * for a copy of the LGPLv3 License.
25*fc9fd3f1SPedro Giffuni  *
26*fc9fd3f1SPedro Giffuni  ************************************************************************/
27*fc9fd3f1SPedro Giffuni 
28*fc9fd3f1SPedro Giffuni #ifndef _SV_SALLAYOUT_H
29*fc9fd3f1SPedro Giffuni #define _SV_SALLAYOUT_H
30*fc9fd3f1SPedro Giffuni 
31*fc9fd3f1SPedro Giffuni #if 0
32*fc9fd3f1SPedro Giffuni #include <sv.h>
33*fc9fd3f1SPedro Giffuni #include <sallayout.hxx>
34*fc9fd3f1SPedro Giffuni 
35*fc9fd3f1SPedro Giffuni class ImplOs2FontEntry;
36*fc9fd3f1SPedro Giffuni 
37*fc9fd3f1SPedro Giffuni class Os2SalLayout : public GenericSalLayout
38*fc9fd3f1SPedro Giffuni {
39*fc9fd3f1SPedro Giffuni public:
40*fc9fd3f1SPedro Giffuni                     Os2SalLayout( HPS);
41*fc9fd3f1SPedro Giffuni     virtual bool    LayoutText( ImplLayoutArgs& );
42*fc9fd3f1SPedro Giffuni     virtual void    AdjustLayout( ImplLayoutArgs& );
43*fc9fd3f1SPedro Giffuni     virtual void    DrawText( SalGraphics& ) const;
44*fc9fd3f1SPedro Giffuni 
45*fc9fd3f1SPedro Giffuni protected:
46*fc9fd3f1SPedro Giffuni 	HPS					mhPS;
47*fc9fd3f1SPedro Giffuni 	FONTMETRICS			FontMetrics;
48*fc9fd3f1SPedro Giffuni     int                 mnBaseAdv;
49*fc9fd3f1SPedro Giffuni 
50*fc9fd3f1SPedro Giffuni private:
51*fc9fd3f1SPedro Giffuni     int             mnGlyphCount;
52*fc9fd3f1SPedro Giffuni     int             mnCharCount;
53*fc9fd3f1SPedro Giffuni     sal_Unicode*    mpOutGlyphs;
54*fc9fd3f1SPedro Giffuni     int*            mpGlyphAdvances;    // if possible this is shared with mpGlyphAdvances[]
55*fc9fd3f1SPedro Giffuni     int*            mpGlyphOrigAdvs;
56*fc9fd3f1SPedro Giffuni     int*            mpCharWidths;       // map rel char pos to char width
57*fc9fd3f1SPedro Giffuni     int*            mpChars2Glyphs;     // map rel char pos to abs glyph pos
58*fc9fd3f1SPedro Giffuni     int*            mpGlyphs2Chars;     // map abs glyph pos to abs char pos
59*fc9fd3f1SPedro Giffuni     bool*           mpGlyphRTLFlags;    // BiDi status for glyphs: true=>RTL
60*fc9fd3f1SPedro Giffuni     mutable long    mnWidth;
61*fc9fd3f1SPedro Giffuni     bool            mbDisableGlyphs;
62*fc9fd3f1SPedro Giffuni 
63*fc9fd3f1SPedro Giffuni     int             mnNotdefWidth;
64*fc9fd3f1SPedro Giffuni     BYTE            mnCharSet;
65*fc9fd3f1SPedro Giffuni 
66*fc9fd3f1SPedro Giffuni };
67*fc9fd3f1SPedro Giffuni #endif
68*fc9fd3f1SPedro Giffuni 
69*fc9fd3f1SPedro Giffuni #endif // _SV_SALLAYOUT_H
70