diff options
author | Ramiro Estrugo <ramiro@src.gnome.org> | 2000-09-05 22:31:56 +0000 |
---|---|---|
committer | Ramiro Estrugo <ramiro@src.gnome.org> | 2000-09-05 22:31:56 +0000 |
commit | b01779bfe70e2b511a76a185a555863b554850b6 (patch) | |
tree | 512710e4a5bcdc7a0c5b27ef4a26954d6ac6c5b9 | |
parent | 0ab047adf5a967be29469f1ba4d9239fcfa3068e (diff) | |
download | nautilus-b01779bfe70e2b511a76a185a555863b554850b6.tar.gz |
Add hook for scalable fonts test which im going to add soon.
* libnautilus-extensions/nautilus-lib-self-check-functions.h:
Add hook for scalable fonts test which im going to add soon.
* libnautilus-extensions/nautilus-scalable-font.h:
* libnautilus-extensions/nautilus-scalable-font.c:
(nautilus_scalable_font_text_width), New convenience function to
measure just the text width.
(nautilus_self_check_scalable_font): Add hook for scalable fonts
test which im going to add soon.
6 files changed, 96 insertions, 2 deletions
diff --git a/libnautilus-extensions/nautilus-lib-self-check-functions.h b/libnautilus-extensions/nautilus-lib-self-check-functions.h index 63843f733..eaa764eb8 100644 --- a/libnautilus-extensions/nautilus-lib-self-check-functions.h +++ b/libnautilus-extensions/nautilus-lib-self-check-functions.h @@ -41,6 +41,7 @@ void nautilus_run_lib_self_checks (void); #define NAUTILUS_LIB_FOR_EACH_SELF_CHECK_FUNCTION(macro) \ macro (nautilus_self_check_string) \ macro (nautilus_self_check_string_list) \ + macro (nautilus_self_check_scalable_font) \ macro (nautilus_self_check_string_map) \ macro (nautilus_self_check_glib_extensions) \ macro (nautilus_self_check_gdk_extensions) \ diff --git a/libnautilus-extensions/nautilus-scalable-font.c b/libnautilus-extensions/nautilus-scalable-font.c index 86ee4b5e6..c53558d58 100644 --- a/libnautilus-extensions/nautilus-scalable-font.c +++ b/libnautilus-extensions/nautilus-scalable-font.c @@ -33,6 +33,7 @@ #include "nautilus-file-utilities.h" #include "nautilus-glib-extensions.h" #include "nautilus-string-map.h" +#include "nautilus-lib-self-check-functions.h" #include <librsvg/rsvg-ft.h> @@ -650,6 +651,37 @@ nautilus_scalable_font_measure_text (const NautilusScalableFont *font, rsvg_ft_glyph_unref (glyph); } +guint +nautilus_scalable_font_text_width (const NautilusScalableFont *font, + guint font_width, + guint font_height, + const char *text, + guint text_length) +{ + guint text_width = 0; + guint text_height = 0; + + g_return_val_if_fail (NAUTILUS_IS_SCALABLE_FONT (font), 0); + g_return_val_if_fail (font_width > 0, 0); + g_return_val_if_fail (font_height > 0, 0); + + if (text == NULL || text[0] == '\0' || text_length == 0) { + return 0; + } + + g_return_val_if_fail (text_length <= strlen (text), 0); + + nautilus_scalable_font_measure_text (font, + font_width, + font_height, + text, + text_length, + &text_width, + &text_height); + + return text_width; +} + void nautilus_scalable_font_draw_text (const NautilusScalableFont *font, GdkPixbuf *destination_pixbuf, @@ -1287,3 +1319,13 @@ initialize_global_stuff_if_needed (void) g_atexit (font_family_string_map_at_exit_destructor); } } + +#if !defined (NAUTILUS_OMIT_SELF_CHECK) + +void +nautilus_self_check_scalable_font (void) +{ + /* const char *fonts_place = NAUTILUS_DATADIR "/fonts/urw"; */ +} + +#endif /* !NAUTILUS_OMIT_SELF_CHECK */ diff --git a/libnautilus-extensions/nautilus-scalable-font.h b/libnautilus-extensions/nautilus-scalable-font.h index b8450bc9e..4df6ae8dd 100644 --- a/libnautilus-extensions/nautilus-scalable-font.h +++ b/libnautilus-extensions/nautilus-scalable-font.h @@ -84,6 +84,11 @@ void nautilus_scalable_font_measure_text (c guint text_length, guint *text_width_out, guint *text_height_out); +guint nautilus_scalable_font_text_width (const NautilusScalableFont *font, + guint font_width, + guint font_height, + const char *text, + guint text_length); void nautilus_scalable_font_draw_text (const NautilusScalableFont *font, GdkPixbuf *destination_pixbuf, int x, @@ -147,7 +152,6 @@ gboolean nautilus_scalable_font_query_font (c NautilusStringList **slants, NautilusStringList **set_widths); - END_GNOME_DECLS #endif /* NAUTILUS_SCALABLE_FONT_H */ diff --git a/libnautilus-private/nautilus-lib-self-check-functions.h b/libnautilus-private/nautilus-lib-self-check-functions.h index 63843f733..eaa764eb8 100644 --- a/libnautilus-private/nautilus-lib-self-check-functions.h +++ b/libnautilus-private/nautilus-lib-self-check-functions.h @@ -41,6 +41,7 @@ void nautilus_run_lib_self_checks (void); #define NAUTILUS_LIB_FOR_EACH_SELF_CHECK_FUNCTION(macro) \ macro (nautilus_self_check_string) \ macro (nautilus_self_check_string_list) \ + macro (nautilus_self_check_scalable_font) \ macro (nautilus_self_check_string_map) \ macro (nautilus_self_check_glib_extensions) \ macro (nautilus_self_check_gdk_extensions) \ diff --git a/libnautilus-private/nautilus-scalable-font.c b/libnautilus-private/nautilus-scalable-font.c index 86ee4b5e6..c53558d58 100644 --- a/libnautilus-private/nautilus-scalable-font.c +++ b/libnautilus-private/nautilus-scalable-font.c @@ -33,6 +33,7 @@ #include "nautilus-file-utilities.h" #include "nautilus-glib-extensions.h" #include "nautilus-string-map.h" +#include "nautilus-lib-self-check-functions.h" #include <librsvg/rsvg-ft.h> @@ -650,6 +651,37 @@ nautilus_scalable_font_measure_text (const NautilusScalableFont *font, rsvg_ft_glyph_unref (glyph); } +guint +nautilus_scalable_font_text_width (const NautilusScalableFont *font, + guint font_width, + guint font_height, + const char *text, + guint text_length) +{ + guint text_width = 0; + guint text_height = 0; + + g_return_val_if_fail (NAUTILUS_IS_SCALABLE_FONT (font), 0); + g_return_val_if_fail (font_width > 0, 0); + g_return_val_if_fail (font_height > 0, 0); + + if (text == NULL || text[0] == '\0' || text_length == 0) { + return 0; + } + + g_return_val_if_fail (text_length <= strlen (text), 0); + + nautilus_scalable_font_measure_text (font, + font_width, + font_height, + text, + text_length, + &text_width, + &text_height); + + return text_width; +} + void nautilus_scalable_font_draw_text (const NautilusScalableFont *font, GdkPixbuf *destination_pixbuf, @@ -1287,3 +1319,13 @@ initialize_global_stuff_if_needed (void) g_atexit (font_family_string_map_at_exit_destructor); } } + +#if !defined (NAUTILUS_OMIT_SELF_CHECK) + +void +nautilus_self_check_scalable_font (void) +{ + /* const char *fonts_place = NAUTILUS_DATADIR "/fonts/urw"; */ +} + +#endif /* !NAUTILUS_OMIT_SELF_CHECK */ diff --git a/libnautilus-private/nautilus-scalable-font.h b/libnautilus-private/nautilus-scalable-font.h index b8450bc9e..4df6ae8dd 100644 --- a/libnautilus-private/nautilus-scalable-font.h +++ b/libnautilus-private/nautilus-scalable-font.h @@ -84,6 +84,11 @@ void nautilus_scalable_font_measure_text (c guint text_length, guint *text_width_out, guint *text_height_out); +guint nautilus_scalable_font_text_width (const NautilusScalableFont *font, + guint font_width, + guint font_height, + const char *text, + guint text_length); void nautilus_scalable_font_draw_text (const NautilusScalableFont *font, GdkPixbuf *destination_pixbuf, int x, @@ -147,7 +152,6 @@ gboolean nautilus_scalable_font_query_font (c NautilusStringList **slants, NautilusStringList **set_widths); - END_GNOME_DECLS #endif /* NAUTILUS_SCALABLE_FONT_H */ |