vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx | 69 ++++++++++++++---------------- 1 file changed, 33 insertions(+), 36 deletions(-)
New commits: commit e3fca8b4a0f5e517f994b35f1d4ff152fb17c3a2 Author: Caolán McNamara <caol...@redhat.com> Date: Fri Oct 14 14:34:01 2016 +0100 bundle duplicate code together Change-Id: Id67e5026e21138c0583df8099436da01e4e2dab3 diff --git a/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx index 4ee12db..65d9a6c 100644 --- a/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx +++ b/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx @@ -292,6 +292,26 @@ static GtkWidget* gMenuItemMenuBarWidget; static GtkWidget* gCheckMenuItemWidget; static GtkWidget* gTreeViewWidget; +namespace +{ + void render_common(GtkStyleContext *pContext, cairo_t *cr, const Rectangle &rIn) + { + Rectangle aRect(rIn); + GtkBorder margin; + gtk_style_context_get_margin(pContext, gtk_style_context_get_state(pContext), &margin); + + aRect.Left() += margin.left; + aRect.Top() += margin.top; + aRect.Right() -= margin.right; + aRect.Bottom() -= margin.bottom; + + gtk_render_background(pContext, cr, aRect.Left(), aRect.Top(), + aRect.GetWidth(), aRect.GetHeight()); + gtk_render_frame(pContext, cr, aRect.Left(), aRect.Top(), + aRect.GetWidth(), aRect.GetHeight()); + } +} + void GtkSalGraphics::PaintScrollbar(GtkStyleContext *context, cairo_t *cr, const Rectangle& rControlRectangle, @@ -770,7 +790,9 @@ void GtkSalGraphics::PaintCombobox( GtkStateFlags flags, cairo_t *cr, buttonRect.Top() + (gint)((buttonRect.GetHeight() - arrowRect.GetHeight()) / 2) ) ); - if ( nType == ControlType::Combobox ) + Rectangle aRect(Point(0, 0), Size(areaRect.GetWidth(), areaRect.GetHeight())); + + if (nType == ControlType::Combobox) { gtk_style_context_save(mpComboboxButtonStyle); gtk_style_context_set_state(mpComboboxButtonStyle, flags); @@ -784,31 +806,17 @@ void GtkSalGraphics::PaintCombobox( GtkStateFlags flags, cairo_t *cr, else gtk_style_context_set_junction_sides(mpEntryStyle, GTK_JUNCTION_RIGHT); - gtk_render_background(mpComboboxStyle, cr, - 0, 0, - areaRect.GetWidth(), areaRect.GetHeight()); - gtk_render_frame(mpComboboxStyle, cr, - 0, 0, - areaRect.GetWidth(), areaRect.GetHeight()); - gtk_render_background(mpEntryStyle, cr, - (aEditBoxRect.Left() - areaRect.Left()), - (aEditBoxRect.Top() - areaRect.Top()), - aEditBoxRect.GetWidth(), aEditBoxRect.GetHeight() ); - gtk_render_frame(mpEntryStyle, cr, - (aEditBoxRect.Left() - areaRect.Left()), - (aEditBoxRect.Top() - areaRect.Top()), - aEditBoxRect.GetWidth(), aEditBoxRect.GetHeight() ); + render_common(mpComboboxStyle, cr, aRect); + Rectangle aEntryRect(Point(aEditBoxRect.Left() - areaRect.Left(), + aEditBoxRect.Top() - areaRect.Top()), + Size(aEditBoxRect.GetWidth(), aEditBoxRect.GetHeight())); + render_common(mpEntryStyle, cr, aEntryRect); gtk_style_context_set_junction_sides(mpEntryStyle, eJuncSides); } - gtk_render_background(mpComboboxButtonStyle, cr, - (buttonRect.Left() - areaRect.Left()), - (buttonRect.Top() - areaRect.Top()), - buttonRect.GetWidth(), buttonRect.GetHeight() ); - gtk_render_frame(mpComboboxButtonStyle, cr, - (buttonRect.Left() - areaRect.Left()), - (buttonRect.Top() - areaRect.Top()), - buttonRect.GetWidth(), buttonRect.GetHeight() ); + Rectangle aButtonRect(Point(buttonRect.Left() - areaRect.Left(), buttonRect.Top() - areaRect.Top()), + Size(buttonRect.GetWidth(), buttonRect.GetHeight())); + render_common(mpComboboxButtonStyle, cr, aButtonRect); gtk_render_arrow(mpComboboxButtonArrowStyle, cr, G_PI, @@ -831,19 +839,8 @@ void GtkSalGraphics::PaintCombobox( GtkStateFlags flags, cairo_t *cr, gtk_style_context_save(mpListboxButtonStyle); gtk_style_context_set_state(mpListboxButtonStyle, flags); - gtk_render_background(mpListboxStyle, cr, - 0, 0, - areaRect.GetWidth(), areaRect.GetHeight()); - gtk_render_frame(mpListboxStyle, cr, - 0, 0, - areaRect.GetWidth(), areaRect.GetHeight()); - - gtk_render_background(mpListboxButtonStyle, cr, - 0, 0, - areaRect.GetWidth(), areaRect.GetHeight()); - gtk_render_frame(mpListboxButtonStyle, cr, - 0, 0, - areaRect.GetWidth(), areaRect.GetHeight()); + render_common(mpListboxStyle, cr, aRect); + render_common(mpListboxButtonStyle, cr, aRect); gtk_render_arrow(mpListboxButtonArrowStyle, cr, G_PI,
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits