Home | History | Annotate | Download | only in lightwidget
      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:
     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