]> Pileus Git - ~andy/gtk/commitdiff
Add examples for frame rendering
authorMatthias Clasen <mclasen@redhat.com>
Tue, 23 Nov 2010 21:35:28 +0000 (16:35 -0500)
committerCarlos Garnacho <carlosg@gnome.org>
Sat, 4 Dec 2010 14:39:38 +0000 (15:39 +0100)
docs/reference/gtk/Makefile.am
docs/reference/gtk/images/frames.png [new file with mode: 0644]
gtk/gtkstylecontext.c
tests/styleexamples.c

index 9af5bd6935444286353bfeb8360e8348bf2766d5..62f4556b8cbeb83135a688ccf62151e0a49b04fc 100644 (file)
@@ -346,7 +346,8 @@ HTML_IMAGES = \
        $(srcdir)/images/options.png                                    \
        $(srcdir)/images/arrows.png                                     \
        $(srcdir)/images/expanders.png                                  \
-       $(srcdir)/images/background.png
+       $(srcdir)/images/background.png                                 \
+       $(srcdir)/images/frames.png
 
 # Extra options to supply to gtkdoc-fixref
 FIXXREF_OPTIONS=--extra-dir=../gdk/html \
diff --git a/docs/reference/gtk/images/frames.png b/docs/reference/gtk/images/frames.png
new file mode 100644 (file)
index 0000000..12d6c7e
Binary files /dev/null and b/docs/reference/gtk/images/frames.png differ
index dbde6231ee0f254ba16f802ba514e7518a1b9779..205a7e69908b1ef7e851a5908c8c28afbd4886f9 100644 (file)
@@ -2986,7 +2986,7 @@ gtk_render_option (GtkStyleContext *context,
  * Renders an arrow pointing to @angle.
  *
  * <example>
- * <title>Typical arrow renderings at 0, 1&solidus;2 &pi;, &pi; and 3&solidus;2 &pi;</title>
+ * <title>Typical arrow rendering at 0, 1&solidus;2 &pi;, &pi; and 3&solidus;2 &pi;</title>
  * <inlinegraphic fileref="arrows.png" format="PNG"/>
  * </example>
  *
@@ -3029,7 +3029,9 @@ gtk_render_arrow (GtkStyleContext *context,
  *
  * <example>
  * <title>Typical background rendering, showing the effect of
- * @border-image, @border-width and @border-radius</title>
+ * <parameter>background-image</parameter>,
+ * <parameter>border-width</parameter and
+ * <parameter>border-radius</parameter></title>
  * <inlinegraphic fileref="background.png" format="PNG"/>
  * </example>
  *
@@ -3069,6 +3071,16 @@ gtk_render_background (GtkStyleContext *context,
  *
  * Renders a frame around the rectangle defined by @x, @y, @width, @height.
  *
+ * <example>
+ * <title>Examples of frame rendering, showing the effect of
+ * <parameter>border-image</parameter>,
+ * <parameter>border-color</parameter>,
+ * <parameter>border-width</parameter>,
+ * <parameter>border-radius</parameter> and
+ * junctions</title>
+ * <inlinegraphic fileref="frames.png" format="PNG"/>
+ * </example>
+ *
  * Since: 3.0
  **/
 void
@@ -3108,7 +3120,7 @@ gtk_render_frame (GtkStyleContext *context,
  * determines whether the expander is collapsed or expanded.
  *
  * <example>
- * <title>Typical expander renderings</title>
+ * <title>Typical expander rendering</title>
  * <inlinegraphic fileref="expanders.png" format="PNG"/>
  * </example>
  *
index a382c8868d7349bfd6eb0c96c8dc5fe2ef7639a5..c43336f4f64acbb05a8e1ba84710feef2bb65e61 100644 (file)
@@ -132,13 +132,40 @@ draw_cb_frame (GtkWidget *widget, cairo_t *cr)
 
   provider = (GtkStyleProvider *)gtk_css_provider_new ();
   gtk_css_provider_load_from_data (GTK_CSS_PROVIDER (provider),
-                                   ".frame {\n"
+                                   ".frame1 {\n"
                                    "   border-image: url('gradient1.png') 10 10 10 10 stretch;\n"
-                                   "   border-style; solid\n"
-                                   "}\n", -1, NULL);
+                                   "}\n"
+                                   ".frame2 {\n"
+                                   "   border-style: solid;\n"
+                                   "   border-color: rgb(255,0,0);\n"
+                                   "   border-width: 10;\n"
+                                   "   border-radius: 10;\n"
+                                   "}\n"
+                                   ".frame3 {\n"
+                                   "   border-style: solid;\n"
+                                   "   border-color: rgb(0,0,0);\n"
+                                   "   border-width: 2;\n"
+                                   "   border-radius: 10;\n"
+                                   "}\n",
+                                   -1, NULL);
   gtk_style_context_add_provider (context, provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+
+  gtk_style_context_add_class (context, "frame1");
   gtk_style_context_set_junction_sides (context, 0);
-  gtk_render_frame (context, cr, 12, 12, 25, 25);
+  gtk_render_frame (context, cr, 12, 12, 50, 50);
+  gtk_style_context_remove_class (context, "frame1");
+
+  gtk_style_context_add_class (context, "frame2");
+  gtk_render_frame (context, cr, 74, 12, 50, 50);
+  gtk_style_context_remove_class (context, "frame2");
+
+  gtk_style_context_add_class (context, "frame3");
+  gtk_style_context_set_junction_sides (context, GTK_JUNCTION_RIGHT);
+  gtk_render_frame (context, cr, 12, 74, 56, 50);
+  gtk_style_context_set_junction_sides (context, GTK_JUNCTION_LEFT);
+  gtk_render_frame (context, cr, 68, 74, 56, 50);
+  gtk_style_context_remove_class (context, "frame3");
+
   gtk_style_context_remove_provider (context, provider);
   gtk_style_context_restore (context);