xref: /AOO41X/main/vcl/inc/os2/sallayout.h (revision 24f6443dc28f6479acd9115159f263e09548a0af)
1*24f6443dSAndrew Rist /**************************************************************
2fc9fd3f1SPedro Giffuni  *
3*24f6443dSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*24f6443dSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*24f6443dSAndrew Rist  * distributed with this work for additional information
6*24f6443dSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*24f6443dSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*24f6443dSAndrew Rist  * "License"); you may not use this file except in compliance
9*24f6443dSAndrew Rist  * with the License.  You may obtain a copy of the License at
10fc9fd3f1SPedro Giffuni  *
11*24f6443dSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12fc9fd3f1SPedro Giffuni  *
13*24f6443dSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*24f6443dSAndrew Rist  * software distributed under the License is distributed on an
15*24f6443dSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*24f6443dSAndrew Rist  * KIND, either express or implied.  See the License for the
17*24f6443dSAndrew Rist  * specific language governing permissions and limitations
18*24f6443dSAndrew Rist  * under the License.
19fc9fd3f1SPedro Giffuni  *
20*24f6443dSAndrew Rist  *************************************************************/
21*24f6443dSAndrew Rist 
22*24f6443dSAndrew Rist 
23fc9fd3f1SPedro Giffuni 
24fc9fd3f1SPedro Giffuni #ifndef _SV_SALLAYOUT_H
25fc9fd3f1SPedro Giffuni #define _SV_SALLAYOUT_H
26fc9fd3f1SPedro Giffuni 
27fc9fd3f1SPedro Giffuni #if 0
28fc9fd3f1SPedro Giffuni #include <sv.h>
29fc9fd3f1SPedro Giffuni #include <sallayout.hxx>
30fc9fd3f1SPedro Giffuni 
31fc9fd3f1SPedro Giffuni class ImplOs2FontEntry;
32fc9fd3f1SPedro Giffuni 
33fc9fd3f1SPedro Giffuni class Os2SalLayout : public GenericSalLayout
34fc9fd3f1SPedro Giffuni {
35fc9fd3f1SPedro Giffuni public:
36fc9fd3f1SPedro Giffuni                     Os2SalLayout( HPS);
37fc9fd3f1SPedro Giffuni     virtual bool    LayoutText( ImplLayoutArgs& );
38fc9fd3f1SPedro Giffuni     virtual void    AdjustLayout( ImplLayoutArgs& );
39fc9fd3f1SPedro Giffuni     virtual void    DrawText( SalGraphics& ) const;
40fc9fd3f1SPedro Giffuni 
41fc9fd3f1SPedro Giffuni protected:
42fc9fd3f1SPedro Giffuni 	HPS					mhPS;
43fc9fd3f1SPedro Giffuni 	FONTMETRICS			FontMetrics;
44fc9fd3f1SPedro Giffuni     int                 mnBaseAdv;
45fc9fd3f1SPedro Giffuni 
46fc9fd3f1SPedro Giffuni private:
47fc9fd3f1SPedro Giffuni     int             mnGlyphCount;
48fc9fd3f1SPedro Giffuni     int             mnCharCount;
49fc9fd3f1SPedro Giffuni     sal_Unicode*    mpOutGlyphs;
50fc9fd3f1SPedro Giffuni     int*            mpGlyphAdvances;    // if possible this is shared with mpGlyphAdvances[]
51fc9fd3f1SPedro Giffuni     int*            mpGlyphOrigAdvs;
52fc9fd3f1SPedro Giffuni     int*            mpCharWidths;       // map rel char pos to char width
53fc9fd3f1SPedro Giffuni     int*            mpChars2Glyphs;     // map rel char pos to abs glyph pos
54fc9fd3f1SPedro Giffuni     int*            mpGlyphs2Chars;     // map abs glyph pos to abs char pos
55fc9fd3f1SPedro Giffuni     bool*           mpGlyphRTLFlags;    // BiDi status for glyphs: true=>RTL
56fc9fd3f1SPedro Giffuni     mutable long    mnWidth;
57fc9fd3f1SPedro Giffuni     bool            mbDisableGlyphs;
58fc9fd3f1SPedro Giffuni 
59fc9fd3f1SPedro Giffuni     int             mnNotdefWidth;
60fc9fd3f1SPedro Giffuni     BYTE            mnCharSet;
61fc9fd3f1SPedro Giffuni 
62fc9fd3f1SPedro Giffuni };
63fc9fd3f1SPedro Giffuni #endif
64fc9fd3f1SPedro Giffuni 
65fc9fd3f1SPedro Giffuni #endif // _SV_SALLAYOUT_H
66