diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2021-02-17 17:41:56 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2021-03-11 16:37:30 +0000 |
commit | 6f93e63d214e4a0d008a0d79c32101ae0da1f4e8 (patch) | |
tree | 0016ea8bf361517b65b16e576ffeff0450721428 /gdk/gdkpango.c | |
parent | 04fb95ce9f65f3464bcabe42d1c6092ac6719a7d (diff) | |
download | gtk+-6f93e63d214e4a0d008a0d79c32101ae0da1f4e8.tar.gz |
docs: Move detached sections into their own content file
Diffstat (limited to 'gdk/gdkpango.c')
-rw-r--r-- | gdk/gdkpango.c | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/gdk/gdkpango.c b/gdk/gdkpango.c index e050b985c6..5c25b3521b 100644 --- a/gdk/gdkpango.c +++ b/gdk/gdkpango.c @@ -25,101 +25,6 @@ #include <pango/pangocairo.h> -/** - * SECTION:pango_interaction - * @Short_description: Using Pango in GDK - * @Title: Pango Interaction - * - * Pango is the text layout system used by GDK and GTK. The functions - * and types in this section are used to obtain clip regions for - * #PangoLayouts, and to get #PangoContexts that can be used with - * GDK. - * - * Creating a #PangoLayout object is the first step in rendering text, - * and requires getting a handle to a #PangoContext. For GTK programs, - * you’ll usually want to use gtk_widget_get_pango_context(), or - * gtk_widget_create_pango_layout(). Once you have a #PangoLayout, - * you can set the text and attributes of it with Pango functions like - * pango_layout_set_text() and get its size with pango_layout_get_size(). - * (Note that Pango uses a fixed point system internally, so converting - * between Pango units and pixels using [PANGO_SCALE][PANGO-SCALE-CAPS] - * or the PANGO_PIXELS() macro.) - * - * Rendering a Pango layout is done most simply with pango_cairo_show_layout(); - * you can also draw pieces of the layout with pango_cairo_show_layout_line(). - * - * ## Draw transformed text with Pango and cairo ## {#rotated-example} - * - * |[<!-- language="C" --> - * #define RADIUS 100 - * #define N_WORDS 10 - * #define FONT "Sans Bold 18" - * - * PangoContext *context; - * PangoLayout *layout; - * PangoFontDescription *desc; - * - * double radius; - * int width, height; - * int i; - * - * // Set up a transformation matrix so that the user space coordinates for - * // where we are drawing are [-RADIUS, RADIUS], [-RADIUS, RADIUS] - * // We first center, then change the scale - * - * width = gdk_surface_get_width (surface); - * height = gdk_surface_get_height (surface); - * radius = MIN (width, height) / 2.; - * - * cairo_translate (cr, - * radius + (width - 2 * radius) / 2, - * radius + (height - 2 * radius) / 2); - * cairo_scale (cr, radius / RADIUS, radius / RADIUS); - * - * // Create a PangoLayout, set the font and text - * context = gdk_pango_context_get_for_display (display); - * layout = pango_layout_new (context); - * pango_layout_set_text (layout, "Text", -1); - * desc = pango_font_description_from_string (FONT); - * pango_layout_set_font_description (layout, desc); - * pango_font_description_free (desc); - * - * // Draw the layout N_WORDS times in a circle - * for (i = 0; i < N_WORDS; i++) - * { - * double red, green, blue; - * double angle = 2 * G_PI * i / n_words; - * - * cairo_save (cr); - * - * // Gradient from red at angle == 60 to blue at angle == 300 - * red = (1 + cos (angle - 60)) / 2; - * green = 0; - * blue = 1 - red; - * - * cairo_set_source_rgb (cr, red, green, blue); - * cairo_rotate (cr, angle); - * - * // Inform Pango to re-layout the text with the new transformation matrix - * pango_cairo_update_layout (cr, layout); - * - * pango_layout_get_size (layout, &width, &height); - * - * cairo_move_to (cr, - width / 2 / PANGO_SCALE, - DEFAULT_TEXT_RADIUS); - * pango_cairo_show_layout (cr, layout); - * - * cairo_restore (cr); - * } - * - * g_object_unref (layout); - * g_object_unref (context); - * ]| - * - * ## Output of the [example][rotated-example] above. - * - * ![](rotated-text.png) - */ - /* Get a clip region to draw only part of a layout. index_ranges * contains alternating range starts/stops. The region is the * region which contains the given ranges, i.e. if you draw with the |