diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-05-25 16:49:51 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-05-25 22:13:23 +0000 |
commit | 2eddb665763f3e089d4c210d2a011d112683f3ea (patch) | |
tree | 2cd94caacc5d4be1714e53d3312887be31d23b52 /xfa/fxfa/app/cxfa_fwltheme.h | |
parent | b7deb9b60e045f2442c635b2ec8279e7ee282aa0 (diff) | |
download | pdfium-2eddb665763f3e089d4c210d2a011d112683f3ea.tar.xz |
Split apart remaining xfa/fxfa/app files
This CL splits the remaining files in xfa/fxfa/app into individual files
named after the classes.
Change-Id: I84bd8938937641bb6897614ed15558a2682f456c
Reviewed-on: https://pdfium-review.googlesource.com/6010
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fxfa/app/cxfa_fwltheme.h')
-rw-r--r-- | xfa/fxfa/app/cxfa_fwltheme.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/xfa/fxfa/app/cxfa_fwltheme.h b/xfa/fxfa/app/cxfa_fwltheme.h new file mode 100644 index 0000000000..eaca99082d --- /dev/null +++ b/xfa/fxfa/app/cxfa_fwltheme.h @@ -0,0 +1,70 @@ +// 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 XFA_FXFA_APP_CXFA_FWLTHEME_H_ +#define XFA_FXFA_APP_CXFA_FWLTHEME_H_ + +#include <memory> + +#include "xfa/fwl/ifwl_themeprovider.h" +#include "xfa/fwl/theme/cfwl_barcodetp.h" +#include "xfa/fwl/theme/cfwl_carettp.h" +#include "xfa/fwl/theme/cfwl_checkboxtp.h" +#include "xfa/fwl/theme/cfwl_comboboxtp.h" +#include "xfa/fwl/theme/cfwl_datetimepickertp.h" +#include "xfa/fwl/theme/cfwl_edittp.h" +#include "xfa/fwl/theme/cfwl_listboxtp.h" +#include "xfa/fwl/theme/cfwl_monthcalendartp.h" +#include "xfa/fwl/theme/cfwl_pictureboxtp.h" +#include "xfa/fwl/theme/cfwl_pushbuttontp.h" +#include "xfa/fwl/theme/cfwl_scrollbartp.h" +#include "xfa/fwl/theme/cfwl_widgettp.h" +#include "xfa/fxfa/cxfa_ffapp.h" + +class CXFA_FWLTheme final : public IFWL_ThemeProvider { + public: + explicit CXFA_FWLTheme(CXFA_FFApp* pApp); + ~CXFA_FWLTheme() override; + + // IFWL_ThemeProvider: + void DrawBackground(CFWL_ThemeBackground* pParams) override; + void DrawText(CFWL_ThemeText* pParams) override; + void CalcTextRect(CFWL_ThemeText* pParams, CFX_RectF& rect) override; + float GetCXBorderSize() const override; + float GetCYBorderSize() const override; + CFX_RectF GetUIMargin(CFWL_ThemePart* pThemePart) const override; + float GetFontSize(CFWL_ThemePart* pThemePart) const override; + CFX_RetainPtr<CFGAS_GEFont> GetFont( + CFWL_ThemePart* pThemePart) const override; + float GetLineHeight(CFWL_ThemePart* pThemePart) const override; + float GetScrollBarWidth() const override; + FX_COLORREF GetTextColor(CFWL_ThemePart* pThemePart) const override; + CFX_SizeF GetSpaceAboveBelow(CFWL_ThemePart* pThemePart) const override; + + private: + CFWL_WidgetTP* GetTheme(CFWL_Widget* pWidget) const; + + std::unique_ptr<CFWL_CheckBoxTP> m_pCheckBoxTP; + std::unique_ptr<CFWL_ListBoxTP> m_pListBoxTP; + std::unique_ptr<CFWL_PictureBoxTP> m_pPictureBoxTP; + std::unique_ptr<CFWL_ScrollBarTP> m_pSrollBarTP; + std::unique_ptr<CFWL_EditTP> m_pEditTP; + std::unique_ptr<CFWL_ComboBoxTP> m_pComboBoxTP; + std::unique_ptr<CFWL_MonthCalendarTP> m_pMonthCalendarTP; + std::unique_ptr<CFWL_DateTimePickerTP> m_pDateTimePickerTP; + std::unique_ptr<CFWL_PushButtonTP> m_pPushButtonTP; + std::unique_ptr<CFWL_CaretTP> m_pCaretTP; + std::unique_ptr<CFWL_BarcodeTP> m_pBarcodeTP; + std::unique_ptr<CFDE_TextOut> m_pTextOut; + CFX_RetainPtr<CFGAS_GEFont> m_pCalendarFont; + CFX_WideString m_wsResource; + CFX_UnownedPtr<CXFA_FFApp> const m_pApp; + CFX_RectF m_Rect; +}; + +CXFA_FFWidget* XFA_ThemeGetOuterWidget(CFWL_Widget* pWidget); + +#endif // XFA_FXFA_APP_CXFA_FWLTHEME_H_ |