Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / xfa / src / fxgraphics / src / fx_metafile_interpreter.h
1 // Copyright 2014 PDFium Authors. All rights reserved.\r
2 // Use of this source code is governed by a BSD-style license that can be\r
3 // found in the LICENSE file.\r
4 \r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
6 \r
7 #ifndef __H_FX_METAFILE_INTERPRETER__\r
8 #define __H_FX_METAFILE_INTERPRETER__\r
9 class CFX_MetafileInterpreter : public CFX_Object\r
10 {\r
11 public:\r
12     CFX_MetafileInterpreter();\r
13     virtual ~CFX_MetafileInterpreter();\r
14 \r
15     FX_BOOL SetCurrentElement(CXML_Element * element);\r
16 \r
17     FX_BOOL ParamOf_SetLineCap(FX_INT32 & lineCap);\r
18     FX_BOOL ParamOf_SetLineDash(FX_FLOAT & dashPhase,\r
19                                 FX_INT32 & dashArray,\r
20                                 FX_INT32 & dashCount);\r
21     FX_BOOL ParamOf_SetLineDash(FX_INT32 & dashStyle);\r
22     FX_BOOL ParamOf_SetLineJoin(FX_INT32 & lineJoin);\r
23     FX_BOOL ParamOf_SetMiterLimit(FX_FLOAT & miterLimit);\r
24     FX_BOOL ParamOf_SetLineWidth(FX_FLOAT & lineWidth, FX_INT32 & isActOnDash);\r
25 \r
26     FX_BOOL ParamOf_SetStrokeColor(FX_INT32 & color);\r
27     FX_BOOL ParamOf_SetFillColor(FX_INT32 & color);\r
28 \r
29     FX_BOOL ParamOf_StrokePath(FX_INT32 & path, FX_INT32 & matrix);\r
30     FX_BOOL ParamOf_FillPath(FX_INT32 & path, FX_INT32 & fillMode, FX_INT32 & matrix);\r
31     FX_BOOL ParamOf_ClipPath(FX_INT32 & path, FX_INT32 & fillMode, FX_INT32 & matrix);\r
32 \r
33     FX_BOOL ParamOf_DrawImage(FX_INT32 & source, FX_INT32 & point, FX_INT32 & matrix);\r
34     FX_BOOL ParamOf_StretchImage(FX_INT32 & source, FX_INT32 & rect, FX_INT32 & matrix);\r
35 \r
36     FX_BOOL ParamOf_ConcatMatrix(FX_INT32 & matrix);\r
37     FX_BOOL ParamOf_SetClipRect(FX_INT32 & rect);\r
38     FX_BOOL ParamOf_SetFont(FX_INT32 & font);\r
39     FX_BOOL ParamOf_SetFontSize(FX_FLOAT & size);\r
40     FX_BOOL ParamOf_SetFontHScale(FX_FLOAT & scale);\r
41     FX_BOOL ParamOf_SetCharSpacing(FX_FLOAT & spacing);\r
42     FX_BOOL ParamOf_SetTextDrawingMode(FX_INT32 & mode);\r
43     FX_BOOL ParamOf_SetText(FX_INT32 & point, FX_INT32 & text, FX_INT32 & matrix);\r
44     FX_BOOL ParamOf_Transfer(FX_INT32 & graphics, FX_INT32 & matrix);\r
45     FX_BOOL ParamOf_Transfer(FX_INT32 & graphics,\r
46                              FX_FLOAT & srcLeft,\r
47                              FX_FLOAT & srcTop,\r
48                              FX_INT32 & dstRect,\r
49                              FX_INT32 & matrix);\r
50 \r
51 private:\r
52     CXML_Element *      _element;\r
53 };\r
54 #endif\r