5#ifndef QMACSTYLE_MAC_P_P_H
6#define QMACSTYLE_MAC_P_P_H
10#include <QtCore/qdebug.h>
11#include <QtCore/qhash.h>
12#include <QtCore/qlist.h>
13#include <QtCore/qmap.h>
14#include <QtCore/qmath.h>
15#include <QtCore/qpair.h>
16#include <QtCore/qpointer.h>
17#include <QtCore/qtextstream.h>
19#include <QtGui/private/qpainter_p.h>
21#include <QtGui/qbitmap.h>
22#include <QtGui/qevent.h>
23#include <QtGui/qpaintdevice.h>
24#include <QtGui/qpainter.h>
25#include <QtGui/qpixmapcache.h>
27#include <QtWidgets/private/qapplication_p.h>
28#include <QtWidgets/private/qcommonstyle_p.h>
29#include <QtWidgets/private/qstylehelper_p.h>
31#include <QtWidgets/qapplication.h>
32#include <QtWidgets/qfocusframe.h>
33#include <QtWidgets/qformlayout.h>
34#include <QtWidgets/qlayout.h>
35#include <QtWidgets/qstyleoption.h>
36#include <QtWidgets/qtextedit.h>
38#if QT_CONFIG(checkbox)
39#include <QtWidgets/qcheckbox.h>
41#if QT_CONFIG(combobox)
42#include <QtWidgets/private/qcombobox_p.h>
43#include <QtWidgets/qcombobox.h>
45#if QT_CONFIG(datetimeedit)
46#include <QtWidgets/qdatetimeedit.h>
48#if QT_CONFIG(dialogbuttonbox)
49#include <QtWidgets/qdialogbuttonbox.h>
51#if QT_CONFIG(dockwidget)
52#include <QtWidgets/qdockwidget.h>
54#if QT_CONFIG(graphicsview)
55#include <QtWidgets/qgraphicsproxywidget.h>
56#include <QtWidgets/qgraphicsview.h>
58#if QT_CONFIG(groupbox)
59#include <QtWidgets/qgroupbox.h>
61#if QT_CONFIG(itemviews)
62#include <QtWidgets/qheaderview.h>
64#if QT_CONFIG(lineedit)
65#include <QtWidgets/qlineedit.h>
67#if QT_CONFIG(listview)
68#include <QtWidgets/qlistview.h>
70#if QT_CONFIG(mainwindow)
71#include <QtWidgets/qmainwindow.h>
74#include <QtWidgets/qmenubar.h>
76#if QT_CONFIG(progressbar)
77#include <QtWidgets/qprogressbar.h>
79#if QT_CONFIG(pushbutton)
80#include <QtWidgets/qpushbutton.h>
82#include <QtWidgets/qradiobutton.h>
83#if QT_CONFIG(rubberband)
84#include <QtWidgets/qrubberband.h>
86#if QT_CONFIG(sizegrip)
87#include <QtWidgets/qsizegrip.h>
90#include <QtWidgets/qspinbox.h>
92#if QT_CONFIG(splitter)
93#include <QtWidgets/qsplitter.h>
95#if QT_CONFIG(tableview)
96#include <QtWidgets/qtableview.h>
99#include <QtWidgets/qtoolbar.h>
101#if QT_CONFIG(toolbutton)
102#include <QtWidgets/qtoolbutton.h>
104#if QT_CONFIG(treeview)
105#include <QtWidgets/qtreeview.h>
136#define CT1(c) CT2(c, c)
137#define CT2(c1, c2) ((uint(c1) << 16) | uint(c2))
139#define SIZE(large, small, mini) \
140 (controlSize == QStyleHelper::SizeLarge ? (large) : controlSize == QStyleHelper::SizeSmall ? (small) : (mini))
143#define return_SIZE(large, small, mini) \
145 static const int sizes[] = { (large), (small), (mini) }; \
146 return sizes[controlSize]; \
225 static CGRect
comboboxInnerBounds(
const CGRect &outterBounds,
const CocoaControl &cocoaWidget);
void drawNSViewInRect(NSView *view, const QRectF &rect, QPainter *p, __attribute__((noescape)) DrawRectBlock drawRectBlock=nil) const
static const int PushButtonRightOffset
QHash< CocoaControl, NSCell * > cocoaCells
void drawFocusRing(QPainter *p, const QRectF &targetRect, int hMargin, int vMargin, const CocoaControl &cw) const
CocoaControlType windowButtonCocoaControl(QStyle::SubControl sc) const
@ Button_WindowMiniaturize
@ SegmentedControl_Middle
@ ProgressIndicator_Determinate
@ SegmentedControl_Single
@ ProgressIndicator_Indeterminate
std::optional< QFont > smallSystemFont
void resolveCurrentNSView(QWindow *window) const
NSView * cocoaControl(CocoaControl widget) const
QHash< CocoaControl, NSView * > cocoaControls
void drawToolbarButtonArrow(const QStyleOption *opt, QPainter *p) const
QMacKeyValueObserver appearanceObserver
NSCell * cocoaCell(CocoaControl widget) const
void(^ DrawRectBlock)(CGContextRef, const CGRect &)
void setAutoDefaultButton(QObject *button) const
static CGRect comboboxInnerBounds(const CGRect &outterBounds, const CocoaControl &cocoaWidget)
static QList< QPointer< QObject > > scrollBars
NSView * backingStoreNSView
int animateSpeed(Animates) const
void setupNSGraphicsContext(CGContextRef cg, bool flipped) const
QPainterPath windowPanelPath(const QRectF &r) const
QPointer< QFocusFrame > focusWidget
static const int PushButtonLeftOffset
QPointer< QObject > autoDefaultButton
static const int PushButtonContentPadding
static QRectF comboboxEditBounds(const QRectF &outterBounds, const CocoaControl &cw)
QStyleHelper::WidgetSizePolicy effectiveAquaSizeConstrain(const QStyleOption *option, const QWidget *widg, QStyle::ContentsType ct=QStyle::CT_CustomBase, QSize szHint=QSize(-1, -1), QSize *insz=0) const
void restoreNSGraphicsContext(CGContextRef cg) const
QStyleHelper::WidgetSizePolicy aquaSizeConstrain(const QStyleOption *option, const QWidget *widg, QStyle::ContentsType ct=QStyle::CT_CustomBase, QSize szHint=QSize(-1, -1), QSize *insz=0) const
void setupVerticalInvertedXform(CGContextRef cg, bool reverse, bool vertical, const CGRect &rect) const
The QPainter class performs low-level painting on widgets and other paint devices.
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
The QStyleOption class stores the parameters used by QStyle functions.
ContentsType
This enum describes the available contents types.
SubControl
This enum describes the available sub controls.
Shape
This enum type lists the built-in shapes supported by QTabBar.
Combined button and popup list for selecting options.
#define Q_FORWARD_DECLARE_OBJC_CLASS(classname)
#define Q_FORWARD_DECLARE_MUTABLE_CG_TYPE(type)
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
struct CGContext * CGContextRef
static const struct TessellationWindingOrderTab cw[]
constexpr bool verticalTabs(QTabBar::Shape shape) noexcept
QSizeF defaultFrameSize() const
QRectF adjustedControlFrame(const QRectF &rect) const
bool operator==(const CocoaControl &other) const
bool getCocoaButtonTypeAndBezelStyle(NSButtonType *buttonType, NSBezelStyle *bezelStyle) const
QStyleHelper::WidgetSizePolicy size
QMarginsF titleMargins() const