summaryrefslogtreecommitdiff
path: root/vcl/unx/gtk3
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-11-24 09:51:07 +0000
committerCaolán McNamara <caolanm@redhat.com>2016-11-24 09:52:04 +0000
commitf9fee44d1b49d859f9ee6ab22cc34c758aac71f0 (patch)
treefccace01771d3b579ca1b11d8a3c3788182fe04c /vcl/unx/gtk3
parentc7f2115d774485a235b671c82302dbf38841e3c9 (diff)
can have gtk >= 3.10.0 with cairo < 1.14.0
I imagine that without cairo 1.14.0 there's no point scaling, so force 1 then. Change-Id: I0e778ed5a57f9ede9f4b78369c470b23b94fe82f
Diffstat (limited to 'vcl/unx/gtk3')
-rw-r--r--vcl/unx/gtk3/gtk3gtkframe.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
index 5acb139e1935..645f80076b5b 100644
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
@@ -1576,13 +1576,19 @@ void GtkSalFrame::AllocateFrame()
cairo_surface_destroy(m_pSurface);
#if GTK_CHECK_VERSION(3,10,0)
+#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 14, 0)
int scale = getDisplay()->IsOwnHiDpiScale() ? 1 : gtk_widget_get_scale_factor(m_pWindow);
+#else
+ int scale = 1;
+#endif
m_pSurface = gdk_window_create_similar_image_surface(widget_get_window(m_pWindow),
CAIRO_FORMAT_ARGB32,
aFrameSize.getX() * scale,
aFrameSize.getY() * scale,
scale);
+#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 14, 0)
cairo_surface_set_device_scale(m_pSurface, scale, scale);
+#endif
#else
m_pSurface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32,
aFrameSize.getX(),