50 lines
1.8 KiB
C++
50 lines
1.8 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_THEME_LIGHT_H
|
|
#define _FWL_THEME_LIGHT_H
|
|
|
|
#include "xfa/include/fwl/core/fwl_theme.h"
|
|
|
|
class CFWL_WidgetTP;
|
|
class IFWL_Widget;
|
|
|
|
class CFWL_Theme : public IFWL_ThemeProvider {
|
|
public:
|
|
CFWL_Theme();
|
|
~CFWL_Theme() override;
|
|
|
|
// IFWL_ThemeProvider:
|
|
FX_BOOL IsValidWidget(IFWL_Widget* pWidget) override;
|
|
FX_DWORD GetThemeID(IFWL_Widget* pWidget) override;
|
|
FX_DWORD SetThemeID(IFWL_Widget* pWidget,
|
|
FX_DWORD dwThemeID,
|
|
FX_BOOL bChildren = TRUE) override;
|
|
FWL_ERR GetThemeMatrix(IFWL_Widget* pWidget, CFX_Matrix& matrix) override;
|
|
FWL_ERR SetThemeMatrix(IFWL_Widget* pWidget,
|
|
const CFX_Matrix& matrix) override;
|
|
FX_BOOL DrawBackground(CFWL_ThemeBackground* pParams) override;
|
|
FX_BOOL DrawText(CFWL_ThemeText* pParams) override;
|
|
void* GetCapacity(CFWL_ThemePart* pThemePart, FX_DWORD dwCapacity) override;
|
|
FX_BOOL IsCustomizedLayout(IFWL_Widget* pWidget) override;
|
|
FWL_ERR GetPartRect(CFWL_ThemePart* pThemePart, CFX_RectF& rtPart) override;
|
|
FX_BOOL IsInPart(CFWL_ThemePart* pThemePart,
|
|
FX_FLOAT fx,
|
|
FX_FLOAT fy) override;
|
|
FX_BOOL CalcTextRect(CFWL_ThemeText* pParams, CFX_RectF& rect) override;
|
|
|
|
FWL_ERR Initialize();
|
|
FWL_ERR Finalize();
|
|
FWL_ERR SetFont(IFWL_Widget* pWidget,
|
|
const FX_WCHAR* strFont,
|
|
FX_FLOAT fFontSize,
|
|
FX_ARGB rgbFont);
|
|
CFWL_WidgetTP* GetTheme(IFWL_Widget* pWidget);
|
|
|
|
protected:
|
|
CFX_PtrArray m_arrThemes;
|
|
};
|
|
#endif
|