Hi,
You may set post-process=true and use cairo APIs in post_process(). Below is pseudo code for reference:
if (sformat[0] == COLOR_FORMAT_RGBA) {
rgba = (unsigned char *)sBaseAddr[0];
rgba += ((spitch[0] * yoffset) + xoffset);
cairo_surface_t *surface;
cairo_t *cairo_context;
PangoLayout *layout = NULL;
PangoFontDescription *desc = NULL;
char font_size_buffer[256];
char display_text[256];
surface = cairo_image_surface_create_for_data
((unsigned char *)sBaseAddr[0], CAIRO_FORMAT_ARGB32, swidth[0],
sheight[0], spitch[0]);
cairo_context = cairo_create (surface);
layout = pango_cairo_create_layout (cairo_context);
snprintf(font_size_buffer, 256, "%s %d",
"Arial", 18);
desc = pango_font_description_from_string (font_size_buffer);
pango_layout_set_font_description (layout, desc);
snprintf(display_text, 256, "%s",
"Hello, world.");
pango_layout_set_text (layout, display_text, -1);
cairo_set_source_rgba (cairo_context, 1.0, 0, 1.0, 1.0);
pango_cairo_update_layout (cairo_context, layout);
cairo_move_to(cairo_context, 256, 256);
pango_cairo_show_layout (cairo_context, layout);
pango_font_description_free (desc);
g_object_unref(layout);
cairo_destroy (cairo_context);
cairo_surface_destroy (surface);
}