[Libreoffice-commits] core.git: vcl/unx
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Fri May 14 20:09:05 UTC 2021
vcl/unx/gtk3/salnativewidgets-gtk.cxx | 77 +++++++++++++++++++++-------------
1 file changed, 49 insertions(+), 28 deletions(-)
New commits:
commit 8e6417164d1fc2ef51e8eb703d8395de464c9111
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Fri May 14 14:32:55 2021 +0100
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Fri May 14 22:08:22 2021 +0200
gtk[3|4] wrap gtk_style_context_get_margin for different num of args
and similar
Change-Id: Ie432e75658769fbd9cbecd2108d3f3a996bf6afd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115624
Tested-by: Caolán McNamara <caolanm at redhat.com>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/vcl/unx/gtk3/salnativewidgets-gtk.cxx b/vcl/unx/gtk3/salnativewidgets-gtk.cxx
index b37718b5b37d..311a0951a8e9 100644
--- a/vcl/unx/gtk3/salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/salnativewidgets-gtk.cxx
@@ -92,6 +92,33 @@ GtkStyleContext* GtkSalGraphics::mpRadioMenuItemRadioStyle = nullptr;
GtkStyleContext* GtkSalGraphics::mpSeparatorMenuItemStyle = nullptr;
GtkStyleContext* GtkSalGraphics::mpSeparatorMenuItemSeparatorStyle = nullptr;
+static void style_context_get_margin(GtkStyleContext *pContext, GtkBorder *pMargin)
+{
+#if GTK_CHECK_VERSION(4, 0, 0)
+ gtk_style_context_get_margin(pContext, pMargin);
+#else
+ gtk_style_context_get_margin(pContext, gtk_style_context_get_state(pContext), pMargin);
+#endif
+}
+
+static void style_context_get_border(GtkStyleContext* pContext, GtkBorder* pBorder)
+{
+#if GTK_CHECK_VERSION(4, 0, 0)
+ gtk_style_context_get_border(pContext, pBorder);
+#else
+ gtk_style_context_get_border(pContext, gtk_style_context_get_state(pContext), pBorder);
+#endif
+}
+
+static void style_context_get_padding(GtkStyleContext* pContext, GtkBorder* pPadding)
+{
+#if GTK_CHECK_VERSION(4, 0, 0)
+ gtk_style_context_get_padding(pContext, pPadding);
+#else
+ gtk_style_context_get_padding(pContext, gtk_style_context_get_state(pContext), pPadding);
+#endif
+}
+
bool GtkSalGraphics::style_loaded = false;
/************************************************************************
* State conversion
@@ -176,8 +203,8 @@ tools::Rectangle GtkSalGraphics::NWGetSpinButtonRect( ControlPart nPart, tools::
gint icon_size = std::max(w, h);
GtkBorder padding, border;
- gtk_style_context_get_padding(mpSpinUpStyle, gtk_style_context_get_state(mpSpinUpStyle), &padding);
- gtk_style_context_get_border(mpSpinUpStyle, gtk_style_context_get_state(mpSpinUpStyle), &border);
+ style_context_get_padding(mpSpinUpStyle, &padding);
+ style_context_get_border(mpSpinUpStyle, &border);
gint buttonWidth = icon_size + padding.left + padding.right +
border.left + border.right;
@@ -231,19 +258,13 @@ namespace
{
GtkBorder margin, border, padding;
-#if !GTK_CHECK_VERSION(4, 0, 0)
- GtkStateFlags stateflags = gtk_style_context_get_state (pContext);
- gtk_style_context_get_margin(pContext, stateflags, &margin);
- gtk_style_context_get_border(pContext, stateflags, &border);
- gtk_style_context_get_padding(pContext, stateflags, &padding);
-#else
- gtk_style_context_get_margin(pContext, &margin);
- gtk_style_context_get_border(pContext, &border);
- gtk_style_context_get_padding(pContext, &padding);
-#endif
+ style_context_get_margin(pContext, &margin);
+ style_context_get_border(pContext, &border);
+ style_context_get_padding(pContext, &padding);
int nMinWidth(0), nMinHeight(0);
#if !GTK_CHECK_VERSION(4, 0, 0)
+ GtkStateFlags stateflags = gtk_style_context_get_state (pContext);
gtk_style_context_get(pContext, stateflags,
"min-width", &nMinWidth, "min-height", &nMinHeight, nullptr);
#endif
@@ -384,7 +405,7 @@ namespace
tools::Rectangle aRect(rIn);
GtkBorder margin;
- gtk_style_context_get_margin(pContext, gtk_style_context_get_state(pContext), &margin);
+ style_context_get_margin(pContext, &margin);
aRect.AdjustLeft(margin.left );
aRect.AdjustTop(margin.top );
@@ -397,8 +418,8 @@ namespace
aRect.GetWidth(), aRect.GetHeight());
GtkBorder border, padding;
- gtk_style_context_get_border(pContext, gtk_style_context_get_state(pContext), &border);
- gtk_style_context_get_padding(pContext, gtk_style_context_get_state(pContext), &padding);
+ style_context_get_border(pContext, &border);
+ style_context_get_padding(pContext, &padding);
aRect.AdjustLeft(border.left + padding.left );
aRect.AdjustTop(border.top + padding.top );
@@ -724,7 +745,7 @@ void GtkSalGraphics::PaintScrollbar(GtkStyleContext *context,
gtk_style_context_set_state(pScrollbarSliderStyle, stateFlags);
GtkBorder margin;
- gtk_style_context_get_margin(pScrollbarSliderStyle, stateFlags, &margin);
+ style_context_get_margin(pScrollbarSliderStyle, &margin);
gtk_render_background(pScrollbarSliderStyle, cr,
thumbRect.Left() + margin.left, thumbRect.Top() + margin.top,
@@ -752,8 +773,8 @@ void GtkSalGraphics::PaintOneSpinButton( GtkStyleContext *context,
gtk_style_context_set_state(context, stateFlags);
stateFlags = gtk_style_context_get_state(context);
- gtk_style_context_get_padding(context, stateFlags, &padding);
- gtk_style_context_get_border(context, stateFlags, &border);
+ style_context_get_padding(context, &padding);
+ style_context_get_border(context, &border);
gtk_render_background(context, cr,
buttonRect.Left(), buttonRect.Top(),
@@ -849,9 +870,9 @@ tools::Rectangle GtkSalGraphics::NWGetComboBoxButtonRect(ControlType nType,
GtkBorder padding;
if (nType == ControlType::Listbox)
- gtk_style_context_get_padding(mpListboxButtonStyle, gtk_style_context_get_state(mpListboxButtonStyle), &padding);
+ style_context_get_padding(mpListboxButtonStyle, &padding);
else
- gtk_style_context_get_padding(mpButtonStyle, gtk_style_context_get_state(mpButtonStyle), &padding);
+ style_context_get_padding(mpButtonStyle, &padding);
gint nArrowWidth = FALLBACK_ARROW_SIZE;
gtk_style_context_get(mpComboboxButtonArrowStyle,
@@ -1880,7 +1901,7 @@ bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, co
{
GtkBorder border;
- gtk_style_context_get_border(context, flags, &border);
+ style_context_get_border(context, &border);
nX += border.left;
nY += border.top;
@@ -1900,7 +1921,7 @@ bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, co
if (nProgressWidth)
{
GtkBorder padding;
- gtk_style_context_get_padding(context, gtk_style_context_get_state(context), &padding);
+ style_context_get_padding(context, &padding);
nX += padding.left;
nY += padding.top;
@@ -1956,10 +1977,10 @@ static tools::Rectangle GetWidgetSize(const tools::Rectangle& rControlRegion, Gt
static tools::Rectangle AdjustRectForTextBordersPadding(GtkStyleContext* pStyle, tools::Long nContentWidth, tools::Long nContentHeight, const tools::Rectangle& rControlRegion)
{
GtkBorder border;
- gtk_style_context_get_border(pStyle, gtk_style_context_get_state(pStyle), &border);
+ style_context_get_border(pStyle, &border);
GtkBorder padding;
- gtk_style_context_get_padding(pStyle, gtk_style_context_get_state(pStyle), &padding);
+ style_context_get_padding(pStyle, &padding);
gint nWidgetHeight = nContentHeight + padding.top + padding.bottom + border.top + border.bottom;
nWidgetHeight = std::max(std::max<gint>(nWidgetHeight, rControlRegion.GetHeight()), 34);
@@ -1994,10 +2015,10 @@ bool GtkSalGraphics::getNativeControlRegion( ControlType nType, ControlPart nPar
nullptr );
GtkBorder border;
- gtk_style_context_get_border(pButtonStyle, gtk_style_context_get_state(pButtonStyle), &border);
+ style_context_get_border(pButtonStyle, &border);
GtkBorder padding;
- gtk_style_context_get_padding(pButtonStyle, gtk_style_context_get_state(pButtonStyle), &padding);
+ style_context_get_padding(pButtonStyle, &padding);
indicator_size += 2*indicator_spacing + border.left + padding.left + border.right + padding.right;
@@ -2106,10 +2127,10 @@ bool GtkSalGraphics::getNativeControlRegion( ControlType nType, ControlPart nPar
aEditRect = rControlRegion;
GtkBorder padding;
- gtk_style_context_get_padding(mpFrameInStyle, gtk_style_context_get_state(mpFrameInStyle), &padding);
+ style_context_get_padding(mpFrameInStyle, &padding);
GtkBorder border;
- gtk_style_context_get_border(mpFrameInStyle, gtk_style_context_get_state(mpFrameInStyle), &border);
+ style_context_get_border(mpFrameInStyle, &border);
int x1 = aEditRect.Left();
int y1 = aEditRect.Top();
More information about the Libreoffice-commits
mailing list