QMacStyle: Clean up code, remove dead bits
Change QMacStylePrivate::drawNSViewInRect() signature to remove all the unused parameters. Reuse recent tab direction functions where appropriate. Includes the infamous outter -> outer fix. Change-Id: I8f92d79d8a6c3b5903bfbb13293afb6f72a5340b Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
This commit is contained in:
parent
be4eaca053
commit
48900145a4
@ -43,7 +43,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <AppKit/AppKit.h>
|
#include <AppKit/AppKit.h>
|
||||||
#include <ApplicationServices/ApplicationServices.h>
|
|
||||||
|
|
||||||
#include "qmacstyle_mac_p.h"
|
#include "qmacstyle_mac_p.h"
|
||||||
#include "qmacstyle_mac_p_p.h"
|
#include "qmacstyle_mac_p_p.h"
|
||||||
@ -273,13 +272,7 @@ QT_BEGIN_NAMESPACE
|
|||||||
// The following constants are used for adjusting the size
|
// The following constants are used for adjusting the size
|
||||||
// of push buttons so that they are drawn inside their bounds.
|
// of push buttons so that they are drawn inside their bounds.
|
||||||
const int QMacStylePrivate::PushButtonLeftOffset = 6;
|
const int QMacStylePrivate::PushButtonLeftOffset = 6;
|
||||||
const int QMacStylePrivate::PushButtonTopOffset = 4;
|
|
||||||
const int QMacStylePrivate::PushButtonRightOffset = 12;
|
const int QMacStylePrivate::PushButtonRightOffset = 12;
|
||||||
const int QMacStylePrivate::PushButtonBottomOffset = 12;
|
|
||||||
const int QMacStylePrivate::MiniButtonH = 26;
|
|
||||||
const int QMacStylePrivate::SmallButtonH = 30;
|
|
||||||
const int QMacStylePrivate::BevelButtonW = 50;
|
|
||||||
const int QMacStylePrivate::BevelButtonH = 22;
|
|
||||||
const int QMacStylePrivate::PushButtonContentPadding = 6;
|
const int QMacStylePrivate::PushButtonContentPadding = 6;
|
||||||
|
|
||||||
QVector<QPointer<QObject> > QMacStylePrivate::scrollBars;
|
QVector<QPointer<QObject> > QMacStylePrivate::scrollBars;
|
||||||
@ -389,15 +382,6 @@ static const int toolButtonArrowMargin = 2;
|
|||||||
|
|
||||||
static const qreal focusRingWidth = 3.5;
|
static const qreal focusRingWidth = 3.5;
|
||||||
|
|
||||||
#if QT_CONFIG(tabbar)
|
|
||||||
static bool isVerticalTabs(const QTabBar::Shape shape) {
|
|
||||||
return (shape == QTabBar::RoundedEast
|
|
||||||
|| shape == QTabBar::TriangularEast
|
|
||||||
|| shape == QTabBar::RoundedWest
|
|
||||||
|| shape == QTabBar::TriangularWest);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static bool setupScroller(NSScroller *scroller, const QStyleOptionSlider *sb)
|
static bool setupScroller(NSScroller *scroller, const QStyleOptionSlider *sb)
|
||||||
{
|
{
|
||||||
const qreal length = sb->maximum - sb->minimum + sb->pageStep;
|
const qreal length = sb->maximum - sb->minimum + sb->pageStep;
|
||||||
@ -502,10 +486,10 @@ static void drawTabCloseButton(QPainter *p, bool hover, bool selected, bool pres
|
|||||||
#if QT_CONFIG(tabbar)
|
#if QT_CONFIG(tabbar)
|
||||||
QRect rotateTabPainter(QPainter *p, QTabBar::Shape shape, QRect tabRect)
|
QRect rotateTabPainter(QPainter *p, QTabBar::Shape shape, QRect tabRect)
|
||||||
{
|
{
|
||||||
if (isVerticalTabs(shape)) {
|
const auto tabDirection = QMacStylePrivate::tabDirection(shape);
|
||||||
|
if (QMacStylePrivate::verticalTabs(tabDirection)) {
|
||||||
int newX, newY, newRot;
|
int newX, newY, newRot;
|
||||||
if (shape == QTabBar::RoundedEast
|
if (tabDirection == QMacStylePrivate::East) {
|
||||||
|| shape == QTabBar::TriangularEast) {
|
|
||||||
newX = tabRect.width();
|
newX = tabRect.width();
|
||||||
newY = tabRect.y();
|
newY = tabRect.y();
|
||||||
newRot = 90;
|
newRot = 90;
|
||||||
@ -526,23 +510,10 @@ QRect rotateTabPainter(QPainter *p, QTabBar::Shape shape, QRect tabRect)
|
|||||||
void drawTabShape(QPainter *p, const QStyleOptionTab *tabOpt, bool isUnified, int tabOverlap)
|
void drawTabShape(QPainter *p, const QStyleOptionTab *tabOpt, bool isUnified, int tabOverlap)
|
||||||
{
|
{
|
||||||
QRect rect = tabOpt->rect;
|
QRect rect = tabOpt->rect;
|
||||||
|
if (QMacStylePrivate::verticalTabs(QMacStylePrivate::tabDirection(tabOpt->shape)))
|
||||||
switch (tabOpt->shape) {
|
rect = rect.adjusted(-tabOverlap, 0, 0, 0);
|
||||||
case QTabBar::RoundedNorth:
|
else
|
||||||
case QTabBar::TriangularNorth:
|
rect = rect.adjusted(0, -tabOverlap, 0, 0);
|
||||||
case QTabBar::RoundedSouth:
|
|
||||||
case QTabBar::TriangularSouth:
|
|
||||||
rect.adjust(-tabOverlap, 0, 0, 0);
|
|
||||||
break;
|
|
||||||
case QTabBar::RoundedEast:
|
|
||||||
case QTabBar::TriangularEast:
|
|
||||||
case QTabBar::RoundedWest:
|
|
||||||
case QTabBar::TriangularWest:
|
|
||||||
rect.adjust(0, -tabOverlap, 0, 0);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
p->translate(rect.x(), rect.y());
|
p->translate(rect.x(), rect.y());
|
||||||
rect.moveLeft(0);
|
rect.moveLeft(0);
|
||||||
@ -593,11 +564,11 @@ void drawTabShape(QPainter *p, const QStyleOptionTab *tabOpt, bool isUnified, in
|
|||||||
void drawTabBase(QPainter *p, const QStyleOptionTabBarBase *tbb, const QWidget *w)
|
void drawTabBase(QPainter *p, const QStyleOptionTabBarBase *tbb, const QWidget *w)
|
||||||
{
|
{
|
||||||
QRect r = tbb->rect;
|
QRect r = tbb->rect;
|
||||||
if (isVerticalTabs(tbb->shape)) {
|
if (QMacStylePrivate::verticalTabs(QMacStylePrivate::tabDirection(tbb->shape)))
|
||||||
r.setWidth(w->width());
|
r.setWidth(w->width());
|
||||||
} else {
|
else
|
||||||
r.setHeight(w->height());
|
r.setHeight(w->height());
|
||||||
}
|
|
||||||
const QRect tabRect = rotateTabPainter(p, tbb->shape, r);
|
const QRect tabRect = rotateTabPainter(p, tbb->shape, r);
|
||||||
const int width = tabRect.width();
|
const int width = tabRect.width();
|
||||||
const int height = tabRect.height();
|
const int height = tabRect.height();
|
||||||
@ -633,8 +604,7 @@ static QStyleHelper::WidgetSizePolicy getControlSize(const QStyleOption *option,
|
|||||||
static inline bool isTreeView(const QWidget *widget)
|
static inline bool isTreeView(const QWidget *widget)
|
||||||
{
|
{
|
||||||
return (widget && widget->parentWidget() &&
|
return (widget && widget->parentWidget() &&
|
||||||
(qobject_cast<const QTreeView *>(widget->parentWidget())
|
qobject_cast<const QTreeView *>(widget->parentWidget()));
|
||||||
));
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -672,15 +642,6 @@ static QString qt_mac_removeMnemonics(const QString &original)
|
|||||||
return returnText;
|
return returnText;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool qt_macWindowIsTextured(const QWidget *window)
|
|
||||||
{
|
|
||||||
if (QWindow *w = window->windowHandle())
|
|
||||||
if (w->handle())
|
|
||||||
if (NSWindow *nswindow = static_cast<NSWindow*>(QGuiApplication::platformNativeInterface()->nativeResourceForWindow(QByteArrayLiteral("NSWindow"), w)))
|
|
||||||
return ([nswindow styleMask] & NSTexturedBackgroundWindowMask) ? true : false;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool qt_macWindowMainWindow(const QWidget *window)
|
static bool qt_macWindowMainWindow(const QWidget *window)
|
||||||
{
|
{
|
||||||
if (QWindow *w = window->windowHandle()) {
|
if (QWindow *w = window->windowHandle()) {
|
||||||
@ -1118,51 +1079,11 @@ static QStyleHelper::WidgetSizePolicy qt_aqua_guess_size(const QWidget *widg, QS
|
|||||||
return QStyleHelper::SizeLarge;
|
return QStyleHelper::SizeLarge;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(mainwindow)
|
if (qEnvironmentVariableIsSet("QWIDGET_ALL_SMALL"))
|
||||||
if (qEnvironmentVariableIsSet("QWIDGET_ALL_SMALL")) {
|
|
||||||
//if (small.width() != -1 || small.height() != -1)
|
|
||||||
return QStyleHelper::SizeSmall;
|
return QStyleHelper::SizeSmall;
|
||||||
} else if (qEnvironmentVariableIsSet("QWIDGET_ALL_MINI")) {
|
else if (qEnvironmentVariableIsSet("QWIDGET_ALL_MINI"))
|
||||||
return QStyleHelper::SizeMini;
|
return QStyleHelper::SizeMini;
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* Figure out which size we're closer to, I just hacked this in, I haven't
|
|
||||||
tested it as it would probably look pretty strange to have some widgets
|
|
||||||
big and some widgets small in the same window?? -Sam */
|
|
||||||
int large_delta=0;
|
|
||||||
if (large.width() != -1) {
|
|
||||||
int delta = large.width() - widg->width();
|
|
||||||
large_delta += delta * delta;
|
|
||||||
}
|
|
||||||
if (large.height() != -1) {
|
|
||||||
int delta = large.height() - widg->height();
|
|
||||||
large_delta += delta * delta;
|
|
||||||
}
|
|
||||||
int small_delta=0;
|
|
||||||
if (small.width() != -1) {
|
|
||||||
int delta = small.width() - widg->width();
|
|
||||||
small_delta += delta * delta;
|
|
||||||
}
|
|
||||||
if (small.height() != -1) {
|
|
||||||
int delta = small.height() - widg->height();
|
|
||||||
small_delta += delta * delta;
|
|
||||||
}
|
|
||||||
int mini_delta=0;
|
|
||||||
if (mini.width() != -1) {
|
|
||||||
int delta = mini.width() - widg->width();
|
|
||||||
mini_delta += delta * delta;
|
|
||||||
}
|
|
||||||
if (mini.height() != -1) {
|
|
||||||
int delta = mini.height() - widg->height();
|
|
||||||
mini_delta += delta * delta;
|
|
||||||
}
|
|
||||||
if (mini_delta < small_delta && mini_delta < large_delta)
|
|
||||||
return QStyleHelper::SizeMini;
|
|
||||||
else if (small_delta < large_delta)
|
|
||||||
return QStyleHelper::SizeSmall;
|
|
||||||
#endif
|
|
||||||
return QStyleHelper::SizeLarge;
|
return QStyleHelper::SizeLarge;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -1182,10 +1103,10 @@ void QMacStylePrivate::drawFocusRing(QPainter *p, const QRectF &targetRect, int
|
|||||||
auto innerRect = targetRect;
|
auto innerRect = targetRect;
|
||||||
if (cw.type == TextField)
|
if (cw.type == TextField)
|
||||||
innerRect = innerRect.adjusted(hMargin, vMargin, -hMargin, -vMargin).adjusted(0.5, 0.5, -0.5, -0.5);
|
innerRect = innerRect.adjusted(hMargin, vMargin, -hMargin, -vMargin).adjusted(0.5, 0.5, -0.5, -0.5);
|
||||||
const auto outterRect = innerRect.adjusted(-focusRingWidth, -focusRingWidth, focusRingWidth, focusRingWidth);
|
const auto outerRect = innerRect.adjusted(-focusRingWidth, -focusRingWidth, focusRingWidth, focusRingWidth);
|
||||||
const auto outterRadius = focusRingWidth;
|
const auto outerRadius = focusRingWidth;
|
||||||
focusRingPath.addRect(innerRect);
|
focusRingPath.addRect(innerRect);
|
||||||
focusRingPath.addRoundedRect(outterRect, outterRadius, outterRadius);
|
focusRingPath.addRoundedRect(outerRect, outerRadius, outerRadius);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case Button_CheckBox: {
|
case Button_CheckBox: {
|
||||||
@ -1196,9 +1117,9 @@ void QMacStylePrivate::drawFocusRing(QPainter *p, const QRectF &targetRect, int
|
|||||||
cw.size == QStyleHelper::SizeSmall ? 2.0 : 1.0); // As measured
|
cw.size == QStyleHelper::SizeSmall ? 2.0 : 1.0); // As measured
|
||||||
vOffset = 0.5 * qreal(targetRect.height() - cbSize);
|
vOffset = 0.5 * qreal(targetRect.height() - cbSize);
|
||||||
const auto cbInnerRect = QRectF(0, 0, cbSize, cbSize);
|
const auto cbInnerRect = QRectF(0, 0, cbSize, cbSize);
|
||||||
const auto cbOutterRadius = cbInnerRadius + focusRingWidth;
|
const auto cbOuterRadius = cbInnerRadius + focusRingWidth;
|
||||||
const auto cbOutterRect = cbInnerRect.adjusted(-focusRingWidth, -focusRingWidth, focusRingWidth, focusRingWidth);
|
const auto cbOuterRect = cbInnerRect.adjusted(-focusRingWidth, -focusRingWidth, focusRingWidth, focusRingWidth);
|
||||||
focusRingPath.addRoundedRect(cbOutterRect, cbOutterRadius, cbOutterRadius);
|
focusRingPath.addRoundedRect(cbOuterRect, cbOuterRadius, cbOuterRadius);
|
||||||
focusRingPath.addRoundedRect(cbInnerRect, cbInnerRadius, cbInnerRadius);
|
focusRingPath.addRoundedRect(cbInnerRect, cbInnerRadius, cbInnerRadius);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1209,9 +1130,9 @@ void QMacStylePrivate::drawFocusRing(QPainter *p, const QRectF &targetRect, int
|
|||||||
cw.size == QStyleHelper::SizeSmall ? 1.0 : 1.0); // As measured
|
cw.size == QStyleHelper::SizeSmall ? 1.0 : 1.0); // As measured
|
||||||
vOffset = 0.5 * qreal(targetRect.height() - rbSize);
|
vOffset = 0.5 * qreal(targetRect.height() - rbSize);
|
||||||
const auto rbInnerRect = QRectF(0, 0, rbSize, rbSize);
|
const auto rbInnerRect = QRectF(0, 0, rbSize, rbSize);
|
||||||
const auto rbOutterRect = rbInnerRect.adjusted(-focusRingWidth, -focusRingWidth, focusRingWidth, focusRingWidth);
|
const auto rbOuterRect = rbInnerRect.adjusted(-focusRingWidth, -focusRingWidth, focusRingWidth, focusRingWidth);
|
||||||
focusRingPath.addEllipse(rbInnerRect);
|
focusRingPath.addEllipse(rbInnerRect);
|
||||||
focusRingPath.addEllipse(rbOutterRect);
|
focusRingPath.addEllipse(rbOuterRect);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case Button_PopupButton:
|
case Button_PopupButton:
|
||||||
@ -1219,13 +1140,13 @@ void QMacStylePrivate::drawFocusRing(QPainter *p, const QRectF &targetRect, int
|
|||||||
case Button_PushButton:
|
case Button_PushButton:
|
||||||
case SegmentedControl_Single: {
|
case SegmentedControl_Single: {
|
||||||
const qreal innerRadius = cw.type == Button_PushButton ? 3 : 4;
|
const qreal innerRadius = cw.type == Button_PushButton ? 3 : 4;
|
||||||
const qreal outterRadius = innerRadius + focusRingWidth;
|
const qreal outerRadius = innerRadius + focusRingWidth;
|
||||||
hOffset = targetRect.left();
|
hOffset = targetRect.left();
|
||||||
vOffset = targetRect.top();
|
vOffset = targetRect.top();
|
||||||
const auto innerRect = targetRect.translated(-targetRect.topLeft());
|
const auto innerRect = targetRect.translated(-targetRect.topLeft());
|
||||||
const auto outterRect = innerRect.adjusted(-hMargin, -vMargin, hMargin, vMargin);
|
const auto outerRect = innerRect.adjusted(-hMargin, -vMargin, hMargin, vMargin);
|
||||||
focusRingPath.addRoundedRect(innerRect, innerRadius, innerRadius);
|
focusRingPath.addRoundedRect(innerRect, innerRadius, innerRadius);
|
||||||
focusRingPath.addRoundedRect(outterRect, outterRadius, outterRadius);
|
focusRingPath.addRoundedRect(outerRect, outerRadius, outerRadius);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ComboBox:
|
case ComboBox:
|
||||||
@ -1234,9 +1155,9 @@ void QMacStylePrivate::drawFocusRing(QPainter *p, const QRectF &targetRect, int
|
|||||||
hOffset = targetRect.left();
|
hOffset = targetRect.left();
|
||||||
vOffset = targetRect.top();
|
vOffset = targetRect.top();
|
||||||
const qreal innerRadius = 8;
|
const qreal innerRadius = 8;
|
||||||
const qreal outterRadius = innerRadius + focusRingWidth;
|
const qreal outerRadius = innerRadius + focusRingWidth;
|
||||||
const auto innerRect = targetRect.translated(-targetRect.topLeft());
|
const auto innerRect = targetRect.translated(-targetRect.topLeft());
|
||||||
const auto outterRect = innerRect.adjusted(-hMargin, -vMargin, hMargin, vMargin);
|
const auto outerRect = innerRect.adjusted(-hMargin, -vMargin, hMargin, vMargin);
|
||||||
|
|
||||||
const auto cbFocusFramePath = [](const QRectF &rect, qreal tRadius, qreal bRadius) {
|
const auto cbFocusFramePath = [](const QRectF &rect, qreal tRadius, qreal bRadius) {
|
||||||
QPainterPath path;
|
QPainterPath path;
|
||||||
@ -1262,8 +1183,8 @@ void QMacStylePrivate::drawFocusRing(QPainter *p, const QRectF &targetRect, int
|
|||||||
|
|
||||||
const auto innerPath = cbFocusFramePath(innerRect, 0, innerRadius);
|
const auto innerPath = cbFocusFramePath(innerRect, 0, innerRadius);
|
||||||
focusRingPath.addPath(innerPath);
|
focusRingPath.addPath(innerPath);
|
||||||
const auto outterPath = cbFocusFramePath(outterRect, 2 * focusRingWidth, outterRadius);
|
const auto outerPath = cbFocusFramePath(outerRect, 2 * focusRingWidth, outerRadius);
|
||||||
focusRingPath.addPath(outterPath);
|
focusRingPath.addPath(outerPath);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
@ -1422,6 +1343,12 @@ QMacStylePrivate::Direction QMacStylePrivate::tabDirection(QTabBar::Shape shape)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool QMacStylePrivate::verticalTabs(QMacStylePrivate::Direction direction)
|
||||||
|
{
|
||||||
|
return (direction == QMacStylePrivate::East
|
||||||
|
|| direction == QMacStylePrivate::West);
|
||||||
|
}
|
||||||
|
|
||||||
#endif // QT_CONFIG(tabbar)
|
#endif // QT_CONFIG(tabbar)
|
||||||
|
|
||||||
QStyleHelper::WidgetSizePolicy QMacStylePrivate::effectiveAquaSizeConstrain(const QStyleOption *option,
|
QStyleHelper::WidgetSizePolicy QMacStylePrivate::effectiveAquaSizeConstrain(const QStyleOption *option,
|
||||||
@ -1609,7 +1536,6 @@ QMarginsF QMacStylePrivate::CocoaControl::titleMargins() const
|
|||||||
return QMarginsF();
|
return QMarginsF();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool QMacStylePrivate::CocoaControl::getCocoaButtonTypeAndBezelStyle(NSButtonType *buttonType, NSBezelStyle *bezelStyle) const
|
bool QMacStylePrivate::CocoaControl::getCocoaButtonTypeAndBezelStyle(NSButtonType *buttonType, NSBezelStyle *bezelStyle) const
|
||||||
{
|
{
|
||||||
switch (type) {
|
switch (type) {
|
||||||
@ -1670,9 +1596,9 @@ QMacStylePrivate::CocoaControlType cocoaControlType(const QStyleOption *opt, con
|
|||||||
Carbon draws comboboxes (and other views) outside the rect given as argument. Use this function to obtain
|
Carbon draws comboboxes (and other views) outside the rect given as argument. Use this function to obtain
|
||||||
the corresponding inner rect for drawing the same combobox so that it stays inside the given outerBounds.
|
the corresponding inner rect for drawing the same combobox so that it stays inside the given outerBounds.
|
||||||
*/
|
*/
|
||||||
CGRect QMacStylePrivate::comboboxInnerBounds(const CGRect &outterBounds, const CocoaControl &cocoaWidget)
|
CGRect QMacStylePrivate::comboboxInnerBounds(const CGRect &outerBounds, const CocoaControl &cocoaWidget)
|
||||||
{
|
{
|
||||||
CGRect innerBounds = outterBounds;
|
CGRect innerBounds = outerBounds;
|
||||||
// Carbon draw parts of the view outside the rect.
|
// Carbon draw parts of the view outside the rect.
|
||||||
// So make the rect a bit smaller to compensate
|
// So make the rect a bit smaller to compensate
|
||||||
// (I wish HIThemeGetButtonBackgroundBounds worked)
|
// (I wish HIThemeGetButtonBackgroundBounds worked)
|
||||||
@ -1727,9 +1653,9 @@ CGRect QMacStylePrivate::comboboxInnerBounds(const CGRect &outterBounds, const C
|
|||||||
Inside a combobox Qt places a line edit widget. The size of this widget should depend on the kind
|
Inside a combobox Qt places a line edit widget. The size of this widget should depend on the kind
|
||||||
of combobox we choose to draw. This function calculates and returns this size.
|
of combobox we choose to draw. This function calculates and returns this size.
|
||||||
*/
|
*/
|
||||||
QRectF QMacStylePrivate::comboboxEditBounds(const QRectF &outterBounds, const CocoaControl &cw)
|
QRectF QMacStylePrivate::comboboxEditBounds(const QRectF &outerBounds, const CocoaControl &cw)
|
||||||
{
|
{
|
||||||
QRectF ret = outterBounds;
|
QRectF ret = outerBounds;
|
||||||
if (cw.type == ComboBox) {
|
if (cw.type == ComboBox) {
|
||||||
switch (cw.size) {
|
switch (cw.size) {
|
||||||
case QStyleHelper::SizeLarge:
|
case QStyleHelper::SizeLarge:
|
||||||
@ -1785,27 +1711,12 @@ QMacStylePrivate::~QMacStylePrivate()
|
|||||||
[cell release];
|
[cell release];
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
ThemeDrawState QMacStylePrivate::getDrawState(QStyle::State flags)
|
|
||||||
{
|
|
||||||
ThemeDrawState tds = kThemeStateActive;
|
|
||||||
if (flags & QStyle::State_Sunken) {
|
|
||||||
tds = kThemeStatePressed;
|
|
||||||
} else if (flags & QStyle::State_Active) {
|
|
||||||
if (!(flags & QStyle::State_Enabled))
|
|
||||||
tds = kThemeStateUnavailable;
|
|
||||||
} else {
|
|
||||||
if (flags & QStyle::State_Enabled)
|
|
||||||
tds = kThemeStateInactive;
|
|
||||||
else
|
|
||||||
tds = kThemeStateUnavailableInactive;
|
|
||||||
}
|
|
||||||
return tds;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
NSView *QMacStylePrivate::cocoaControl(CocoaControl widget) const
|
NSView *QMacStylePrivate::cocoaControl(CocoaControl widget) const
|
||||||
{
|
{
|
||||||
|
if (widget.type == QMacStylePrivate::NoControl
|
||||||
|
|| widget.size == QStyleHelper::SizeDefault)
|
||||||
|
return nil;
|
||||||
|
|
||||||
NSView *bv = cocoaControls.value(widget, nil);
|
NSView *bv = cocoaControls.value(widget, nil);
|
||||||
if (!bv) {
|
if (!bv) {
|
||||||
switch (widget.type) {
|
switch (widget.type) {
|
||||||
@ -1987,15 +1898,13 @@ NSCell *QMacStylePrivate::cocoaCell(CocoaControl widget) const
|
|||||||
return cell;
|
return cell;
|
||||||
}
|
}
|
||||||
|
|
||||||
void QMacStylePrivate::drawNSViewInRect(CocoaControl widget, NSView *view, const QRectF &qtRect, QPainter *p, bool isQWidget, __attribute__((noescape)) DrawRectBlock drawRectBlock) const
|
void QMacStylePrivate::drawNSViewInRect(NSView *view, const QRectF &qtRect, QPainter *p,
|
||||||
|
__attribute__((noescape)) DrawRectBlock drawRectBlock) const
|
||||||
{
|
{
|
||||||
Q_UNUSED(isQWidget);
|
|
||||||
Q_UNUSED(widget);
|
|
||||||
|
|
||||||
QMacCGContext ctx(p);
|
QMacCGContext ctx(p);
|
||||||
setupNSGraphicsContext(ctx, YES);
|
setupNSGraphicsContext(ctx, YES);
|
||||||
|
|
||||||
const CGRect rect = CGRectMake(qtRect.x(), qtRect.y(), qtRect.width(), qtRect.height());
|
const CGRect rect = qtRect.toCGRect();
|
||||||
|
|
||||||
[backingStoreNSView addSubview:view];
|
[backingStoreNSView addSubview:view];
|
||||||
view.frame = rect;
|
view.frame = rect;
|
||||||
@ -3003,9 +2912,9 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai
|
|||||||
case PE_FrameTabWidget:
|
case PE_FrameTabWidget:
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
const auto cw = QMacStylePrivate::CocoaControl(QMacStylePrivate::Box, QStyleHelper::SizeDefault);
|
const auto cw = QMacStylePrivate::CocoaControl(QMacStylePrivate::Box, QStyleHelper::SizeLarge);
|
||||||
auto *box = static_cast<NSBox *>(d->cocoaControl(cw));
|
auto *box = static_cast<NSBox *>(d->cocoaControl(cw));
|
||||||
d->drawNSViewInRect(cw, box, opt->rect, p, w != nullptr, ^(CGContextRef ctx, const CGRect &rect) {
|
d->drawNSViewInRect(box, opt->rect, p, ^(CGContextRef ctx, const CGRect &rect) {
|
||||||
CGContextTranslateCTM(ctx, 0, rect.origin.y + rect.size.height);
|
CGContextTranslateCTM(ctx, 0, rect.origin.y + rect.size.height);
|
||||||
CGContextScaleCTM(ctx, 1, -1);
|
CGContextScaleCTM(ctx, 1, -1);
|
||||||
[box drawRect:rect];
|
[box drawRect:rect];
|
||||||
@ -3165,7 +3074,7 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai
|
|||||||
|
|
||||||
return cs == QStyleHelper::SizeSmall ? 0.5 : 0.0;
|
return cs == QStyleHelper::SizeSmall ? 0.5 : 0.0;
|
||||||
} ();
|
} ();
|
||||||
d->drawNSViewInRect(cw, tb, opt->rect, p, w != nullptr, ^(CGContextRef ctx, const CGRect &rect) {
|
d->drawNSViewInRect(tb, opt->rect, p, ^(CGContextRef ctx, const CGRect &rect) {
|
||||||
CGContextTranslateCTM(ctx, 0, vOffset);
|
CGContextTranslateCTM(ctx, 0, vOffset);
|
||||||
[tb.cell drawInteriorWithFrame:rect inView:tb];
|
[tb.cell drawInteriorWithFrame:rect inView:tb];
|
||||||
});
|
});
|
||||||
@ -3176,7 +3085,7 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai
|
|||||||
case PE_IndicatorBranch: {
|
case PE_IndicatorBranch: {
|
||||||
if (!(opt->state & State_Children))
|
if (!(opt->state & State_Children))
|
||||||
break;
|
break;
|
||||||
const auto cw = QMacStylePrivate::CocoaControl(QMacStylePrivate::Button_Disclosure, QStyleHelper::SizeLarge);
|
const auto cw = QMacStylePrivate::CocoaControl(QMacStylePrivate::Button_Disclosure, QStyleHelper::SizeLarge);
|
||||||
NSButtonCell *triangleCell = static_cast<NSButtonCell *>(d->cocoaCell(cw));
|
NSButtonCell *triangleCell = static_cast<NSButtonCell *>(d->cocoaCell(cw));
|
||||||
[triangleCell setState:(opt->state & State_Open) ? NSOnState : NSOffState];
|
[triangleCell setState:(opt->state & State_Open) ? NSOnState : NSOffState];
|
||||||
bool viewHasFocus = (w && w->hasFocus()) || (opt->state & State_HasFocus);
|
bool viewHasFocus = (w && w->hasFocus()) || (opt->state & State_HasFocus);
|
||||||
@ -3218,7 +3127,7 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai
|
|||||||
tf.bezeled = YES;
|
tf.bezeled = YES;
|
||||||
static_cast<NSTextFieldCell *>(tf.cell).bezelStyle = isRounded ? NSTextFieldRoundedBezel : NSTextFieldSquareBezel;
|
static_cast<NSTextFieldCell *>(tf.cell).bezelStyle = isRounded ? NSTextFieldRoundedBezel : NSTextFieldSquareBezel;
|
||||||
tf.frame = opt->rect.toCGRect();
|
tf.frame = opt->rect.toCGRect();
|
||||||
d->drawNSViewInRect(cw, tf, opt->rect, p, w != nullptr, ^(CGContextRef ctx, const CGRect &rect) {
|
d->drawNSViewInRect(tf, opt->rect, p, ^(CGContextRef ctx, const CGRect &rect) {
|
||||||
Q_UNUSED(ctx);
|
Q_UNUSED(ctx);
|
||||||
[tf.cell drawWithFrame:rect inView:tf];
|
[tf.cell drawWithFrame:rect inView:tf];
|
||||||
});
|
});
|
||||||
@ -3308,7 +3217,7 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline QPixmap darkenPixmap(const QPixmap &pixmap)
|
static QPixmap darkenPixmap(const QPixmap &pixmap)
|
||||||
{
|
{
|
||||||
QImage img = pixmap.toImage().convertToFormat(QImage::Format_ARGB32);
|
QImage img = pixmap.toImage().convertToFormat(QImage::Format_ARGB32);
|
||||||
int imgh = img.height();
|
int imgh = img.height();
|
||||||
@ -3331,8 +3240,6 @@ static inline QPixmap darkenPixmap(const QPixmap &pixmap)
|
|||||||
return QPixmap::fromImage(img);
|
return QPixmap::fromImage(img);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void QMacStylePrivate::setupVerticalInvertedXform(CGContextRef cg, bool reverse, bool vertical, const CGRect &rect) const
|
void QMacStylePrivate::setupVerticalInvertedXform(CGContextRef cg, bool reverse, bool vertical, const CGRect &rect) const
|
||||||
{
|
{
|
||||||
if (vertical) {
|
if (vertical) {
|
||||||
@ -3552,7 +3459,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
|
|||||||
pb.enabled = isEnabled;
|
pb.enabled = isEnabled;
|
||||||
[pb highlight:isPressed];
|
[pb highlight:isPressed];
|
||||||
pb.state = isHighlighted && !isPressed ? NSOnState : NSOffState;
|
pb.state = isHighlighted && !isPressed ? NSOnState : NSOffState;
|
||||||
d->drawNSViewInRect(cw, pb, frameRect, p, true, ^(CGContextRef __unused ctx, const CGRect &r) {
|
d->drawNSViewInRect(pb, frameRect, p, ^(CGContextRef __unused ctx, const CGRect &r) {
|
||||||
[pb.cell drawBezelWithFrame:r inView:pb.superview];
|
[pb.cell drawBezelWithFrame:r inView:pb.superview];
|
||||||
});
|
});
|
||||||
[pb highlight:NO];
|
[pb highlight:NO];
|
||||||
@ -3732,7 +3639,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
|
|||||||
auto vOffset = isSelected ? 2 : 1;
|
auto vOffset = isSelected ? 2 : 1;
|
||||||
if (tabDirection == QMacStylePrivate::East)
|
if (tabDirection == QMacStylePrivate::East)
|
||||||
vOffset -= 1;
|
vOffset -= 1;
|
||||||
const auto outterAdjust = isSelected ? 4 : 1;
|
const auto outerAdjust = isSelected ? 4 : 1;
|
||||||
const auto innerAdjust = isSelected ? 10 : 20;
|
const auto innerAdjust = isSelected ? 10 : 20;
|
||||||
QRectF frameRect = tabOpt->rect;
|
QRectF frameRect = tabOpt->rect;
|
||||||
if (verticalTabs)
|
if (verticalTabs)
|
||||||
@ -3743,9 +3650,9 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
|
|||||||
case QStyleOptionTab::Beginning:
|
case QStyleOptionTab::Beginning:
|
||||||
// Pressed state hack: tweak adjustments in preparation for flip below
|
// Pressed state hack: tweak adjustments in preparation for flip below
|
||||||
if (!isSelected && tabDirection == QMacStylePrivate::West)
|
if (!isSelected && tabDirection == QMacStylePrivate::West)
|
||||||
frameRect = frameRect.adjusted(-innerAdjust, 0, outterAdjust, 0);
|
frameRect = frameRect.adjusted(-innerAdjust, 0, outerAdjust, 0);
|
||||||
else
|
else
|
||||||
frameRect = frameRect.adjusted(-outterAdjust, 0, innerAdjust, 0);
|
frameRect = frameRect.adjusted(-outerAdjust, 0, innerAdjust, 0);
|
||||||
break;
|
break;
|
||||||
case QStyleOptionTab::Middle:
|
case QStyleOptionTab::Middle:
|
||||||
frameRect = frameRect.adjusted(-innerAdjust, 0, innerAdjust, 0);
|
frameRect = frameRect.adjusted(-innerAdjust, 0, innerAdjust, 0);
|
||||||
@ -3753,12 +3660,12 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
|
|||||||
case QStyleOptionTab::End:
|
case QStyleOptionTab::End:
|
||||||
// Pressed state hack: tweak adjustments in preparation for flip below
|
// Pressed state hack: tweak adjustments in preparation for flip below
|
||||||
if (isSelected || tabDirection == QMacStylePrivate::West)
|
if (isSelected || tabDirection == QMacStylePrivate::West)
|
||||||
frameRect = frameRect.adjusted(-innerAdjust, 0, outterAdjust, 0);
|
frameRect = frameRect.adjusted(-innerAdjust, 0, outerAdjust, 0);
|
||||||
else
|
else
|
||||||
frameRect = frameRect.adjusted(-outterAdjust, 0, innerAdjust, 0);
|
frameRect = frameRect.adjusted(-outerAdjust, 0, innerAdjust, 0);
|
||||||
break;
|
break;
|
||||||
case QStyleOptionTab::OnlyOneTab:
|
case QStyleOptionTab::OnlyOneTab:
|
||||||
frameRect = frameRect.adjusted(-outterAdjust, 0, outterAdjust, 0);
|
frameRect = frameRect.adjusted(-outerAdjust, 0, outerAdjust, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
pb.frame = frameRect.toCGRect();
|
pb.frame = frameRect.toCGRect();
|
||||||
@ -3766,7 +3673,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
|
|||||||
pb.enabled = isEnabled;
|
pb.enabled = isEnabled;
|
||||||
[pb highlight:isPressed];
|
[pb highlight:isPressed];
|
||||||
pb.state = isSelected && !isPressed ? NSOnState : NSOffState;
|
pb.state = isSelected && !isPressed ? NSOnState : NSOffState;
|
||||||
d->drawNSViewInRect(cw, pb, frameRect, p, true, ^(CGContextRef ctx, const CGRect &r) {
|
d->drawNSViewInRect(pb, frameRect, p, ^(CGContextRef ctx, const CGRect &r) {
|
||||||
CGContextClipToRect(ctx, opt->rect.toCGRect());
|
CGContextClipToRect(ctx, opt->rect.toCGRect());
|
||||||
if (!isSelected) {
|
if (!isSelected) {
|
||||||
// Final stage of the pressed state hack: flip NSPopupButton rendering
|
// Final stage of the pressed state hack: flip NSPopupButton rendering
|
||||||
@ -4203,7 +4110,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
|
|||||||
|
|
||||||
const auto cw = QMacStylePrivate::CocoaControl(QMacStylePrivate::ProgressIndicator_Determinate, aquaSize);
|
const auto cw = QMacStylePrivate::CocoaControl(QMacStylePrivate::ProgressIndicator_Determinate, aquaSize);
|
||||||
auto *pi = static_cast<NSProgressIndicator *>(d->cocoaControl(cw));
|
auto *pi = static_cast<NSProgressIndicator *>(d->cocoaControl(cw));
|
||||||
d->drawNSViewInRect(cw, pi, rect, p, w != nullptr, ^(CGContextRef ctx, const CGRect &rect) {
|
d->drawNSViewInRect(pi, rect, p, ^(CGContextRef ctx, const CGRect &rect) {
|
||||||
d->setupVerticalInvertedXform(ctx, reverse, vertical, rect);
|
d->setupVerticalInvertedXform(ctx, reverse, vertical, rect);
|
||||||
pi.minValue = pb->minimum;
|
pi.minValue = pb->minimum;
|
||||||
pi.maxValue = pb->maximum;
|
pi.maxValue = pb->maximum;
|
||||||
@ -4253,7 +4160,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
|
|||||||
const auto cw = QMacStylePrivate::CocoaControl(ct, QStyleHelper::SizeLarge);
|
const auto cw = QMacStylePrivate::CocoaControl(ct, QStyleHelper::SizeLarge);
|
||||||
auto *sv = static_cast<NSSplitView *>(d->cocoaControl(cw));
|
auto *sv = static_cast<NSSplitView *>(d->cocoaControl(cw));
|
||||||
sv.frame = opt->rect.toCGRect();
|
sv.frame = opt->rect.toCGRect();
|
||||||
d->drawNSViewInRect(cw, sv, opt->rect, p, w != nullptr, ^(CGContextRef __unused ctx, const CGRect &rect) {
|
d->drawNSViewInRect(sv, opt->rect, p, ^(CGContextRef __unused ctx, const CGRect &rect) {
|
||||||
[sv drawDividerInRect:rect];
|
[sv drawDividerInRect:rect];
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
@ -5098,7 +5005,7 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex
|
|||||||
[slider.cell startTrackingAt:pressPoint inView:slider];
|
[slider.cell startTrackingAt:pressPoint inView:slider];
|
||||||
}
|
}
|
||||||
|
|
||||||
d->drawNSViewInRect(cw, slider, opt->rect, p, widget != 0, ^(CGContextRef ctx, const CGRect &rect) {
|
d->drawNSViewInRect(slider, opt->rect, p, ^(CGContextRef ctx, const CGRect &rect) {
|
||||||
if (isHorizontal && sl->upsideDown) {
|
if (isHorizontal && sl->upsideDown) {
|
||||||
CGContextTranslateCTM(ctx, rect.size.width, 0);
|
CGContextTranslateCTM(ctx, rect.size.width, 0);
|
||||||
CGContextScaleCTM(ctx, -1, 1);
|
CGContextScaleCTM(ctx, -1, 1);
|
||||||
@ -5260,7 +5167,7 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex
|
|||||||
}
|
}
|
||||||
pb.frame = frameRect.toCGRect();
|
pb.frame = frameRect.toCGRect();
|
||||||
[pb highlight:isPressed];
|
[pb highlight:isPressed];
|
||||||
d->drawNSViewInRect(cw, pb, frameRect, p, widget != 0, ^(CGContextRef __unused ctx, const CGRect &r) {
|
d->drawNSViewInRect(pb, frameRect, p, ^(CGContextRef __unused ctx, const CGRect &r) {
|
||||||
[pb.cell drawBezelWithFrame:r inView:pb.superview];
|
[pb.cell drawBezelWithFrame:r inView:pb.superview];
|
||||||
});
|
});
|
||||||
} else if (cw.type == QMacStylePrivate::ComboBox) {
|
} else if (cw.type == QMacStylePrivate::ComboBox) {
|
||||||
@ -5273,7 +5180,7 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex
|
|||||||
#else
|
#else
|
||||||
// TODO Render to pixmap and darken the button manually
|
// TODO Render to pixmap and darken the button manually
|
||||||
#endif
|
#endif
|
||||||
d->drawNSViewInRect(cw, cb, frameRect, p, widget != 0, ^(CGContextRef __unused ctx, const CGRect &r) {
|
d->drawNSViewInRect(cb, frameRect, p, ^(CGContextRef __unused ctx, const CGRect &r) {
|
||||||
// FIXME This is usually drawn in the control's superview, but we wouldn't get inactive look in this case
|
// FIXME This is usually drawn in the control's superview, but we wouldn't get inactive look in this case
|
||||||
[cb.cell drawWithFrame:r inView:cb];
|
[cb.cell drawWithFrame:r inView:cb];
|
||||||
});
|
});
|
||||||
@ -5310,12 +5217,12 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex
|
|||||||
|
|
||||||
// FIXME A single drawPath() with 0-sized pen
|
// FIXME A single drawPath() with 0-sized pen
|
||||||
// doesn't look as good as this double fillPath().
|
// doesn't look as good as this double fillPath().
|
||||||
const auto outterFrameRect = QRectF(opt->rect.adjusted(0, 0, 0, opt->rect.height()));
|
const auto outerFrameRect = QRectF(opt->rect.adjusted(0, 0, 0, opt->rect.height()));
|
||||||
QPainterPath outterFramePath = d->windowPanelPath(outterFrameRect);
|
QPainterPath outerFramePath = d->windowPanelPath(outerFrameRect);
|
||||||
p->fillPath(outterFramePath, opt->palette.dark());
|
p->fillPath(outerFramePath, opt->palette.dark());
|
||||||
|
|
||||||
const auto frameAdjust = 1.0 / p->device()->devicePixelRatioF();
|
const auto frameAdjust = 1.0 / p->device()->devicePixelRatioF();
|
||||||
const auto innerFrameRect = outterFrameRect.adjusted(frameAdjust, frameAdjust, -frameAdjust, 0);
|
const auto innerFrameRect = outerFrameRect.adjusted(frameAdjust, frameAdjust, -frameAdjust, 0);
|
||||||
QPainterPath innerFramePath = d->windowPanelPath(innerFrameRect);
|
QPainterPath innerFramePath = d->windowPanelPath(innerFrameRect);
|
||||||
if (isActive) {
|
if (isActive) {
|
||||||
QLinearGradient g;
|
QLinearGradient g;
|
||||||
@ -5351,7 +5258,7 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex
|
|||||||
auto *wbCell = static_cast<NSButtonCell *>(wb.cell);
|
auto *wbCell = static_cast<NSButtonCell *>(wb.cell);
|
||||||
[wbCell drawWithFrame:rect inView:wb];
|
[wbCell drawWithFrame:rect inView:wb];
|
||||||
};
|
};
|
||||||
d->drawNSViewInRect(cw, wb, buttonRect, p, widget != nullptr, drawBlock);
|
d->drawNSViewInRect(wb, buttonRect, p, drawBlock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5461,7 +5368,7 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex
|
|||||||
[pb highlight:isPressed];
|
[pb highlight:isPressed];
|
||||||
pb.state = isHighlighted && !isPressed ? NSOnState : NSOffState;
|
pb.state = isHighlighted && !isPressed ? NSOnState : NSOffState;
|
||||||
const auto buttonRect = proxy()->subControlRect(cc, tb, SC_ToolButton, widget);
|
const auto buttonRect = proxy()->subControlRect(cc, tb, SC_ToolButton, widget);
|
||||||
d->drawNSViewInRect(cw, pb, buttonRect, p, ^(CGContextRef __unused ctx, const CGRect &rect) {
|
d->drawNSViewInRect(pb, buttonRect, p, ^(CGContextRef __unused ctx, const CGRect &rect) {
|
||||||
[pb.cell drawBezelWithFrame:rect inView:pb];
|
[pb.cell drawBezelWithFrame:rect inView:pb];
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -236,13 +236,7 @@ public:
|
|||||||
|
|
||||||
// Ideally these wouldn't exist, but since they already exist we need some accessors.
|
// Ideally these wouldn't exist, but since they already exist we need some accessors.
|
||||||
static const int PushButtonLeftOffset;
|
static const int PushButtonLeftOffset;
|
||||||
static const int PushButtonTopOffset;
|
|
||||||
static const int PushButtonRightOffset;
|
static const int PushButtonRightOffset;
|
||||||
static const int PushButtonBottomOffset;
|
|
||||||
static const int MiniButtonH;
|
|
||||||
static const int SmallButtonH;
|
|
||||||
static const int BevelButtonW;
|
|
||||||
static const int BevelButtonH;
|
|
||||||
static const int PushButtonContentPadding;
|
static const int PushButtonContentPadding;
|
||||||
|
|
||||||
enum Animates { AquaPushButton, AquaProgressBar, AquaListViewItemOpen, AquaScrollBar };
|
enum Animates { AquaPushButton, AquaProgressBar, AquaListViewItemOpen, AquaScrollBar };
|
||||||
@ -269,7 +263,7 @@ public:
|
|||||||
|
|
||||||
void setupVerticalInvertedXform(CGContextRef cg, bool reverse, bool vertical, const CGRect &rect) const;
|
void setupVerticalInvertedXform(CGContextRef cg, bool reverse, bool vertical, const CGRect &rect) const;
|
||||||
|
|
||||||
void drawNSViewInRect(CocoaControl widget, NSView *view, const QRectF &rect, QPainter *p, bool isQWidget = true, __attribute__((noescape)) DrawRectBlock drawRectBlock = nil) const;
|
void drawNSViewInRect(NSView *view, const QRectF &rect, QPainter *p, __attribute__((noescape)) DrawRectBlock drawRectBlock = nil) const;
|
||||||
void resolveCurrentNSView(QWindow *window) const;
|
void resolveCurrentNSView(QWindow *window) const;
|
||||||
|
|
||||||
void drawFocusRing(QPainter *p, const QRectF &targetRect, int hMargin, int vMargin, const CocoaControl &cw) const;
|
void drawFocusRing(QPainter *p, const QRectF &targetRect, int hMargin, int vMargin, const CocoaControl &cw) const;
|
||||||
@ -283,6 +277,7 @@ public:
|
|||||||
#if QT_CONFIG(tabbar)
|
#if QT_CONFIG(tabbar)
|
||||||
void tabLayout(const QStyleOptionTab *opt, const QWidget *widget, QRect *textRect, QRect *iconRect) const;
|
void tabLayout(const QStyleOptionTab *opt, const QWidget *widget, QRect *textRect, QRect *iconRect) const;
|
||||||
static Direction tabDirection(QTabBar::Shape shape);
|
static Direction tabDirection(QTabBar::Shape shape);
|
||||||
|
static bool verticalTabs(QMacStylePrivate::Direction tabDirection);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
Loading…
Reference in New Issue
Block a user