Merge to XFA: Use stdint.h types throughout PDFium.
[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\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(int32_t & lineCap);\r
18     FX_BOOL ParamOf_SetLineDash(FX_FLOAT & dashPhase,\r
19                                 int32_t & dashArray,\r
20                                 int32_t & dashCount);\r
21     FX_BOOL ParamOf_SetLineDash(int32_t & dashStyle);\r
22     FX_BOOL ParamOf_SetLineJoin(int32_t & lineJoin);\r
23     FX_BOOL ParamOf_SetMiterLimit(FX_FLOAT & miterLimit);\r
24     FX_BOOL ParamOf_SetLineWidth(FX_FLOAT & lineWidth, int32_t & isActOnDash);\r
25 \r
26     FX_BOOL ParamOf_SetStrokeColor(int32_t & color);\r
27     FX_BOOL ParamOf_SetFillColor(int32_t & color);\r
28 \r
29     FX_BOOL ParamOf_StrokePath(int32_t & path, int32_t & matrix);\r
30     FX_BOOL ParamOf_FillPath(int32_t & path, int32_t & fillMode, int32_t & matrix);\r
31     FX_BOOL ParamOf_ClipPath(int32_t & path, int32_t & fillMode, int32_t & matrix);\r
32 \r
33     FX_BOOL ParamOf_DrawImage(int32_t & source, int32_t & point, int32_t & matrix);\r
34     FX_BOOL ParamOf_StretchImage(int32_t & source, int32_t & rect, int32_t & matrix);\r
35 \r
36     FX_BOOL ParamOf_ConcatMatrix(int32_t & matrix);\r
37     FX_BOOL ParamOf_SetClipRect(int32_t & rect);\r
38     FX_BOOL ParamOf_SetFont(int32_t & 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(int32_t & mode);\r
43     FX_BOOL ParamOf_SetText(int32_t & point, int32_t & text, int32_t & matrix);\r
44     FX_BOOL ParamOf_Transfer(int32_t & graphics, int32_t & matrix);\r
45     FX_BOOL ParamOf_Transfer(int32_t &  graphics,\r
46                              FX_FLOAT & srcLeft,\r
47                              FX_FLOAT & srcTop,\r
48                              int32_t &  dstRect,\r
49                              int32_t &  matrix);\r
50 \r
51 private:\r
52     CXML_Element *      _element;\r
53 };\r
54 #endif\r