From 778df432eb9bba4441d4c47cdbfbcd385b1e9d42 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 24 Jun 2022 23:00:58 -0400 Subject: Convert to the pango2 prefix This makes pango 2 not just parallel-installable with pango 1.x, but parallel-usable in the same process. --- utils/viewer-pangocairo.c | 354 +++++++++++++++++++++++----------------------- 1 file changed, 177 insertions(+), 177 deletions(-) (limited to 'utils/viewer-pangocairo.c') diff --git a/utils/viewer-pangocairo.c b/utils/viewer-pangocairo.c index 2bf2e0d6..bd6ca9a5 100644 --- a/utils/viewer-pangocairo.c +++ b/utils/viewer-pangocairo.c @@ -1,4 +1,4 @@ -/* viewer-pangocairo.c: PangoCairo viewer backend. +/* viewer-pangocairo.c: Pango2Cairo viewer backend. * * Copyright (C) 1999,2004,2005 Red Hat, Inc. * Copyright (C) 2001 Sun Microsystems @@ -41,13 +41,13 @@ typedef struct gpointer backend; - PangoFontMap *fontmap; + Pango2FontMap *fontmap; cairo_font_options_t *font_options; gboolean subpixel_positions; } CairoViewer; static gpointer -pangocairo_view_create (const PangoViewer *klass G_GNUC_UNUSED) +pangocairo_view_create (const Pango2Viewer *klass G_GNUC_UNUSED) { CairoViewer *instance; @@ -57,40 +57,40 @@ pangocairo_view_create (const PangoViewer *klass G_GNUC_UNUSED) if (opt_font_file != NULL) { - PangoFontFace *first = NULL; + Pango2FontFace *first = NULL; - instance->fontmap = pango_font_map_new (); + instance->fontmap = pango2_font_map_new (); for (int i = 0; opt_font_file[i]; i++) { - PangoFontFace *face; + Pango2FontFace *face; - face = PANGO_FONT_FACE (pango_hb_face_new_from_file (opt_font_file[i], + face = PANGO2_FONT_FACE (pango2_hb_face_new_from_file (opt_font_file[i], 0, -1, NULL, NULL)); - pango_font_map_add_face (instance->fontmap, face); + pango2_font_map_add_face (instance->fontmap, face); if (!first) first = face; } - /* We always need monospace, or Pango will complain */ - if (!pango_font_map_get_family (instance->fontmap, "monospace")) + /* We always need monospace, or Pango2 will complain */ + if (!pango2_font_map_get_family (instance->fontmap, "monospace")) { - PangoGenericFamily *family; + Pango2GenericFamily *family; - family = pango_generic_family_new ("monospace"); - pango_generic_family_add_family (family, pango_font_face_get_family (first)); - pango_font_map_add_family (instance->fontmap, PANGO_FONT_FAMILY (family)); + family = pango2_generic_family_new ("monospace"); + pango2_generic_family_add_family (family, pango2_font_face_get_family (first)); + pango2_font_map_add_family (instance->fontmap, PANGO2_FONT_FAMILY (family)); } } else { - instance->fontmap = pango_font_map_new_default (); + instance->fontmap = pango2_font_map_new_default (); } - pango_font_map_set_resolution (PANGO_FONT_MAP (instance->fontmap), opt_dpi); + pango2_font_map_set_resolution (PANGO2_FONT_MAP (instance->fontmap), opt_dpi); if (opt_userfont) add_userfont (instance->fontmap); @@ -137,15 +137,15 @@ pangocairo_view_destroy (gpointer instance) g_slice_free (CairoViewer, c); } -static PangoContext * +static Pango2Context * pangocairo_view_get_context (gpointer instance) { CairoViewer *c = (CairoViewer *) instance; - PangoContext *context; + Pango2Context *context; - context = pango_context_new_with_font_map (c->fontmap); - pango_cairo_context_set_font_options (context, c->font_options); - pango_context_set_round_glyph_positions (context, !c->subpixel_positions); + context = pango2_context_new_with_font_map (c->fontmap); + pango2_cairo_context_set_font_options (context, c->font_options); + pango2_context_set_round_glyph_positions (context, !c->subpixel_positions); return context; } @@ -231,7 +231,7 @@ static const char *annotate_arg_help = "\t\t\t\t\t\t run, cluster, char, glyph, caret, slope\n"; static void -render_callback (PangoLayout *layout, +render_callback (Pango2Layout *layout, int x, int y, gpointer context, @@ -246,27 +246,27 @@ render_callback (PangoLayout *layout, if (annotate != 0) { cairo_pattern_t *pattern; - PangoRectangle ink, logical; + Pango2Rectangle ink, logical; double lw = cairo_get_line_width (cr); - PangoLineIter *iter; + Pango2LineIter *iter; - pango_lines_get_extents (pango_layout_get_lines (layout), &ink, &logical); + pango2_lines_get_extents (pango2_layout_get_lines (layout), &ink, &logical); if (annotate & ANNOTATE_GRAVITY_ROOF) { /* draw resolved gravity "roof" in blue */ cairo_save (cr); cairo_translate (cr, - (double)logical.x / PANGO_SCALE, - (double)logical.y / PANGO_SCALE); + (double)logical.x / PANGO2_SCALE, + (double)logical.y / PANGO2_SCALE); cairo_scale (cr, - (double)logical.width / PANGO_SCALE * 0.5, - (double)logical.height / PANGO_SCALE * 0.5); + (double)logical.width / PANGO2_SCALE * 0.5, + (double)logical.height / PANGO2_SCALE * 0.5); cairo_translate (cr, 1.0, 1.0); cairo_rotate (cr, - pango_gravity_to_rotation ( - pango_context_get_gravity ( - pango_layout_get_context (layout)))); + pango2_gravity_to_rotation ( + pango2_context_get_gravity ( + pango2_layout_get_context (layout)))); cairo_move_to (cr, -1.0, -1.0); cairo_rel_line_to (cr, +1.0, -0.2); /* / */ cairo_rel_line_to (cr, +1.0, +0.2); /* \ */ @@ -293,11 +293,11 @@ render_callback (PangoLayout *layout, /* draw block progression arrow in green */ cairo_save (cr); cairo_translate (cr, - (double)logical.x / PANGO_SCALE, - (double)logical.y / PANGO_SCALE); + (double)logical.x / PANGO2_SCALE, + (double)logical.y / PANGO2_SCALE); cairo_scale (cr, - (double)logical.width / PANGO_SCALE * 0.5, - (double)logical.height / PANGO_SCALE * 0.5); + (double)logical.width / PANGO2_SCALE * 0.5, + (double)logical.height / PANGO2_SCALE * 0.5); cairo_translate (cr, 1.0, 1.0); cairo_move_to (cr, -0.4, -0.7); cairo_rel_line_to (cr, +0.8, 0.0); /* -- */ @@ -325,18 +325,18 @@ render_callback (PangoLayout *layout, /* draw baselines with line direction arrow in orange */ cairo_save (cr); cairo_set_source_rgba (cr, 1.0, 0.5, 0.0, 0.5); - iter = pango_layout_get_iter (layout); + iter = pango2_layout_get_iter (layout); do { - PangoLine *line = pango_line_iter_get_line (iter); - double width = (double)logical.width / PANGO_SCALE; + Pango2Line *line = pango2_line_iter_get_line (iter); + double width = (double)logical.width / PANGO2_SCALE; - y = pango_line_iter_get_line_baseline (iter); + y = pango2_line_iter_get_line_baseline (iter); cairo_save (cr); cairo_translate (cr, - (double)logical.x / PANGO_SCALE + width * 0.5, - (double)y / PANGO_SCALE); - if (pango_line_get_resolved_direction (line)) + (double)logical.x / PANGO2_SCALE + width * 0.5, + (double)y / PANGO2_SCALE); + if (pango2_line_get_resolved_direction (line)) cairo_scale (cr, -1, 1); cairo_move_to (cr, -width * .5, -lw*0.2); cairo_rel_line_to (cr, +width * .9, -lw*0.3); @@ -349,8 +349,8 @@ render_callback (PangoLayout *layout, cairo_fill (cr); cairo_restore (cr); } - while (pango_line_iter_next_line (iter)); - pango_line_iter_free (iter); + while (pango2_line_iter_next_line (iter)); + pango2_line_iter_free (iter); cairo_restore (cr); } @@ -362,13 +362,13 @@ render_callback (PangoLayout *layout, cairo_save (cr); cairo_set_source_rgba (cr, 0.0, 0.0, 1.0, 0.5); - iter = pango_layout_get_iter (layout); + iter = pango2_layout_get_iter (layout); do { - PangoRun *run; - PangoItem *item; - const PangoAnalysis *analysis; - PangoRectangle rect; + Pango2Run *run; + Pango2Item *item; + const Pango2Analysis *analysis; + Pango2Rectangle rect; hb_font_t *hb_font; hb_ot_layout_baseline_tag_t baselines[] = { HB_OT_LAYOUT_BASELINE_TAG_ROMAN, @@ -384,35 +384,35 @@ render_callback (PangoLayout *layout, hb_tag_t script, lang; hb_position_t coord; - run = pango_line_iter_get_run (iter); + run = pango2_line_iter_get_run (iter); if (!run) { baseline_tag = 0; continue; } - item = pango_run_get_item (run); - analysis = pango_item_get_analysis (item); + item = pango2_run_get_item (run); + analysis = pango2_item_get_analysis (item); if (baseline_tag == 0) { - hb_script_t script = (hb_script_t) g_unicode_script_to_iso15924 (pango_analysis_get_script (analysis)); + hb_script_t script = (hb_script_t) g_unicode_script_to_iso15924 (pango2_analysis_get_script (analysis)); - if (pango_analysis_get_flags (analysis) & PANGO_ANALYSIS_FLAG_CENTERED_BASELINE) + if (pango2_analysis_get_flags (analysis) & PANGO2_ANALYSIS_FLAG_CENTERED_BASELINE) baseline_tag = HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_CENTRAL; else baseline_tag = hb_ot_layout_get_horizontal_baseline_tag_for_script (script); } - y = pango_line_iter_get_run_baseline (iter); - pango_line_iter_get_run_extents (iter, NULL, &rect); + y = pango2_line_iter_get_run_baseline (iter); + pango2_line_iter_get_run_extents (iter, NULL, &rect); - hb_font = pango_font_get_hb_font (pango_analysis_get_font (analysis)); - if (pango_analysis_get_flags (analysis) & PANGO_ANALYSIS_FLAG_CENTERED_BASELINE) + hb_font = pango2_font_get_hb_font (pango2_analysis_get_font (analysis)); + if (pango2_analysis_get_flags (analysis) & PANGO2_ANALYSIS_FLAG_CENTERED_BASELINE) dir = HB_DIRECTION_TTB; else dir = HB_DIRECTION_LTR; - script = (hb_script_t) g_unicode_script_to_iso15924 (pango_analysis_get_script (analysis)); + script = (hb_script_t) g_unicode_script_to_iso15924 (pango2_analysis_get_script (analysis)); lang = HB_TAG_NONE; for (int i = 0; i < G_N_ELEMENTS (baselines); i++) @@ -454,21 +454,21 @@ render_callback (PangoLayout *layout, cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE); } cairo_move_to (cr, - (double)rect.x / PANGO_SCALE, - (double)(y - coord) / PANGO_SCALE); - cairo_rel_line_to (cr, (double)rect.width / PANGO_SCALE, 0); + (double)rect.x / PANGO2_SCALE, + (double)(y - coord) / PANGO2_SCALE); + cairo_rel_line_to (cr, (double)rect.width / PANGO2_SCALE, 0); cairo_stroke (cr); cairo_set_source_rgb (cr, 0, 0, 0); cairo_move_to (cr, - (double)rect.x / PANGO_SCALE - 5, - (double)(y - coord) / PANGO_SCALE - 5); + (double)rect.x / PANGO2_SCALE - 5, + (double)(y - coord) / PANGO2_SCALE - 5); cairo_show_text (cr, buf); cairo_restore (cr); } } - while (pango_line_iter_next_run (iter)); - pango_line_iter_free (iter); + while (pango2_line_iter_next_run (iter)); + pango2_line_iter_free (iter); cairo_restore (cr); } #endif @@ -480,10 +480,10 @@ render_callback (PangoLayout *layout, cairo_set_source_rgba (cr, 1.0, 0.0, 0.0, 0.5); cairo_rectangle (cr, - (double)logical.x / PANGO_SCALE - lw / 2, - (double)logical.y / PANGO_SCALE - lw / 2, - (double)logical.width / PANGO_SCALE + lw, - (double)logical.height / PANGO_SCALE + lw); + (double)logical.x / PANGO2_SCALE - lw / 2, + (double)logical.y / PANGO2_SCALE - lw / 2, + (double)logical.width / PANGO2_SCALE + lw, + (double)logical.height / PANGO2_SCALE + lw); cairo_stroke (cr); cairo_restore (cr); @@ -491,10 +491,10 @@ render_callback (PangoLayout *layout, cairo_save (cr); cairo_set_source_rgba (cr, 0.0, 1.0, 0.0, 0.5); cairo_rectangle (cr, - (double)ink.x / PANGO_SCALE - lw / 2, - (double)ink.y / PANGO_SCALE - lw / 2, - (double)ink.width / PANGO_SCALE + lw, - (double)ink.height / PANGO_SCALE + lw); + (double)ink.x / PANGO2_SCALE - lw / 2, + (double)ink.y / PANGO2_SCALE - lw / 2, + (double)ink.width / PANGO2_SCALE + lw, + (double)ink.height / PANGO2_SCALE + lw); cairo_stroke (cr); cairo_restore (cr); } @@ -505,21 +505,21 @@ render_callback (PangoLayout *layout, cairo_save (cr); cairo_set_source_rgba (cr, 1.0, 0.0, 0.0, 0.5); - iter = pango_layout_get_iter (layout); + iter = pango2_layout_get_iter (layout); do { - PangoRectangle rect; + Pango2Rectangle rect; - pango_line_iter_get_line_extents (iter, NULL, &rect); + pango2_line_iter_get_line_extents (iter, NULL, &rect); cairo_rectangle (cr, - (double)rect.x / PANGO_SCALE - lw / 2, - (double)rect.y / PANGO_SCALE - lw / 2, - (double)rect.width / PANGO_SCALE + lw, - (double)rect.height / PANGO_SCALE + lw); + (double)rect.x / PANGO2_SCALE - lw / 2, + (double)rect.y / PANGO2_SCALE - lw / 2, + (double)rect.width / PANGO2_SCALE + lw, + (double)rect.height / PANGO2_SCALE + lw); cairo_stroke (cr); } - while (pango_line_iter_next_line (iter)); - pango_line_iter_free (iter); + while (pango2_line_iter_next_line (iter)); + pango2_line_iter_free (iter); cairo_restore (cr); } @@ -529,26 +529,26 @@ render_callback (PangoLayout *layout, cairo_save (cr); cairo_set_source_rgba (cr, 0.0, 0.0, 1.0, 0.5); - iter = pango_layout_get_iter (layout); + iter = pango2_layout_get_iter (layout); do { - PangoRun *run; - PangoRectangle rect; + Pango2Run *run; + Pango2Rectangle rect; - run = pango_line_iter_get_run (iter); + run = pango2_line_iter_get_run (iter); if (!run) continue; - pango_line_iter_get_run_extents (iter, NULL, &rect); + pango2_line_iter_get_run_extents (iter, NULL, &rect); cairo_rectangle (cr, - (double)rect.x / PANGO_SCALE - lw / 2, - (double)rect.y / PANGO_SCALE - lw / 2, - (double)rect.width / PANGO_SCALE + lw, - (double)rect.height / PANGO_SCALE + lw); + (double)rect.x / PANGO2_SCALE - lw / 2, + (double)rect.y / PANGO2_SCALE - lw / 2, + (double)rect.width / PANGO2_SCALE + lw, + (double)rect.height / PANGO2_SCALE + lw); cairo_stroke (cr); } - while (pango_line_iter_next_run (iter)); - pango_line_iter_free (iter); + while (pango2_line_iter_next_run (iter)); + pango2_line_iter_free (iter); cairo_restore (cr); } @@ -558,21 +558,21 @@ render_callback (PangoLayout *layout, cairo_save (cr); cairo_set_source_rgba (cr, 1.0, 0.0, 1.0, 0.5); - iter = pango_layout_get_iter (layout); + iter = pango2_layout_get_iter (layout); do { - PangoRectangle rect; + Pango2Rectangle rect; - pango_line_iter_get_cluster_extents (iter, NULL, &rect); + pango2_line_iter_get_cluster_extents (iter, NULL, &rect); cairo_rectangle (cr, - (double)rect.x / PANGO_SCALE - lw / 2, - (double)rect.y / PANGO_SCALE - lw / 2, - (double)rect.width / PANGO_SCALE + lw, - (double)rect.height / PANGO_SCALE + lw); + (double)rect.x / PANGO2_SCALE - lw / 2, + (double)rect.y / PANGO2_SCALE - lw / 2, + (double)rect.width / PANGO2_SCALE + lw, + (double)rect.height / PANGO2_SCALE + lw); cairo_stroke (cr); } - while (pango_line_iter_next_cluster (iter)); - pango_line_iter_free (iter); + while (pango2_line_iter_next_cluster (iter)); + pango2_line_iter_free (iter); cairo_restore (cr); } @@ -582,21 +582,21 @@ render_callback (PangoLayout *layout, cairo_save (cr); cairo_set_source_rgba (cr, 1.0, 0.5, 0.0, 0.5); - iter = pango_layout_get_iter (layout); + iter = pango2_layout_get_iter (layout); do { - PangoRectangle rect; + Pango2Rectangle rect; - pango_line_iter_get_char_extents (iter, &rect); + pango2_line_iter_get_char_extents (iter, &rect); cairo_rectangle (cr, - (double)rect.x / PANGO_SCALE - lw / 2, - (double)rect.y / PANGO_SCALE - lw / 2, - (double)rect.width / PANGO_SCALE + lw, - (double)rect.height / PANGO_SCALE + lw); + (double)rect.x / PANGO2_SCALE - lw / 2, + (double)rect.y / PANGO2_SCALE - lw / 2, + (double)rect.width / PANGO2_SCALE + lw, + (double)rect.height / PANGO2_SCALE + lw); cairo_stroke (cr); } - while (pango_line_iter_next_cluster (iter)); - pango_line_iter_free (iter); + while (pango2_line_iter_next_cluster (iter)); + pango2_line_iter_free (iter); cairo_restore (cr); } @@ -606,34 +606,34 @@ render_callback (PangoLayout *layout, cairo_save (cr); cairo_set_source_rgba (cr, 0.0, 0.0, 1.0, 0.5); - iter = pango_layout_get_iter (layout); + iter = pango2_layout_get_iter (layout); do { - PangoRun *run; - PangoItem *item; - const PangoAnalysis *analysis; - PangoGlyphString *glyphs; - PangoRectangle rect; + Pango2Run *run; + Pango2Item *item; + const Pango2Analysis *analysis; + Pango2GlyphString *glyphs; + Pango2Rectangle rect; int x_pos, y_pos; - run = pango_line_iter_get_run (iter); + run = pango2_line_iter_get_run (iter); if (!run) continue; - item = pango_run_get_item (run); - analysis = pango_item_get_analysis (item); - glyphs = pango_run_get_glyphs (run); + item = pango2_run_get_item (run); + analysis = pango2_item_get_analysis (item); + glyphs = pango2_run_get_glyphs (run); - pango_line_iter_get_run_extents (iter, NULL, &rect); + pango2_line_iter_get_run_extents (iter, NULL, &rect); x_pos = rect.x; - y_pos = pango_line_iter_get_run_baseline (iter); + y_pos = pango2_line_iter_get_run_baseline (iter); for (int i = 0; i < glyphs->num_glyphs; i++) { - PangoRectangle extents; + Pango2Rectangle extents; - pango_font_get_glyph_extents (pango_analysis_get_font (analysis), + pango2_font_get_glyph_extents (pango2_analysis_get_font (analysis), glyphs->glyphs[i].glyph, &extents, NULL); @@ -643,29 +643,29 @@ render_callback (PangoLayout *layout, rect.height = extents.height; cairo_rectangle (cr, - (double)rect.x / PANGO_SCALE - lw / 2, - (double)rect.y / PANGO_SCALE - lw / 2, - (double)rect.width / PANGO_SCALE + lw, - (double)rect.height / PANGO_SCALE + lw); + (double)rect.x / PANGO2_SCALE - lw / 2, + (double)rect.y / PANGO2_SCALE - lw / 2, + (double)rect.width / PANGO2_SCALE + lw, + (double)rect.height / PANGO2_SCALE + lw); cairo_stroke (cr); cairo_arc (cr, - (double) (x_pos + glyphs->glyphs[i].geometry.x_offset) / PANGO_SCALE, - (double) (y_pos + glyphs->glyphs[i].geometry.y_offset) / PANGO_SCALE, + (double) (x_pos + glyphs->glyphs[i].geometry.x_offset) / PANGO2_SCALE, + (double) (y_pos + glyphs->glyphs[i].geometry.y_offset) / PANGO2_SCALE, 3.0, 0, 2*G_PI); cairo_fill (cr); x_pos += glyphs->glyphs[i].geometry.width; } } - while (pango_line_iter_next_run (iter)); - pango_line_iter_free (iter); + while (pango2_line_iter_next_run (iter)); + pango2_line_iter_free (iter); cairo_restore (cr); } if (annotate & ANNOTATE_CARET_POSITIONS) { - const PangoLogAttr *attrs; + const Pango2LogAttr *attrs; int n_attrs; int offset; int num = 0; @@ -674,64 +674,64 @@ render_callback (PangoLayout *layout, cairo_save (cr); cairo_set_source_rgba (cr, 1.0, 0.0, 1.0, 0.5); - attrs = pango_layout_get_log_attrs (layout, &n_attrs); + attrs = pango2_layout_get_log_attrs (layout, &n_attrs); - iter = pango_layout_get_iter (layout); + iter = pango2_layout_get_iter (layout); do { - PangoRectangle rect; - PangoRun *run; - PangoItem *item; - PangoGlyphString *glyphs; + Pango2Rectangle rect; + Pango2Run *run; + Pango2Item *item; + Pango2GlyphString *glyphs; const char *text, *start, *p; int x, y; gboolean trailing; - pango_line_iter_get_run_extents (iter, NULL, &rect); - run = pango_line_iter_get_run (iter); + pango2_line_iter_get_run_extents (iter, NULL, &rect); + run = pango2_line_iter_get_run (iter); if (!run) continue; - item = pango_run_get_item (run); - glyphs = pango_run_get_glyphs (run); + item = pango2_run_get_item (run); + glyphs = pango2_run_get_glyphs (run); - text = pango_layout_get_text (layout); - start = text + pango_item_get_char_offset (item); + text = pango2_layout_get_text (layout); + start = text + pango2_item_get_char_offset (item); offset = g_utf8_strlen (text, start - text); - y = pango_line_iter_get_run_baseline (iter); + y = pango2_line_iter_get_run_baseline (iter); trailing = FALSE; p = start; - for (int i = 0; i <= pango_item_get_char_length (item); i++) + for (int i = 0; i <= pango2_item_get_char_length (item); i++) { if (attrs[offset + i].is_cursor_position) { - pango_glyph_string_index_to_x_full (glyphs, - text + pango_item_get_byte_offset (item), - pango_item_get_byte_length (item), - pango_item_get_analysis (item), - (PangoLogAttr *)attrs + offset, + pango2_glyph_string_index_to_x_full (glyphs, + text + pango2_item_get_byte_offset (item), + pango2_item_get_byte_length (item), + pango2_item_get_analysis (item), + (Pango2LogAttr *)attrs + offset, p - start, trailing, &x); x += rect.x; cairo_set_source_rgba (cr, 1.0, 0.0, 1.0, 0.5); - cairo_arc (cr, x / PANGO_SCALE, y / PANGO_SCALE, 3.0, 0, 2*G_PI); + cairo_arc (cr, x / PANGO2_SCALE, y / PANGO2_SCALE, 3.0, 0, 2*G_PI); cairo_close_path (cr); cairo_fill (cr); char *s = g_strdup_printf ("%d", num); cairo_set_source_rgb (cr, 0, 0, 0); - cairo_move_to (cr, x / PANGO_SCALE - 5, y / PANGO_SCALE + 15); + cairo_move_to (cr, x / PANGO2_SCALE - 5, y / PANGO2_SCALE + 15); cairo_show_text (cr, s); g_free (s); } - if (i < pango_item_get_char_length (item)) + if (i < pango2_item_get_char_length (item)) { num++; p = g_utf8_next_char (p); @@ -741,16 +741,16 @@ render_callback (PangoLayout *layout, } } - while (pango_line_iter_next_run (iter)); - pango_line_iter_free (iter); + while (pango2_line_iter_next_run (iter)); + pango2_line_iter_free (iter); cairo_restore (cr); } if (annotate & ANNOTATE_CARET_SLOPE) { - const char *text = pango_layout_get_text (layout); + const char *text = pango2_layout_get_text (layout); int length = g_utf8_strlen (text, -1); - const PangoLogAttr *attrs; + const Pango2LogAttr *attrs; int n_attrs; const char *p; int i; @@ -759,23 +759,23 @@ render_callback (PangoLayout *layout, cairo_save (cr); cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.5); - attrs = pango_layout_get_log_attrs (layout, &n_attrs); + attrs = pango2_layout_get_log_attrs (layout, &n_attrs); for (i = 0, p = text; i <= length; i++, p = g_utf8_next_char (p)) { - PangoRectangle rect; + Pango2Rectangle rect; if (!attrs[i].is_cursor_position) continue; - pango_lines_get_caret_pos (pango_layout_get_lines (layout), NULL, p - text, &rect, NULL); + pango2_lines_get_caret_pos (pango2_layout_get_lines (layout), NULL, p - text, &rect, NULL); cairo_move_to (cr, - (double)rect.x / PANGO_SCALE + (double)rect.width / PANGO_SCALE - lw / 2, - (double)rect.y / PANGO_SCALE - lw / 2); + (double)rect.x / PANGO2_SCALE + (double)rect.width / PANGO2_SCALE - lw / 2, + (double)rect.y / PANGO2_SCALE - lw / 2); cairo_line_to (cr, - (double)rect.x / PANGO_SCALE - lw / 2, - (double)rect.y / PANGO_SCALE + (double)rect.height / PANGO_SCALE - lw / 2); + (double)rect.x / PANGO2_SCALE - lw / 2, + (double)rect.y / PANGO2_SCALE + (double)rect.height / PANGO2_SCALE - lw / 2); cairo_stroke (cr); } @@ -784,7 +784,7 @@ render_callback (PangoLayout *layout, } cairo_move_to (cr, 0, 0); - pango_cairo_show_layout (cr, layout); + pango2_cairo_show_layout (cr, layout); cairo_restore (cr); @@ -792,8 +792,8 @@ render_callback (PangoLayout *layout, } static void -transform_callback (PangoContext *context, - PangoMatrix *matrix, +transform_callback (Pango2Context *context, + Pango2Matrix *matrix, gpointer cr_context, gpointer state G_GNUC_UNUSED) { @@ -816,13 +816,13 @@ transform_callback (PangoContext *context, cairo_set_matrix (cr, &cairo_matrix); - pango_cairo_update_context (cr, context); + pango2_cairo_update_context (cr, context); } static void pangocairo_view_render (gpointer instance, gpointer surface, - PangoContext *context, + Pango2Context *context, int *width, int *height, gpointer state) @@ -966,7 +966,7 @@ parse_annotate_arg (const char *option_name, } static GOptionGroup * -pangocairo_view_get_option_group (const PangoViewer *klass G_GNUC_UNUSED) +pangocairo_view_get_option_group (const Pango2Viewer *klass G_GNUC_UNUSED) { GOptionEntry entries[] = { @@ -990,8 +990,8 @@ pangocairo_view_get_option_group (const PangoViewer *klass G_GNUC_UNUSED) return group; } -const PangoViewer pangocairo_viewer = { - "PangoCairo", +const Pango2Viewer pangocairo_viewer = { + "Pango2Cairo", "cairo", #ifdef HAVE_CAIRO_PNG "png", -- cgit v1.2.1