1 #include <cairomm/cairomm.h>
3 #include <pangomm/init.h>
10 putenv ("PANGOCAIRO_BACKEND=fontconfig");
11 putenv ("FONTCONFIG_PATH=.");
16 int const width = 640;
17 int const height = 480;
18 uint8_t* data = new uint8_t[width * height * 4];
20 Cairo::RefPtr<Cairo::ImageSurface> surface = Cairo::ImageSurface::create (
24 /* Cairo ARGB32 means first byte blue, second byte green, third byte red, fourth byte alpha */
25 Cairo::ImageSurface::format_stride_for_width (Cairo::FORMAT_ARGB32, width)
28 Cairo::RefPtr<Cairo::Context> context = Cairo::Context::create (surface);
30 Glib::RefPtr<Pango::Layout> layout = Pango::Layout::create (context);
32 context->set_source_rgb (1, 0.2, 0.3);
33 context->rectangle (0, 0, width, height);
36 layout->set_alignment (Pango::ALIGN_LEFT);
38 context->set_line_width (1);
39 // Cairo::FontOptions fo;
40 // context->get_font_options (fo);
41 // fo.set_antialias (Cairo::ANTIALIAS_NONE);
42 // context->set_font_options (fo);
44 Pango::FontDescription font ("Arial");
45 layout->set_font_description (font);
46 layout->set_markup ("Hello world!");
48 layout->update_from_cairo_context (context);
50 context->set_source_rgb (1, 1, 1);
51 context->set_line_width (0);
52 context->move_to (0, 0);
53 context->scale (2, 2);
54 layout->show_in_cairo_context (context);
56 surface->write_to_png ("text.png");