summaryrefslogtreecommitdiffstats
path: root/Tests/FindGTK2/pangocairo/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/FindGTK2/pangocairo/main.c')
-rw-r--r--Tests/FindGTK2/pangocairo/main.c102
1 files changed, 49 insertions, 53 deletions
diff --git a/Tests/FindGTK2/pangocairo/main.c b/Tests/FindGTK2/pangocairo/main.c
index 78268d6..15db513 100644
--- a/Tests/FindGTK2/pangocairo/main.c
+++ b/Tests/FindGTK2/pangocairo/main.c
@@ -1,72 +1,68 @@
-/* Taken from https://developer.gnome.org/pango/stable/pango-Cairo-Rendering.html */
-
+/* Taken from
+ * https://developer.gnome.org/pango/stable/pango-Cairo-Rendering.html */
#include <math.h>
#include <pango/pangocairo.h>
-static void
-draw_text (cairo_t *cr)
+static void draw_text(cairo_t* cr)
{
#define RADIUS 150
#define N_WORDS 10
#define FONT "Sans Bold 27"
- PangoLayout *layout;
- PangoFontDescription *desc;
+ PangoLayout* layout;
+ PangoFontDescription* desc;
int i;
/* Center coordinates on the middle of the region we are drawing
*/
- cairo_translate (cr, RADIUS, RADIUS);
+ cairo_translate(cr, RADIUS, RADIUS);
/* Create a PangoLayout, set the font and text */
- layout = pango_cairo_create_layout (cr);
- 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);
+ layout = pango_cairo_create_layout(cr);
+ 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++)
- {
- int width, height;
- double angle = (360. * i) / N_WORDS;
- double red;
- cairo_save (cr);
- /* Gradient from red at angle == 60 to blue at angle == 240 */
- red = (1 + cos ((angle - 60) * G_PI / 180.)) / 2;
- cairo_set_source_rgb (cr, red, 0, 1.0 - red);
- cairo_rotate (cr, angle * G_PI / 180.);
- /* Inform Pango to re-layout the text with the new transformation */
- pango_cairo_update_layout (cr, layout);
- pango_layout_get_size (layout, &width, &height);
- cairo_move_to (cr, - ((double)width / PANGO_SCALE) / 2, - RADIUS);
- pango_cairo_show_layout (cr, layout);
- cairo_restore (cr);
- }
+ for (i = 0; i < N_WORDS; i++) {
+ int width, height;
+ double angle = (360. * i) / N_WORDS;
+ double red;
+ cairo_save(cr);
+ /* Gradient from red at angle == 60 to blue at angle == 240 */
+ red = (1 + cos((angle - 60) * G_PI / 180.)) / 2;
+ cairo_set_source_rgb(cr, red, 0, 1.0 - red);
+ cairo_rotate(cr, angle * G_PI / 180.);
+ /* Inform Pango to re-layout the text with the new transformation */
+ pango_cairo_update_layout(cr, layout);
+ pango_layout_get_size(layout, &width, &height);
+ cairo_move_to(cr, -((double)width / PANGO_SCALE) / 2, -RADIUS);
+ pango_cairo_show_layout(cr, layout);
+ cairo_restore(cr);
+ }
/* free the layout object */
- g_object_unref (layout);
+ g_object_unref(layout);
}
-int main (int argc, char **argv)
+int main(int argc, char** argv)
{
- cairo_t *cr;
- char *filename;
+ cairo_t* cr;
+ char* filename;
cairo_status_t status;
- cairo_surface_t *surface;
- if (argc != 2)
- {
- g_printerr ("Usage: cairosimple OUTPUT_FILENAME\n");
- return 1;
- }
+ cairo_surface_t* surface;
+ if (argc != 2) {
+ g_printerr("Usage: cairosimple OUTPUT_FILENAME\n");
+ return 1;
+ }
filename = argv[1];
- surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
- 2 * RADIUS, 2 * RADIUS);
- cr = cairo_create (surface);
- cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
- cairo_paint (cr);
- draw_text (cr);
- cairo_destroy (cr);
- status = cairo_surface_write_to_png (surface, filename);
- cairo_surface_destroy (surface);
- if (status != CAIRO_STATUS_SUCCESS)
- {
- g_printerr ("Could not save png to '%s'\n", filename);
- return 1;
- }
+ surface =
+ cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 2 * RADIUS, 2 * RADIUS);
+ cr = cairo_create(surface);
+ cairo_set_source_rgb(cr, 1.0, 1.0, 1.0);
+ cairo_paint(cr);
+ draw_text(cr);
+ cairo_destroy(cr);
+ status = cairo_surface_write_to_png(surface, filename);
+ cairo_surface_destroy(surface);
+ if (status != CAIRO_STATUS_SUCCESS) {
+ g_printerr("Could not save png to '%s'\n", filename);
+ return 1;
+ }
return 0;
}