xref: /AOO41X/main/vcl/inc/vcl/cvtsvm.hxx (revision 5aaf853b3ba91aa8a4f8154519fb0bf086e1a428)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef _SV_CVTMTF_HXX
25 #define _SV_CVTMTF_HXX
26 
27 #include <vcl/dllapi.h>
28 #include <vcl/metaact.hxx>
29 #include <vcl/gdimtf.hxx>
30 
31 // -----------
32 // - Defines -
33 // -----------
34 
35 #define CONVERT_TO_SVM1                 0x00000001UL
36 #define CONVERT_FROM_SVM1               0x00000002UL
37 
38 #define GDI_PIXEL_ACTION                1
39 #define GDI_POINT_ACTION                2
40 #define GDI_LINE_ACTION                 3
41 #define GDI_RECT_ACTION                 4
42 #define GDI_ELLIPSE_ACTION              5
43 #define GDI_ARC_ACTION                  6
44 #define GDI_PIE_ACTION                  7
45 #define GDI_INVERTRECT_ACTION           8
46 #define GDI_HIGHLIGHTRECT_ACTION        9
47 #define GDI_POLYLINE_ACTION             10
48 #define GDI_POLYGON_ACTION              11
49 #define GDI_POLYPOLYGON_ACTION          12
50 #define GDI_TEXT_ACTION                 13
51 #define GDI_TEXTARRAY_ACTION            14
52 #define GDI_STRETCHTEXT_ACTION          15
53 #define GDI_ICON_ACTION                 16
54 #define GDI_BITMAP_ACTION               17
55 #define GDI_BITMAPSCALE_ACTION          18
56 #define GDI_PEN_ACTION                  19
57 #define GDI_FONT_ACTION                 20
58 #define GDI_BACKBRUSH_ACTION            21
59 #define GDI_FILLBRUSH_ACTION            22
60 #define GDI_MAPMODE_ACTION              23
61 #define GDI_CLIPREGION_ACTION           24
62 #define GDI_RASTEROP_ACTION             25
63 #define GDI_PUSH_ACTION                 26
64 #define GDI_POP_ACTION                  27
65 #define GDI_MOVECLIPREGION_ACTION       28
66 #define GDI_ISECTCLIPREGION_ACTION      29
67 #define GDI_MTF_ACTION                  30
68 #define GDI_BITMAPSCALEPART_ACTION      32
69 #define GDI_GRADIENT_ACTION             33
70 
71 #define GDI_TRANSPARENT_COMMENT         1024
72 #define GDI_HATCH_COMMENT               1025
73 #define GDI_REFPOINT_COMMENT            1026
74 #define GDI_TEXTLINECOLOR_COMMENT       1027
75 #define GDI_TEXTLINE_COMMENT            1028
76 #define GDI_FLOATTRANSPARENT_COMMENT    1029
77 #define GDI_GRADIENTEX_COMMENT          1030
78 #define GDI_COMMENT_COMMENT             1031
79 #define GDI_UNICODE_COMMENT             1032
80 
81 #define GDI_LINEJOIN_ACTION             1033
82 #define GDI_EXTENDEDPOLYGON_ACTION      1034
83 #define GDI_LINEDASHDOT_ACTION          1035
84 
85 // Added LineCap support
86 #define GDI_LINECAP_ACTION              1036
87 
88 // ----------------
89 // - SVMConverter -
90 // ----------------
91 
92 class Stack;
93 
94 class VCL_PLUGIN_PUBLIC SVMConverter
95 {
96 private:
97 //#if 0 // _SOLAR__PRIVATE
98     SAL_DLLPRIVATE void             ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf );
99     SAL_DLLPRIVATE void             ImplConvertToSVM1( SvStream& rOStm, GDIMetaFile& rMtf );
100     SAL_DLLPRIVATE sal_uLong            ImplWriteActions( SvStream& rOStm, GDIMetaFile& rMtf,
101                                           VirtualDevice& rSaveVDev, sal_Bool& rRop_0_1,
102                                           Color& rLineCol, Stack& rLineColStack,
103                                           rtl_TextEncoding& rActualCharSet );
104 //#endif
105 
106 public:
107                         SVMConverter( SvStream& rIStm, GDIMetaFile& rMtf, sal_uLong nConvertMode  );
~SVMConverter()108                         ~SVMConverter() {}
109 
110 private:
111                         // Not implemented
112                         SVMConverter( const SVMConverter& );
113     SVMConverter&       operator=( const SVMConverter& );
114 };
115 
116 #endif // _SV_CVTMTF_HXX
117