1 // Copyright 2014 PDFium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #ifndef _FWL_PICTUREBOX_LIGHT_H 8 #define _FWL_PICTUREBOX_LIGHT_H 9 class CFWL_Widget; 10 class CFWL_WidgetProperties; 11 class IFWL_PictureBoxDP; 12 class CFWL_PictureBox; 13 class CFWL_PictureBoxDP; 14 class CFWL_PictureBox : public CFWL_Widget { 15 public: 16 static CFWL_PictureBox* Create(); 17 FWL_ERR Initialize(const CFWL_WidgetProperties* pProperties = NULL); 18 CFX_DIBitmap* GetPicture(); 19 FWL_ERR SetPicture(CFX_DIBitmap* pBitmap); 20 FX_FLOAT GetRotation(); 21 FWL_ERR SetRotation(FX_FLOAT fRotation); 22 int32_t GetFlipMode(); 23 FWL_ERR SetFlipMode(int32_t iFlipMode); 24 int32_t GetOpacity(); 25 FWL_ERR SetOpacity(int32_t iOpacity); 26 FWL_ERR GetScale(FX_FLOAT& fScaleX, FX_FLOAT& fScaleY); 27 FWL_ERR SetScale(FX_FLOAT fScaleX, FX_FLOAT fScaleY); 28 FWL_ERR GetOffset(FX_FLOAT& fx, FX_FLOAT& fy); 29 FWL_ERR SetOffset(FX_FLOAT fx, FX_FLOAT fy); 30 CFWL_PictureBox(); 31 virtual ~CFWL_PictureBox(); 32 33 protected: 34 class CFWL_PictureBoxDP : public IFWL_PictureBoxDP { 35 public: CFWL_PictureBoxDP()36 CFWL_PictureBoxDP() { 37 m_fRotation = 0.0f; 38 m_fScaleX = 1.0f; 39 m_fScaleY = 1.0f; 40 m_fOffSetX = 0.0f; 41 m_fOffSetY = 0.0f; 42 m_pBitmap = NULL; 43 }; 44 virtual FWL_ERR GetCaption(IFWL_Widget* pWidget, CFX_WideString& wsCaption); 45 virtual CFX_DIBitmap* GetPicture(IFWL_Widget* pWidget); 46 virtual CFX_DIBitmap* GetErrorPicture(IFWL_Widget* pWidget); 47 virtual CFX_DIBitmap* GetInitialPicture(IFWL_Widget* pWidget); 48 virtual int32_t GetOpacity(IFWL_Widget* pWidget); 49 virtual int32_t GetFlipMode(IFWL_Widget* pWidget); 50 virtual FWL_ERR GetMatrix(IFWL_Widget* pWidget, CFX_Matrix& matrix); 51 CFX_DIBitmap* m_pBitmap; 52 int32_t m_iOpacity; 53 int32_t m_iFlipMode; 54 FX_FLOAT m_fRotation; 55 FX_FLOAT m_fScaleX; 56 FX_FLOAT m_fScaleY; 57 FX_FLOAT m_fOffSetX; 58 FX_FLOAT m_fOffSetY; 59 CFX_WideString m_wsData; 60 }; 61 CFWL_PictureBoxDP m_PictureBoxDP; 62 }; 63 #endif 64