DtkGui
DTK Gui module
载入中...
搜索中...
未找到
dplatforminterface_p.h
1// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DPLATFORMINTERFACE_H
6#define DPLATFORMINTERFACE_H
7
8#include <QObject>
9#include <QWindow>
10
11#include "dtkgui_global.h"
12
13DGUI_BEGIN_NAMESPACE
14
15class DPlatformTheme;
16
17class LIBDTKCORESHARED_EXPORT DPlatformInterface
18{
19public:
20 explicit DPlatformInterface(DPlatformTheme *platformTheme);
21 virtual ~DPlatformInterface();
22 virtual int cursorBlinkTime() const;
23 virtual int cursorBlinkTimeout() const;
24 virtual bool cursorBlink() const;
25 virtual int doubleClickDistance() const;
26 virtual int doubleClickTime() const;
27 virtual int dndDragThreshold() const;
28 virtual int windowRadius() const;
29 virtual int windowRadius(int defaultValue) const;
30 virtual QByteArray themeName() const;
31 virtual QByteArray iconThemeName() const;
32 virtual QByteArray soundThemeName() const;
33
34 virtual QByteArray fontName() const;
35 virtual QByteArray monoFontName() const;
36 virtual qreal fontPointSize() const;
37 virtual QByteArray gtkFontName() const;
38
39 virtual QColor activeColor() const;
40 virtual QColor darkActiveColor() const;
41
42#if DTK_VERSION < DTK_VERSION_CHECK(6, 0, 0, 0)
43 virtual QColor window() const;
44 virtual QColor windowText() const;
45 virtual QColor base() const;
46 virtual QColor alternateBase() const;
47 virtual QColor toolTipBase() const;
48 virtual QColor toolTipText() const;
49 virtual QColor text() const;
50 virtual QColor button() const;
51 virtual QColor buttonText() const;
52 virtual QColor brightText() const;
53 virtual QColor light() const;
54 virtual QColor midlight() const;
55 virtual QColor dark() const;
56 virtual QColor mid() const;
57 virtual QColor shadow() const;
58 virtual QColor highlight() const;
59 virtual QColor highlightedText() const;
60 virtual QColor link() const;
61 virtual QColor linkVisited() const;
62 virtual QColor itemBackground() const;
63 virtual QColor textTitle() const;
64 virtual QColor textTips() const;
65 virtual QColor textWarning() const;
66 virtual QColor textLively() const;
67 virtual QColor lightLively() const;
68 virtual QColor darkLively() const;
69 virtual QColor frameBorder() const;
70#endif
71
72 virtual int sizeMode() const;
73 virtual int scrollBarPolicy() const;
74
75public:
76 virtual void setCursorBlinkTime(int cursorBlinkTime);
77 virtual void setCursorBlinkTimeout(int cursorBlinkTimeout);
78 virtual void setCursorBlink(bool cursorBlink);
79 virtual void setDoubleClickDistance(int doubleClickDistance);
80 virtual void setDoubleClickTime(int doubleClickTime);
81 virtual void setDndDragThreshold(int dndDragThreshold);
82 virtual void setThemeName(const QByteArray &themeName);
83 virtual void setIconThemeName(const QByteArray &iconThemeName);
84 virtual void setSoundThemeName(const QByteArray &soundThemeName);
85 virtual void setFontName(const QByteArray &fontName);
86 virtual void setMonoFontName(const QByteArray &monoFontName);
87 virtual void setFontPointSize(qreal fontPointSize);
88 virtual void setGtkFontName(const QByteArray &fontName);
89 virtual void setActiveColor(const QColor activeColor);
90 virtual void setDarkActiveColor(const QColor &activeColor);
91#if DTK_VERSION < DTK_VERSION_CHECK(6, 0, 0, 0)
92 virtual void setWindow(const QColor &window);
93 virtual void setWindowText(const QColor &windowText);
94 virtual void setBase(const QColor &base);
95 virtual void setAlternateBase(const QColor &alternateBase);
96 virtual void setToolTipBase(const QColor &toolTipBase);
97 virtual void setToolTipText(const QColor &toolTipText);
98 virtual void setText(const QColor &text);
99 virtual void setButton(const QColor &button);
100 virtual void setButtonText(const QColor &buttonText);
101 virtual void setBrightText(const QColor &brightText);
102 virtual void setLight(const QColor &light);
103 virtual void setMidlight(const QColor &midlight);
104 virtual void setDark(const QColor &dark);
105 virtual void setMid(const QColor &mid);
106 virtual void setShadow(const QColor &shadow);
107 virtual void setHighlight(const QColor &highlight);
108 virtual void setHighlightedText(const QColor &highlightedText);
109 virtual void setLink(const QColor &link);
110 virtual void setLinkVisited(const QColor &linkVisited);
111 virtual void setItemBackground(const QColor &itemBackground);
112 virtual void setTextTitle(const QColor &textTitle);
113 virtual void setTextTips(const QColor &textTips);
114 virtual void setTextWarning(const QColor &textWarning);
115 virtual void setTextLively(const QColor &textLively);
116 virtual void setLightLively(const QColor &lightLively);
117 virtual void setDarkLively(const QColor &darkLively);
118 virtual void setFrameBorder(const QColor &frameBorder);
119#endif
120
121 virtual int dotsPerInch(const QString &screenName = QString()) const;
122 virtual void setDotsPerInch(const QString &screenName, int dpi);
123 virtual void setWindowRadius(int windowRadius);
124
125protected:
126 DPlatformTheme *m_platformTheme;
127};
128
129class LIBDTKCORESHARED_EXPORT DPlatformInterfaceFactory {
130public:
131 using HelperCreator = DPlatformInterface * (*)(DPlatformTheme*);
132 static void registerInterface(HelperCreator creator);
133};
134
135DGUI_END_NAMESPACE
136#endif // DNATIVESETTINGS_P_H
Definition dplatforminterface_p.h:129
Definition dplatforminterface_p.h:18
一个提供窗口主题的类.
Definition dplatformtheme.h:18