diff options
| author | Dana Jansens <danakj@orodu.net> | 2008-02-06 21:35:55 -0500 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2008-02-14 14:24:07 -0500 |
| commit | c313b219a226c3b968ff312b96120eef0c527d91 (patch) | |
| tree | 8bb87ba493631097a4672e8dd8109dd478064459 /render/font.c | |
| parent | f9b59a49111b8db151af72aae334887105b4141b (diff) | |
you can create dialog windows called "prompts" which have a message and some buttons! they don't do anything interesting yet.
Diffstat (limited to 'render/font.c')
| -rw-r--r-- | render/font.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/render/font.c b/render/font.c index 369f262e..29d48215 100644 --- a/render/font.c +++ b/render/font.c @@ -109,6 +109,7 @@ RrFont *RrFontOpen(const RrInstance *inst, const gchar *name, gint size, /* setup the layout */ pango_layout_set_font_description(out->layout, out->font_desc); pango_layout_set_single_paragraph_mode(out->layout, TRUE); + pango_layout_set_wrap(out->layout, PANGO_WRAP_WORD_CHAR); /* get the ascent and descent */ measure_font(inst, out); @@ -139,12 +140,14 @@ void RrFontClose(RrFont *f) } static void font_measure_full(const RrFont *f, const gchar *str, - gint *x, gint *y, gint shadow_x, gint shadow_y) + gint *x, gint *y, gint shadow_x, gint shadow_y, + gint maxwidth) { PangoRectangle rect; pango_layout_set_text(f->layout, str, -1); - pango_layout_set_width(f->layout, -1); + pango_layout_set_width(f->layout, + (maxwidth <= 0 ? -1 : maxwidth * PANGO_SCALE)); /* pango_layout_get_pixel_extents lies! this is the right way to get the size of the text's area */ @@ -163,11 +166,12 @@ static void font_measure_full(const RrFont *f, const gchar *str, } RrSize *RrFontMeasureString(const RrFont *f, const gchar *str, - gint shadow_x, gint shadow_y) + gint shadow_x, gint shadow_y, gint maxwidth) { RrSize *size; size = g_new(RrSize, 1); - font_measure_full(f, str, &size->width, &size->height, shadow_x, shadow_y); + font_measure_full(f, str, &size->width, &size->height, shadow_x, shadow_y, + maxwidth); return size; } |
