[Xfce4-commits] <gtk-xfce-engine:master> Added Gtk 3.4 support to the engine
Peter de Ridder
noreply at xfce.org
Sat Apr 28 11:40:01 CEST 2012
Updating branch refs/heads/master
to 39d67c146f82f0bc341cf62918220b3627b2ffa5 (commit)
from 1ff854f50179fa83b82502d5d44cbe47f7ee6833 (commit)
commit 39d67c146f82f0bc341cf62918220b3627b2ffa5
Author: Peter de Ridder <peter at xfce.org>
Date: Thu Apr 26 21:51:18 2012 +0200
Added Gtk 3.4 support to the engine
Themes are not updated default themes only support Gtk 3.2
gtk-3.0/xfce_engine.c | 80 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 80 insertions(+), 0 deletions(-)
diff --git a/gtk-3.0/xfce_engine.c b/gtk-3.0/xfce_engine.c
index acad345..7070c18 100644
--- a/gtk-3.0/xfce_engine.c
+++ b/gtk-3.0/xfce_engine.c
@@ -504,8 +504,16 @@ static void xfce_draw_frame(GtkThemingEngine * engine, cairo_t * cr, gdouble x,
switch (border_style)
{
+#if GTK_CHECK_VERSION(3,4,0)
+ case GTK_BORDER_STYLE_HIDDEN:
+#endif
case GTK_BORDER_STYLE_NONE:
break;
+#if GTK_CHECK_VERSION(3,4,0)
+ case GTK_BORDER_STYLE_DOTTED:
+ case GTK_BORDER_STYLE_DASHED:
+ case GTK_BORDER_STYLE_DOUBLE:
+#endif
case GTK_BORDER_STYLE_SOLID:
gdk_cairo_set_source_rgba(cr, &dark);
if ((xt > 1) && (yt > 1))
@@ -519,6 +527,78 @@ static void xfce_draw_frame(GtkThemingEngine * engine, cairo_t * cr, gdouble x,
}
cairo_stroke(cr);
break;
+#if GTK_CHECK_VERSION(3,4,0)
+ case GTK_BORDER_STYLE_GROOVE:
+ color_dark2light(&dark, &light);
+ if ((xt > 1) && (yt > 1))
+ {
+ gdk_cairo_set_source_rgba(cr, &light);
+ cairo_move_to(cr, x + 0.5, y + height - 0.5);
+ cairo_line_to(cr, x + width - 0.5, y + height - 0.5);
+ cairo_line_to(cr, x + width - 0.5, y + 0.5);
+ cairo_stroke(cr);
+
+ gdk_cairo_set_source_rgba(cr, &dark);
+ cairo_move_to(cr, x + width - 1.5, y + 0.5);
+ cairo_line_to(cr, x + 0.5, y + 0.5);
+ cairo_line_to(cr, x + 0.5, y + height - 1.5);
+ cairo_stroke(cr);
+
+ gdk_cairo_set_source_rgba(cr, &light);
+ cairo_move_to(cr, x + width - 1.5, y + 1.5);
+ cairo_line_to(cr, x + 1.5, y + 1.5);
+ cairo_line_to(cr, x + 1.5, y + height - 1.5);
+ cairo_stroke(cr);
+
+ gdk_cairo_set_source_rgba(cr, &dark);
+ cairo_move_to(cr, x + 1.5, y + height - 1.5);
+ cairo_line_to(cr, x + width - 1.5, y + height - 1.5);
+ cairo_line_to(cr, x + width - 1.5, y + 1.5);
+ cairo_stroke(cr);
+ }
+ else if ((xt > 0) && (yt > 0))
+ {
+ gdk_cairo_set_source_rgba(cr, &dark);
+ cairo_rectangle(cr, x + 0.5, y + 0.5, width - 1, height - 1);
+ cairo_stroke(cr);
+ }
+ break;
+ case GTK_BORDER_STYLE_RIDGE:
+ color_dark2light(&dark, &light);
+ if ((xt > 1) && (yt > 1))
+ {
+ gdk_cairo_set_source_rgba(cr, &dark);
+ cairo_move_to(cr, x + 0.5, y + height - 0.5);
+ cairo_line_to(cr, x + width - 0.5, y + height - 0.5);
+ cairo_line_to(cr, x + width - 0.5, y + 0.5);
+ cairo_stroke(cr);
+
+ gdk_cairo_set_source_rgba(cr, &light);
+ cairo_move_to(cr, x + width - 1.5, y + 0.5);
+ cairo_line_to(cr, x + 0.5, y + 0.5);
+ cairo_line_to(cr, x + 0.5, y + height - 1.5);
+ cairo_stroke(cr);
+
+ gdk_cairo_set_source_rgba(cr, &dark);
+ cairo_move_to(cr, x + width - 1.5, y + 1.5);
+ cairo_line_to(cr, x + 1.5, y + 1.5);
+ cairo_line_to(cr, x + 1.5, y + height - 1.5);
+ cairo_stroke(cr);
+
+ gdk_cairo_set_source_rgba(cr, &light);
+ cairo_move_to(cr, x + 1.5, y + height - 1.5);
+ cairo_line_to(cr, x + width - 1.5, y + height - 1.5);
+ cairo_line_to(cr, x + width - 1.5, y + 1.5);
+ cairo_stroke(cr);
+ }
+ else if ((xt > 0) && (yt > 0))
+ {
+ gdk_cairo_set_source_rgba(cr, &light);
+ cairo_rectangle(cr, x + 0.5, y + 0.5, width - 1, height - 1);
+ cairo_stroke(cr);
+ }
+ break;
+#endif
case GTK_BORDER_STYLE_INSET:
gtk_theming_engine_get(engine, state, XFCE_SMOOTH_EDGE, &smooth_edge, NULL);
color_dark2light_mid(&dark, &light, &mid);
More information about the Xfce4-commits
mailing list