7#ifndef XFA_FXFA_CXFA_FWLTHEME_H_
8#define XFA_FXFA_CXFA_FWLTHEME_H_
12#include "core/fxcrt/retain_ptr.h"
13#include "core/fxcrt/widestring.h"
14#include "fxjs/gc/heap.h"
15#include "v8/include/cppgc/garbage-collected.h"
16#include "v8/include/cppgc/member.h"
17#include "v8/include/cppgc/prefinalizer.h"
18#include "xfa/fwl/ifwl_themeprovider.h"
24class CXFA_FWLTheme
final :
public cppgc::GarbageCollected<CXFA_FWLTheme>,
26 CPPGC_USING_PRE_FINALIZER(CXFA_FWLTheme, PreFinalize);
35 void Trace(cppgc::Visitor* visitor)
const override;
37 void DrawText(
const CFWL_ThemeText& pParams)
override;
53 CXFA_FWLTheme(
cppgc::Heap* pHeap, CXFA_FFApp* pApp);
55 std::unique_ptr<CFDE_TextOut> m_pTextOut;
58 cppgc::Member<CXFA_FFApp>
const m_pApp;
59 WideString m_wsResource;
void Trace(cppgc::Visitor *visitor) const override
bool LoadFWLTheme(CXFA_FFDoc *doc)
CFX_Timer::HandlerIface * GetTimerHandler() override
CFWL_WidgetMgr::AdapterIface * GetWidgetMgrAdapter() override
IFWL_ThemeProvider * GetThemeProvider() override
cppgc::Heap * GetHeap() override
RetainPtr< CFGAS_GEFont > GetFont(const CFWL_ThemePart &pThemePart) override
float GetLineHeight(const CFWL_ThemePart &pThemePart) const override
RetainPtr< CFGAS_GEFont > GetFWLFont() override
~CXFA_FWLTheme() override
float GetScrollBarWidth() const override
FX_COLORREF GetTextColor(const CFWL_ThemePart &pThemePart) const override
float GetCYBorderSize() const override
void CalcTextRect(const CFWL_ThemeText &pParams, CFX_RectF *pRect) override
void Trace(cppgc::Visitor *visitor) const override
CFX_RectF GetUIMargin(const CFWL_ThemePart &pThemePart) const override
void DrawText(const CFWL_ThemeText &pParams) override
void DrawBackground(const CFWL_ThemeBackground &pParams) override
float GetCXBorderSize() const override
float GetFontSize(const CFWL_ThemePart &pThemePart) const override
CFX_SizeF GetSpaceAboveBelow(const CFWL_ThemePart &pThemePart) const override
bool LoadCalendarFont(CXFA_FFDoc *doc)
#define CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED