summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRamiro Estrugo <ramiro@src.gnome.org>2000-09-05 22:31:56 +0000
committerRamiro Estrugo <ramiro@src.gnome.org>2000-09-05 22:31:56 +0000
commitb01779bfe70e2b511a76a185a555863b554850b6 (patch)
tree512710e4a5bcdc7a0c5b27ef4a26954d6ac6c5b9
parent0ab047adf5a967be29469f1ba4d9239fcfa3068e (diff)
downloadnautilus-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.
-rw-r--r--libnautilus-extensions/nautilus-lib-self-check-functions.h1
-rw-r--r--libnautilus-extensions/nautilus-scalable-font.c42
-rw-r--r--libnautilus-extensions/nautilus-scalable-font.h6
-rw-r--r--libnautilus-private/nautilus-lib-self-check-functions.h1
-rw-r--r--libnautilus-private/nautilus-scalable-font.c42
-rw-r--r--libnautilus-private/nautilus-scalable-font.h6
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 */