[librsvg/rustification] rsvt-text: Don't pass an RsvgState around; get it from the context
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg/rustification] rsvt-text: Don't pass an RsvgState around; get it from the context
- Date: Thu, 17 Nov 2016 00:28:53 +0000 (UTC)
commit cba410550a00a0d6dfe4f8b9ffe39ec0ad1a80bc
Author: Federico Mena Quintero <federico gnome org>
Date: Wed Nov 16 15:00:17 2016 -0600
rsvt-text: Don't pass an RsvgState around; get it from the context
rsvg-text.c | 17 +++++++++++------
1 files changed, 11 insertions(+), 6 deletions(-)
---
diff --git a/rsvg-text.c b/rsvg-text.c
index e2950d3..c50e2fb 100644
--- a/rsvg-text.c
+++ b/rsvg-text.c
@@ -506,15 +506,17 @@ rsvg_text_layout_free (RsvgTextLayout * layout)
}
static PangoLayout *
-rsvg_text_create_layout (RsvgDrawingCtx * ctx,
- RsvgState * state, const char *text, PangoContext * context)
+rsvg_text_create_layout (RsvgDrawingCtx * ctx, const char *text, PangoContext * context)
{
+ RsvgState *state;
PangoFontDescription *font_desc;
PangoLayout *layout;
PangoAttrList *attr_list;
PangoAttribute *attribute;
double dpi_y;
+ state = rsvg_current_state (ctx);
+
if (state->lang)
pango_context_set_language (context, pango_language_from_string (state->lang));
@@ -579,16 +581,19 @@ rsvg_text_create_layout (RsvgDrawingCtx * ctx,
static RsvgTextLayout *
-rsvg_text_layout_new (RsvgDrawingCtx * ctx, RsvgState * state, const char *text)
+rsvg_text_layout_new (RsvgDrawingCtx * ctx, const char *text)
{
+ RsvgState *state;
RsvgTextLayout *layout;
+ state = rsvg_current_state (ctx);
+
if (ctx->pango_context == NULL)
ctx->pango_context = ctx->render->create_pango_context (ctx);
layout = g_new0 (RsvgTextLayout, 1);
- layout->layout = rsvg_text_create_layout (ctx, state, text, ctx->pango_context);
+ layout->layout = rsvg_text_create_layout (ctx, text, ctx->pango_context);
layout->ctx = ctx;
layout->anchor = state->text_anchor;
@@ -613,7 +618,7 @@ rsvg_text_render_text (RsvgDrawingCtx * ctx, const char *text, gdouble * x, gdou
return;
context = ctx->render->create_pango_context (ctx);
- layout = rsvg_text_create_layout (ctx, state, text, context);
+ layout = rsvg_text_create_layout (ctx, text, context);
pango_layout_get_size (layout, &w, &h);
iter = pango_layout_get_iter (layout);
offset = pango_layout_iter_get_baseline (iter) / (double) PANGO_SCALE;
@@ -652,7 +657,7 @@ rsvg_text_length_text_as_string (RsvgDrawingCtx * ctx, const char *text)
RsvgTextLayout *layout;
gdouble x;
- layout = rsvg_text_layout_new (ctx, rsvg_current_state (ctx), text);
+ layout = rsvg_text_layout_new (ctx, text);
layout->x = layout->y = 0;
x = rsvg_text_layout_width (layout);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]