Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
ifwl_themeprovider.h
Go to the documentation of this file.
1// Copyright 2014 The PDFium Authors
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 XFA_FWL_IFWL_THEMEPROVIDER_H_
8#define XFA_FWL_IFWL_THEMEPROVIDER_H_
9
10#include "core/fxcrt/fx_coordinates.h"
11#include "core/fxcrt/retain_ptr.h"
12#include "core/fxge/dib/fx_dib.h"
13#include "fxjs/gc/heap.h"
14#include "v8/include/cppgc/garbage-collected.h"
15#include "v8/include/cppgc/member.h"
16
17class CFGAS_GEFont;
18
19namespace pdfium {
20
21class CFWL_ThemeBackground;
22class CFWL_ThemePart;
23class CFWL_ThemeText;
24class CFWL_Widget;
25class CFWL_WidgetTP;
26
28 public:
30
31 // GarbageCollectedMixin:
32 void Trace(cppgc::Visitor* visitor) const override;
33
34 virtual void DrawBackground(const CFWL_ThemeBackground& pParams) = 0;
35 virtual void DrawText(const CFWL_ThemeText& pParams) = 0;
36 virtual void CalcTextRect(const CFWL_ThemeText& pParams,
37 CFX_RectF* pRect) = 0;
38 virtual float GetCXBorderSize() const = 0;
39 virtual float GetCYBorderSize() const = 0;
40 virtual CFX_RectF GetUIMargin(const CFWL_ThemePart& pThemePart) const = 0;
41 virtual float GetFontSize(const CFWL_ThemePart& pThemePart) const = 0;
42 virtual RetainPtr<CFGAS_GEFont> GetFont(const CFWL_ThemePart& pThemePart) = 0;
43 virtual RetainPtr<CFGAS_GEFont> GetFWLFont() = 0;
44 virtual float GetLineHeight(const CFWL_ThemePart& pThemePart) const = 0;
45 virtual float GetScrollBarWidth() const = 0;
46 virtual FX_COLORREF GetTextColor(const CFWL_ThemePart& pThemePart) const = 0;
48 const CFWL_ThemePart& pThemePart) const = 0;
49
50 protected:
51 explicit IFWL_ThemeProvider(cppgc::Heap* pHeap);
52
53 CFWL_WidgetTP* GetTheme(const CFWL_Widget* pWidget) const;
54
55 private:
56 cppgc::Member<CFWL_WidgetTP> m_pCheckBoxTP;
57 cppgc::Member<CFWL_WidgetTP> m_pListBoxTP;
58 cppgc::Member<CFWL_WidgetTP> m_pPictureBoxTP;
59 cppgc::Member<CFWL_WidgetTP> m_pSrollBarTP;
60 cppgc::Member<CFWL_WidgetTP> m_pEditTP;
61 cppgc::Member<CFWL_WidgetTP> m_pComboBoxTP;
62 cppgc::Member<CFWL_WidgetTP> m_pMonthCalendarTP;
63 cppgc::Member<CFWL_WidgetTP> m_pDateTimePickerTP;
64 cppgc::Member<CFWL_WidgetTP> m_pPushButtonTP;
65 cppgc::Member<CFWL_WidgetTP> m_pCaretTP;
66 cppgc::Member<CFWL_WidgetTP> m_pBarcodeTP;
67};
68
69} // namespace pdfium
70
71// TODO(crbug.com/42271761): Remove.
72using pdfium::IFWL_ThemeProvider;
73
74#endif // XFA_FWL_IFWL_THEMEPROVIDER_H_
BC_TEXT_LOC
Definition BC_Library.h:12
BC_TYPE
Definition BC_Library.h:20
@ kDataMatrix
Definition BC_Library.h:32
#define FWL_STYLEEXT_SCB_Vert
#define FWL_STATE_WGT_Focused
Definition cfwl_widget.h:44
void Concat(const CFX_Matrix &right)
void SetModuleWidth(int32_t width)
void SetModuleHeight(int32_t height)
void SetType(BC_TYPE type)
void DrawWidget(CFGAS_GEGraphics *pGraphics, const CFX_Matrix &matrix) override
void SetCalChecksum(bool calChecksum)
void SetErrorCorrectionLevel(int32_t ecLevel)
void OnProcessEvent(CFWL_Event *pEvent) override
void SetWideNarrowRatio(int8_t ratio)
void SetEndChar(char endChar)
void SetDataLength(int32_t dataLength)
void SetStartChar(char startChar)
void SetTextSkipNotify(const WideString &wsText) override
FWL_Type GetClassID() const override
void SetPrintChecksum(bool printChecksum)
void Update() override
void SetText(const WideString &wsText) override
bool IsProtectedType() const
void SetTextLocation(BC_TEXT_LOC location)
~CFWL_Barcode() override
void OnProcessMessage(CFWL_Message *pMessage) override
void SetAliasChar(wchar_t wAlias)
void SetScrollOffset(float fScrollOffset) override
void OnTextWillChange(CFDE_TextEditEngine::TextChange *change) override
FWL_WidgetHit HitTest(const CFX_PointF &point) override
WideString GetText() const
CFDE_TextEditEngine * GetTxtEdtEngine()
Definition cfwl_edit.h:109
void OnDrawWidget(CFGAS_GEGraphics *pGraphics, const CFX_Matrix &matrix) override
CFX_RectF GetWidgetRect() override
Definition cfwl_edit.cpp:79
virtual void SetTextSkipNotify(const WideString &wsText)
bool OnValidate(const WideString &wsText) override
void DrawWidget(CFGAS_GEGraphics *pGraphics, const CFX_Matrix &matrix) override
std::pair< size_t, size_t > GetSelection() const
void Trace(cppgc::Visitor *visitor) const override
Definition cfwl_edit.cpp:69
bool Paste(const WideString &wsPaste)
void NotifyTextFull() override
void Update() override
void OnTextChanged() override
CFWL_Edit(CFWL_App *app, const Properties &properties, CFWL_Widget *pOuter)
Definition cfwl_edit.cpp:52
void OnSelChanged() override
const CFX_RectF & GetRTClient() const
Definition cfwl_edit.h:108
~CFWL_Edit() override
int32_t GetLimit() const
std::optional< WideString > Copy()
size_t GetTextLength() const
bool HasSelection() const
std::optional< WideString > Cut()
void SetStates(uint32_t dwStates) override
FWL_Type GetClassID() const override
Definition cfwl_edit.cpp:75
void SetLimit(int32_t nLimit)
CFX_RectF GetAutosizedWidgetRect() override
Definition cfwl_edit.cpp:91
void ShowCaret(CFX_RectF *pRect)
void HideCaret(CFX_RectF *pRect)
void PreFinalize() override
Definition cfwl_edit.cpp:62
virtual void SetText(const WideString &wsText)
void OnCaretChanged() override
void OnProcessEvent(CFWL_Event *pEvent) override
CFWL_EventScroll(CFWL_Widget *pSrcTarget, Code code, float pos)
CFWL_Event(Type type, CFWL_Widget *pSrcTarget)
Type GetType() const
Definition cfwl_event.h:41
CFWL_Widget * GetDstTarget() const
Definition cfwl_event.h:43
CFWL_Event(Type type, CFWL_Widget *pSrcTarget, CFWL_Widget *pDstTarget)
virtual ~CFWL_Event()
CFWL_Widget * GetSrcTarget() const
Definition cfwl_event.h:42
CFWL_Event(Type type)
void OnTimerFired() override
void SetTrackPos(float fTrackPos)
void SetPos(float fPos)
void OnProcessMessage(CFWL_Message *pMessage) override
~CFWL_ScrollBar() override
float GetPageSize() const
float GetStepSize() const
void SetStepSize(float fStepSize)
void GetRange(float *fMin, float *fMax) const
void OnDrawWidget(CFGAS_GEGraphics *pGraphics, const CFX_Matrix &matrix) override
void DrawWidget(CFGAS_GEGraphics *pGraphics, const CFX_Matrix &matrix) override
FWL_Type GetClassID() const override
void SetPageSize(float fPageSize)
void SetRange(float fMin, float fMax)
uint32_t GetStyleExts() const
IFWL_ThemeProvider * GetThemeProvider() const
bool IsLocked() const
Properties m_Properties
virtual float GetScrollBarWidth() const =0
virtual float GetCYBorderSize() const =0
CFWL_WidgetTP * GetTheme(const CFWL_Widget *pWidget) const
virtual float GetLineHeight(const CFWL_ThemePart &pThemePart) const =0
void Trace(cppgc::Visitor *visitor) const override
virtual RetainPtr< CFGAS_GEFont > GetFont(const CFWL_ThemePart &pThemePart)=0
virtual void DrawText(const CFWL_ThemeText &pParams)=0
virtual void CalcTextRect(const CFWL_ThemeText &pParams, CFX_RectF *pRect)=0
virtual FX_COLORREF GetTextColor(const CFWL_ThemePart &pThemePart) const =0
IFWL_ThemeProvider(cppgc::Heap *pHeap)
virtual RetainPtr< CFGAS_GEFont > GetFWLFont()=0
virtual float GetFontSize(const CFWL_ThemePart &pThemePart) const =0
virtual CFX_RectF GetUIMargin(const CFWL_ThemePart &pThemePart) const =0
virtual void DrawBackground(const CFWL_ThemeBackground &pParams)=0
virtual float GetCXBorderSize() const =0
virtual CFX_SizeF GetSpaceAboveBelow(const CFWL_ThemePart &pThemePart) const =0
CFX_VTemplate< int32_t > CFX_Vector
CFX_PTemplate< float > CFX_PointF
CFX_STemplate< float > CFX_SizeF
uint32_t FX_COLORREF
Definition fx_dib.h:42
#define CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED
Definition heap.h:32
Definition heap.h:12
fxcrt::WideString WideString
Definition widestring.h:207