Merge to XFA: Use stdint.h types throughout PDFium.
[pdfium.git] / xfa / include / fwl / basewidget / fwl_picturebox.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 _FWL_PICTUREBOX_H\r
8 #define _FWL_PICTUREBOX_H\r
9 class CFWL_WidgetImpProperties;\r
10 class IFWL_Widget;\r
11 class IFWL_PictureBoxDP;\r
12 class IFWL_PictureBox;\r
13 #define FWL_CLASS_PictureBox                    L"FWL_PICTUREBOX"\r
14 #define FWL_CLASSHASH_PictureBox                2974721741\r
15 #define FWL_STYLEEXT_PTB_Left                           0L << 0\r
16 #define FWL_STYLEEXT_PTB_Center                         1L << 0\r
17 #define FWL_STYLEEXT_PTB_Right                          2L << 0\r
18 #define FWL_STYLEEXT_PTB_Top                            0L << 2\r
19 #define FWL_STYLEEXT_PTB_Vcenter                        1L << 2\r
20 #define FWL_STYLEEXT_PTB_Bottom                         2L << 2\r
21 #define FWL_STYLEEXT_PTB_Normal                         0L << 4\r
22 #define FWL_STYLEEXT_PTB_AutoSize                       1L << 4\r
23 #define FWL_STYLEEXT_PTB_StretchImage           2L << 4\r
24 #define FWL_STYLEEXT_PTB_StretchHImage          3L << 4\r
25 #define FWL_STYLEEXT_PTB_StretchVImage          4L << 4\r
26 #define FWL_STYLEEXT_PTB_HAlignMask                     3L << 0\r
27 #define FWL_STYLEEXT_PTB_VAlignMask                     3L << 2\r
28 #define FWL_STYLEEXT_PTB_StretchAlignMask   7L << 4\r
29 #define FWL_PART_PTB_Border                             1\r
30 #define FWL_PART_PTB_Edge                               2\r
31 #define FWL_PART_PTB_Image                              3\r
32 #define FWL_PARTSTATE_PTB_Normal                (0L << 0)\r
33 #define FWL_PARTSTATE_PTB_Disabled              (1L << 0)\r
34 class IFWL_PictureBoxDP : public IFWL_DataProvider\r
35 {\r
36 public:\r
37     virtual CFX_DIBitmap* GetPicture(IFWL_Widget *pWidget) = 0;\r
38     virtual CFX_DIBitmap* GetErrorPicture(IFWL_Widget *pWidget) = 0;\r
39     virtual CFX_DIBitmap* GetInitialPicture(IFWL_Widget *pWidget) = 0;\r
40     virtual int32_t GetOpacity(IFWL_Widget *pWidget) = 0;\r
41     virtual int32_t GetFlipMode(IFWL_Widget *pWidget) = 0;\r
42     virtual FWL_ERR  GetMatrix(IFWL_Widget *pWidget, CFX_Matrix &matrix) = 0;\r
43 };\r
44 class IFWL_PictureBox : public IFWL_Widget\r
45 {\r
46 public:\r
47     static IFWL_PictureBox* Create();\r
48 \r
49     FWL_ERR             Initialize(IFWL_Widget *pOuter = NULL);\r
50     FWL_ERR             Initialize(const CFWL_WidgetImpProperties &properties, IFWL_Widget *pOuter = NULL);\r
51 protected:\r
52     IFWL_PictureBox();\r
53     virtual ~IFWL_PictureBox();\r
54 };\r
55 #endif\r