static VALUE rg_draw_layout_line(VALUE self, VALUE line, VALUE x, VALUE y) { pango_renderer_draw_layout_line(_SELF(self), (PangoLayoutLine*)RVAL2BOXED(line, PANGO_TYPE_LAYOUT_LINE), NUM2INT(x), NUM2INT(y)); return self; }
static VALUE rg_draw_layout_line(VALUE self, VALUE line, VALUE x, VALUE y) { pango_renderer_draw_layout_line(_SELF(self), RVAL2PANGOLAYOUTLINE(line), NUM2INT(x), NUM2INT(y)); return self; }
/** * pango_renderer_draw_layout: * @renderer: a #PangoRenderer * @layout: a #PangoLayout * @x: X position of left edge of baseline, in user space coordinates * in Pango units. * @y: Y position of left edge of baseline, in user space coordinates * in Pango units. * * Draws @layout with the specified #PangoRenderer. * * Since: 1.8 **/ void pango_renderer_draw_layout (PangoRenderer *renderer, PangoLayout *layout, int x, int y) { PangoLayoutIter *iter; g_return_if_fail (PANGO_IS_RENDERER (renderer)); g_return_if_fail (PANGO_IS_LAYOUT (layout)); /* We only change the matrix if the renderer isn't already * active. */ if (!renderer->active_count) { PangoContext *context = pango_layout_get_context (layout); pango_renderer_set_matrix (renderer, pango_context_get_matrix (context)); } pango_renderer_activate (renderer); iter = pango_layout_get_iter (layout); do { PangoRectangle logical_rect; PangoLayoutLine *line; int baseline; line = pango_layout_iter_get_line_readonly (iter); pango_layout_iter_get_line_extents (iter, NULL, &logical_rect); baseline = pango_layout_iter_get_baseline (iter); pango_renderer_draw_layout_line (renderer, line, x + logical_rect.x, y + baseline); } while (pango_layout_iter_next_line (iter)); pango_layout_iter_free (iter); pango_renderer_deactivate (renderer); }
void pango_clutter_render_layout_line (PangoLayoutLine *line, int x, int y, ClutterColor *color) { PangoContext *context; PangoFontMap *font_map; PangoRenderer *renderer; PangoClutterRenderer *priv; context = pango_layout_get_context (line->layout); font_map = pango_context_get_font_map (context); g_return_if_fail (PANGO_CLUTTER_IS_FONT_MAP (font_map)); renderer = _pango_clutter_font_map_get_renderer (PANGO_CLUTTER_FONT_MAP (font_map)); priv = PANGO_CLUTTER_RENDERER (renderer); priv->color = *color; pango_renderer_draw_layout_line (renderer, line, x, y); }