Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
11 : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : * contributor license agreements. See the NOTICE file distributed
13 : * with this work for additional information regarding copyright
14 : * ownership. The ASF licenses this file to you under the Apache
15 : * License, Version 2.0 (the "License"); you may not use this file
16 : * except in compliance with the License. You may obtain a copy of
17 : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : */
19 :
20 : #ifndef INCLUDED_FILTER_SOURCE_GRAPHICFILTER_ICGM_CGMTYPES_HXX
21 : #define INCLUDED_FILTER_SOURCE_GRAPHICFILTER_ICGM_CGMTYPES_HXX
22 :
23 : struct FloatPoint
24 : {
25 : double X;
26 : double Y;
27 398 : FloatPoint():X(0), Y(0){};
28 : FloatPoint( const double& rX, const double& rY ) { X = rX, Y = rY; };
29 : };
30 :
31 : struct FloatRect
32 : {
33 : double Left;
34 : double Top;
35 : double Right;
36 : double Bottom;
37 54 : FloatRect():Left(0), Top(0), Right(0), Bottom(0){};
38 : FloatRect( const FloatPoint& rTopLeft, const FloatPoint& rBottomRight )
39 : {
40 : Left = rTopLeft.X;
41 : Top = rTopLeft.Y;
42 : Right = rBottomRight.X;
43 : Bottom = rBottomRight.Y;
44 : }
45 22 : void Justify()
46 : {
47 : double fTemp;
48 22 : if ( Left > Right )
49 : {
50 4 : fTemp = Left;
51 4 : Left = Right;
52 4 : Right = fTemp;
53 : }
54 22 : if ( Top > Bottom )
55 : {
56 4 : fTemp = Top;
57 4 : Top = Bottom;
58 4 : Bottom = fTemp;
59 : }
60 22 : }
61 : };
62 :
63 : struct HatchEntry
64 : {
65 : int HatchStyle;
66 : long HatchDistance;
67 : long HatchAngle;
68 : };
69 :
70 : #define ASF_LINETYPE 0x00000001UL
71 : #define ASF_LINEWIDTH 0x00000002UL
72 : #define ASF_LINECOLOR 0x00000004UL
73 : #define ASF_MARKERTYPE 0x00000008UL
74 : #define ASF_MARKERSIZE 0x00000010UL
75 : #define ASF_MARKERCOLOR 0x00000020UL // NS
76 : #define ASF_FILLINTERIORSTYLE 0x00000040UL
77 : #define ASF_HATCHINDEX 0x00000080UL
78 : #define ASF_PATTERNINDEX 0x00000100UL
79 : #define ASF_BITMAPINDEX 0x00000200UL // NS
80 : #define ASF_FILLCOLOR 0x00000400UL
81 : #define ASF_EDGETYPE 0x00000800UL
82 : #define ASF_EDGEWIDTH 0x00001000UL
83 : #define ASF_EDGECOLOR 0x00002000UL
84 : #define ASF_TEXTFONTINDEX 0x00004000UL
85 : #define ASF_TEXTPRECISION 0x00008000UL
86 : #define ASF_CHARACTEREXPANSION 0x00010000UL
87 : #define ASF_CHARACTERSPACING 0x00020000UL
88 : #define ASF_TEXTCOLOR 0x00040000UL
89 :
90 : #define ACT4_GRADIENT_ACTION 0x00000001UL
91 :
92 : enum RealPrecision { RP_FLOAT = 0, RP_FIXED = 1 };
93 :
94 : enum ScalingMode { SM_ABSTRACT = 0, SM_METRIC = 1 };
95 :
96 : enum VDCType { VDC_INTEGER = 0, VDC_REAL = 1 };
97 : enum DeviceViewPortMode { DVPM_FRACTION = 0, DVPM_METRIC = 1, DVPM_DEVICE = 2 };
98 : enum DeviceViewPortMap { DVPM_NOT_FORCED = 0, DVPM_FORCED = 1 };
99 : enum DeviceViewPortMapH { DVPMH_LEFT = 0, DVPMH_CENTER = 1, CVPMH_RIGHT = 2 };
100 : enum DeviceViewPortMapV { DVPMV_BOTTOM = 0, DVPMV_CENTER = 1, DVPMV_TOP = 2 };
101 :
102 : enum ClipIndicator { CI_OFF = 0, CI_ON = 1 };
103 :
104 : enum ColorSelectionMode { CSM_INDEXED = 0, CSM_DIRECT = 1 };
105 : enum ColorModel { CM_RGB = 0, CM_CMYK = 1 };
106 :
107 : enum CharacterCodingA { CCA_BASIC_7 = 0, CCA_BASIC_8 = 1, CCA_EXT_7 = 2, CCA_EXT_8 = 3 };
108 : enum CharSetType { CST_CBYTE_94 = 0, CST_CBYTE_96 = 1, CST_MULT94 = 2, CST_MULT96 = 3, CST_CCOMPLETE = 4 };
109 : enum TextPrecision { TPR_STRING = 0, TPR_CHARACTER = 1, TPR_STROKE = 2, TPR_UNDEFINED = 0xffff };
110 : enum TextPath { TPR_RIGHT = 0, TPR_LEFT = 1, TPR_UP = 2, TPR_DOWN = 3 };
111 : enum TextAlignmentH { TAH_NORMAL = 0, TAH_LEFT = 1, TAH_CENTER = 2, TAH_RIGHT = 3, TAH_CONT = 4 };
112 : enum TextAlignmentV { TAV_NORMAL = 0, TAV_TOP = 1, TAV_CAP = 2, TAV_HALF = 3, TAV_BASE = 4, TAV_BOTTOM = 5, TAV_CONT = 6 };
113 : enum UnderlineMode { UM_OFF = 0, UM_LOW = 1, UM_HIGH = 2, UM_STRIKEOUT = 4, UM_OVERSCORE = 8 };
114 : enum FinalFlag { FF_NOT_FINAL = 0, FF_FINAL = 1 };
115 :
116 : enum LineType { LT_SOLID = 1, LT_DASH = 2, LT_DOT = 3, LT_DASHDOT = 4, LT_DASHDOTDOT = 5, // Standart
117 : LT_NONE = -4, LT_DOTDOTSPACE = -3, LT_LONGDASH = -2, LT_DASHDASHDOT = -1 }; // GDSF Styles
118 : enum SpecMode { SM_ABSOLUTE = 0, SM_SCALED = 1 };
119 : enum LineCapType { LCT_BUTT = 0, LCT_ROUND = 1, LCT_SQUARE = 2, LCT_TRIANGLE = 3, LCT_ARROW = 4, LCT_NONE = -1 };
120 : enum LineJoinType { LJT_MITER = 0, LJT_ROUND = 1, LJT_BEVEL = 2, LJT_NONE = -1 };
121 :
122 :
123 : enum EdgeType { ET_SOLID = 1, ET_DASH = 2, ET_DOT = 3, ET_DASHDOT = 4, ET_DASHDOTDOT = 5, // Standart
124 : ET_NONE = -4, ET_DOTDOTSPACE = -3, ET_LONGDASH = -2, ET_DASHDASHDOT = -1 }; // GDSF Styles
125 : enum EdgeVisibility { EV_OFF = 0, EV_ON = 1 };
126 :
127 : enum MarkerType { MT_POINT = 1, MT_PLUS = 2, MT_STAR = 3, MT_CIRCLE = 4, MT_CROSS = 5 };
128 :
129 : enum Transparency { T_OFF = 0, T_ON = 1 };
130 :
131 : enum FillInteriorStyle { FIS_HOLLOW = 0, FIS_SOLID = 1, FIS_PATTERN = 2, FIS_HATCH = 3, FIS_EMPTY = 4, FIS_GEOPATTERN = 5,
132 : FIS_INTERPOLATED = 6, FIS_GRADIENT = 7 };
133 :
134 :
135 :
136 :
137 : #endif
138 :
139 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|