81 lines
3.2 KiB
C++
81 lines
3.2 KiB
C++
// Copyright 2014 PDFium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
|
|
|
|
#ifndef _FWL_CHECKBOXTP_H
|
|
#define _FWL_CHECKBOXTP_H
|
|
class CFWL_WidgetTP;
|
|
class CFWL_CheckBoxTP;
|
|
class CFWL_CheckBoxTP : public CFWL_WidgetTP {
|
|
public:
|
|
CFWL_CheckBoxTP();
|
|
virtual ~CFWL_CheckBoxTP();
|
|
virtual FX_BOOL IsValidWidget(IFWL_Widget* pWidget);
|
|
virtual FX_DWORD SetThemeID(IFWL_Widget* pWidget,
|
|
FX_DWORD dwThemeID,
|
|
FX_BOOL bChildren = TRUE);
|
|
virtual FX_BOOL DrawText(CFWL_ThemeText* pParams);
|
|
virtual FX_BOOL DrawBackground(CFWL_ThemeBackground* pParams);
|
|
virtual FWL_ERR Initialize();
|
|
virtual FWL_ERR Finalize();
|
|
|
|
protected:
|
|
void DrawBoxBk(IFWL_Widget* pWidget,
|
|
CFX_Graphics* pGraphics,
|
|
const CFX_RectF* pRect,
|
|
FX_DWORD dwStates,
|
|
CFX_Matrix* pMatrix = NULL);
|
|
void DrawSign(IFWL_Widget* pWidget,
|
|
CFX_Graphics* pGraphics,
|
|
const CFX_RectF* pRtBox,
|
|
FX_DWORD dwStates,
|
|
CFX_Matrix* pMatrix = NULL);
|
|
void DrawSignNeutral(CFX_Graphics* pGraphics,
|
|
const CFX_RectF* pRtSign,
|
|
CFX_Matrix* pMatrix = NULL);
|
|
void DrawSignCheck(CFX_Graphics* pGraphics,
|
|
const CFX_RectF* pRtSign,
|
|
FX_ARGB argbFill,
|
|
CFX_Matrix* pMatrix = NULL);
|
|
void DrawSignCircle(CFX_Graphics* pGraphics,
|
|
const CFX_RectF* pRtSign,
|
|
FX_ARGB argbFill,
|
|
CFX_Matrix* pMatrix = NULL);
|
|
void DrawSignCross(CFX_Graphics* pGraphics,
|
|
const CFX_RectF* pRtSign,
|
|
FX_ARGB argbFill,
|
|
CFX_Matrix* pMatrix = NULL);
|
|
void DrawSignDiamond(CFX_Graphics* pGraphics,
|
|
const CFX_RectF* pRtSign,
|
|
FX_ARGB argbFill,
|
|
CFX_Matrix* pMatrix = NULL);
|
|
void DrawSignSquare(CFX_Graphics* pGraphics,
|
|
const CFX_RectF* pRtSign,
|
|
FX_ARGB argbFill,
|
|
CFX_Matrix* pMatrix = NULL);
|
|
void DrawSignStar(CFX_Graphics* pGraphics,
|
|
const CFX_RectF* pRtSign,
|
|
FX_ARGB argbFill,
|
|
CFX_Matrix* pMatrix = NULL);
|
|
void DrawSignBorder(IFWL_Widget* pWidget,
|
|
CFX_Graphics* pGraphics,
|
|
const CFX_RectF* pRtBox,
|
|
FX_BOOL bDisable = FALSE,
|
|
CFX_Matrix* pMatrix = NULL);
|
|
void SetThemeData(FX_DWORD dwID);
|
|
void initCheckPath(FX_FLOAT fCheckLen);
|
|
struct CKBThemeData {
|
|
FX_ARGB clrBoxBk[13][2];
|
|
FX_ARGB clrSignBorderNormal;
|
|
FX_ARGB clrSignBorderDisable;
|
|
FX_ARGB clrSignCheck;
|
|
FX_ARGB clrSignNeutral;
|
|
FX_ARGB clrSignNeutralNormal;
|
|
FX_ARGB clrSignNeutralHover;
|
|
FX_ARGB clrSignNeutralPressed;
|
|
} * m_pThemeData;
|
|
CFX_Path* m_pCheckPath;
|
|
};
|
|
#endif
|