mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-12 05:20:17 +00:00
Added functions gdk_text_height, gdk_string_height, gdk_char_height to
Thu Jun 25 10:50:34 1998 Stefan Jeske <stefan@gtk.org> * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height, gdk_string_height, gdk_char_height to retrieve the exact height of a text.
This commit is contained in:
parent
713cecba4c
commit
37460b2078
@ -1,3 +1,9 @@
|
||||
Thu Jun 25 10:50:34 1998 Stefan Jeske <stefan@gtk.org>
|
||||
|
||||
* gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
|
||||
gdk_string_height, gdk_char_height to retrieve the exact
|
||||
height of a text.
|
||||
|
||||
Thu Jun 25 07:53:51 BST 1998 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/gtk_tut.sgml: add section on GtkCList widget, contributed
|
||||
|
@ -1,3 +1,9 @@
|
||||
Thu Jun 25 10:50:34 1998 Stefan Jeske <stefan@gtk.org>
|
||||
|
||||
* gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
|
||||
gdk_string_height, gdk_char_height to retrieve the exact
|
||||
height of a text.
|
||||
|
||||
Thu Jun 25 07:53:51 BST 1998 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/gtk_tut.sgml: add section on GtkCList widget, contributed
|
||||
|
@ -1,3 +1,9 @@
|
||||
Thu Jun 25 10:50:34 1998 Stefan Jeske <stefan@gtk.org>
|
||||
|
||||
* gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
|
||||
gdk_string_height, gdk_char_height to retrieve the exact
|
||||
height of a text.
|
||||
|
||||
Thu Jun 25 07:53:51 BST 1998 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/gtk_tut.sgml: add section on GtkCList widget, contributed
|
||||
|
@ -1,3 +1,9 @@
|
||||
Thu Jun 25 10:50:34 1998 Stefan Jeske <stefan@gtk.org>
|
||||
|
||||
* gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
|
||||
gdk_string_height, gdk_char_height to retrieve the exact
|
||||
height of a text.
|
||||
|
||||
Thu Jun 25 07:53:51 BST 1998 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/gtk_tut.sgml: add section on GtkCList widget, contributed
|
||||
|
@ -1,3 +1,9 @@
|
||||
Thu Jun 25 10:50:34 1998 Stefan Jeske <stefan@gtk.org>
|
||||
|
||||
* gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
|
||||
gdk_string_height, gdk_char_height to retrieve the exact
|
||||
height of a text.
|
||||
|
||||
Thu Jun 25 07:53:51 BST 1998 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/gtk_tut.sgml: add section on GtkCList widget, contributed
|
||||
|
@ -1,3 +1,9 @@
|
||||
Thu Jun 25 10:50:34 1998 Stefan Jeske <stefan@gtk.org>
|
||||
|
||||
* gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
|
||||
gdk_string_height, gdk_char_height to retrieve the exact
|
||||
height of a text.
|
||||
|
||||
Thu Jun 25 07:53:51 BST 1998 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/gtk_tut.sgml: add section on GtkCList widget, contributed
|
||||
|
@ -1,3 +1,9 @@
|
||||
Thu Jun 25 10:50:34 1998 Stefan Jeske <stefan@gtk.org>
|
||||
|
||||
* gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
|
||||
gdk_string_height, gdk_char_height to retrieve the exact
|
||||
height of a text.
|
||||
|
||||
Thu Jun 25 07:53:51 BST 1998 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/gtk_tut.sgml: add section on GtkCList widget, contributed
|
||||
|
33
gdk/gdk.h
33
gdk/gdk.h
@ -489,26 +489,33 @@ gint gdk_color_equal (GdkColor *colora,
|
||||
/* Fonts
|
||||
*/
|
||||
GdkFont* gdk_font_load (const gchar *font_name);
|
||||
GdkFont* gdk_fontset_load (gchar *fontset_name);
|
||||
GdkFont* gdk_font_ref (GdkFont *font);
|
||||
void gdk_font_unref (GdkFont *font);
|
||||
GdkFont* gdk_fontset_load (gchar *fontset_name);
|
||||
GdkFont* gdk_font_ref (GdkFont *font);
|
||||
void gdk_font_unref (GdkFont *font);
|
||||
gint gdk_font_id (const GdkFont *font);
|
||||
gint gdk_font_equal (const GdkFont *fonta,
|
||||
const GdkFont *fontb);
|
||||
gint gdk_string_width (GdkFont *font,
|
||||
gint gdk_string_width (GdkFont *font,
|
||||
const gchar *string);
|
||||
gint gdk_text_width (GdkFont *font,
|
||||
gint gdk_text_width (GdkFont *font,
|
||||
const gchar *text,
|
||||
gint text_length);
|
||||
gint gdk_char_width (GdkFont *font,
|
||||
gchar character);
|
||||
gint gdk_string_measure (GdkFont *font,
|
||||
gint text_length);
|
||||
gint gdk_char_width (GdkFont *font,
|
||||
gchar character);
|
||||
gint gdk_string_measure (GdkFont *font,
|
||||
const gchar *string);
|
||||
gint gdk_text_measure (GdkFont *font,
|
||||
gint gdk_text_measure (GdkFont *font,
|
||||
const gchar *text,
|
||||
gint text_length);
|
||||
gint gdk_char_measure (GdkFont *font,
|
||||
gchar character);
|
||||
gint text_length);
|
||||
gint gdk_char_measure (GdkFont *font,
|
||||
gchar character);
|
||||
gint gdk_string_height (GdkFont *font,
|
||||
const gchar *string);
|
||||
gint gdk_text_height (GdkFont *font,
|
||||
const gchar *text,
|
||||
gint text_length);
|
||||
gint gdk_char_height (GdkFont *font,
|
||||
gchar character);
|
||||
|
||||
|
||||
/* Drawing
|
||||
|
@ -385,3 +385,71 @@ gdk_char_measure (GdkFont *font,
|
||||
|
||||
return gdk_text_measure (font, &character, 1);
|
||||
}
|
||||
|
||||
gint
|
||||
gdk_string_height (GdkFont *font,
|
||||
const gchar *string)
|
||||
{
|
||||
g_return_val_if_fail (font != NULL, -1);
|
||||
g_return_val_if_fail (string != NULL, -1);
|
||||
|
||||
return gdk_text_height (font, string, strlen (string));
|
||||
}
|
||||
|
||||
gint
|
||||
gdk_text_height (GdkFont *font,
|
||||
const gchar *text,
|
||||
gint text_length)
|
||||
{
|
||||
GdkFontPrivate *private;
|
||||
XCharStruct overall;
|
||||
XFontStruct *xfont;
|
||||
XFontSet fontset;
|
||||
XRectangle ink, log;
|
||||
int direction;
|
||||
int font_ascent;
|
||||
int font_descent;
|
||||
gint height;
|
||||
|
||||
g_return_val_if_fail (font != NULL, -1);
|
||||
g_return_val_if_fail (text != NULL, -1);
|
||||
|
||||
private = (GdkFontPrivate*) font;
|
||||
|
||||
switch (font->type)
|
||||
{
|
||||
case GDK_FONT_FONT:
|
||||
xfont = (XFontStruct *) private->xfont;
|
||||
if ((xfont->min_byte1 == 0) && (xfont->max_byte1 == 0))
|
||||
{
|
||||
XTextExtents (xfont, text, text_length,
|
||||
&direction, &font_ascent, &font_descent,
|
||||
&overall);
|
||||
}
|
||||
else
|
||||
{
|
||||
XTextExtents16 (xfont, (XChar2b *) text, text_length / 2,
|
||||
&direction, &font_ascent, &font_descent,
|
||||
&overall);
|
||||
}
|
||||
height = overall.ascent + overall.descent;
|
||||
break;
|
||||
case GDK_FONT_FONTSET:
|
||||
fontset = (XFontSet) private->xfont;
|
||||
XmbTextExtents (fontset, text, text_length, &ink, &log);
|
||||
height = log.height;
|
||||
break;
|
||||
default:
|
||||
height = 0;
|
||||
}
|
||||
return height;
|
||||
}
|
||||
|
||||
gint
|
||||
gdk_char_height (GdkFont *font,
|
||||
gchar character)
|
||||
{
|
||||
g_return_val_if_fail (font != NULL, -1);
|
||||
|
||||
return gdk_text_height (font, &character, 1);
|
||||
}
|
||||
|
@ -385,3 +385,71 @@ gdk_char_measure (GdkFont *font,
|
||||
|
||||
return gdk_text_measure (font, &character, 1);
|
||||
}
|
||||
|
||||
gint
|
||||
gdk_string_height (GdkFont *font,
|
||||
const gchar *string)
|
||||
{
|
||||
g_return_val_if_fail (font != NULL, -1);
|
||||
g_return_val_if_fail (string != NULL, -1);
|
||||
|
||||
return gdk_text_height (font, string, strlen (string));
|
||||
}
|
||||
|
||||
gint
|
||||
gdk_text_height (GdkFont *font,
|
||||
const gchar *text,
|
||||
gint text_length)
|
||||
{
|
||||
GdkFontPrivate *private;
|
||||
XCharStruct overall;
|
||||
XFontStruct *xfont;
|
||||
XFontSet fontset;
|
||||
XRectangle ink, log;
|
||||
int direction;
|
||||
int font_ascent;
|
||||
int font_descent;
|
||||
gint height;
|
||||
|
||||
g_return_val_if_fail (font != NULL, -1);
|
||||
g_return_val_if_fail (text != NULL, -1);
|
||||
|
||||
private = (GdkFontPrivate*) font;
|
||||
|
||||
switch (font->type)
|
||||
{
|
||||
case GDK_FONT_FONT:
|
||||
xfont = (XFontStruct *) private->xfont;
|
||||
if ((xfont->min_byte1 == 0) && (xfont->max_byte1 == 0))
|
||||
{
|
||||
XTextExtents (xfont, text, text_length,
|
||||
&direction, &font_ascent, &font_descent,
|
||||
&overall);
|
||||
}
|
||||
else
|
||||
{
|
||||
XTextExtents16 (xfont, (XChar2b *) text, text_length / 2,
|
||||
&direction, &font_ascent, &font_descent,
|
||||
&overall);
|
||||
}
|
||||
height = overall.ascent + overall.descent;
|
||||
break;
|
||||
case GDK_FONT_FONTSET:
|
||||
fontset = (XFontSet) private->xfont;
|
||||
XmbTextExtents (fontset, text, text_length, &ink, &log);
|
||||
height = log.height;
|
||||
break;
|
||||
default:
|
||||
height = 0;
|
||||
}
|
||||
return height;
|
||||
}
|
||||
|
||||
gint
|
||||
gdk_char_height (GdkFont *font,
|
||||
gchar character)
|
||||
{
|
||||
g_return_val_if_fail (font != NULL, -1);
|
||||
|
||||
return gdk_text_height (font, &character, 1);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user