xref: /trunk/main/vcl/inc/vcl/cvtsvm.hxx (revision 5aaf853b)
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