summaryrefslogtreecommitdiff
path: root/render/font.h
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2014-10-13 11:56:31 +0100
committerVincent Sanders <vince@kyllikki.org>2014-10-13 11:56:31 +0100
commit17be8cf216e08a57c511ec1ea43eae40874fa9de (patch)
tree270667cd4a3418b185e5432be1c7c8b7dca8792f /render/font.h
parent33c6073dbed882506e5a16fc43e7e2a71a2d6be2 (diff)
downloadnetsurf-17be8cf216e08a57c511ec1ea43eae40874fa9de.tar.gz
netsurf-17be8cf216e08a57c511ec1ea43eae40874fa9de.tar.bz2
Put the font operations table alongside all the other core API
The netsurf core is driven from numerous operation tables most of which are now set through a common netsurf_register() interface. The font and plotting interfaces are currently separate and unlike all the other operation tables are modified for differing contexts. This change moves the font operations alongside all the other operations table and remove unnecessary interaction with the renderers font internals. Further this also removes the need for css internals to be visible in frontends.
Diffstat (limited to 'render/font.h')
-rw-r--r--render/font.h86
1 files changed, 12 insertions, 74 deletions
diff --git a/render/font.h b/render/font.h
index bc8df2335..e4353df64 100644
--- a/render/font.h
+++ b/render/font.h
@@ -1,7 +1,5 @@
/*
- * Copyright 2003 Phil Mellor <monkeyson@users.sourceforge.net>
- * Copyright 2005 James Bursa <bursa@users.sourceforge.net>
- * Copyright 2004 John Tytgat <joty@netsurf-browser.org>
+ * Copyright 2014 Vincent Sanders <vince@netsurf-browser.org>
*
* This file is part of NetSurf, http://www.netsurf-browser.org/
*
@@ -19,83 +17,23 @@
*/
/** \file
- * Font handling (interface).
*
- * These functions provide font related services. They all work on UTF-8 strings
- * with lengths given.
+ * Internal font handling interfaces.
*
- * Note that an interface to painting is not defined here. Painting is
- * redirected through platform-dependent plotters anyway, so there is no gain in
- * abstracting it here.
+ * These functions provide font related services. They all work on
+ * UTF-8 strings with lengths given.
*/
#ifndef _NETSURF_RENDER_FONT_H_
#define _NETSURF_RENDER_FONT_H_
-#include <stdbool.h>
-#include <stddef.h>
-
-#include "css/css.h"
-#include "desktop/plot_style.h"
-
-struct font_functions
-{
- /**
- * Measure the width of a string.
- *
- * \param fstyle plot style for this text
- * \param string UTF-8 string to measure
- * \param length length of string, in bytes
- * \param width updated to width of string[0..length)
- * \return true on success, false on error and error reported
- */
- bool (*font_width)(const plot_font_style_t *fstyle,
- const char *string, size_t length,
- int *width);
- /**
- * Find the position in a string where an x coordinate falls.
- *
- * \param fstyle style for this text
- * \param string UTF-8 string to measure
- * \param length length of string, in bytes
- * \param x x coordinate to search for
- * \param char_offset updated to offset in string of actual_x, [0..length]
- * \param actual_x updated to x coordinate of character closest to x
- * \return true on success, false on error and error reported
- */
- bool (*font_position_in_string)(const plot_font_style_t *fstyle,
- const char *string, size_t length,
- int x, size_t *char_offset, int *actual_x);
- /**
- * Find where to split a string to make it fit a width.
- *
- * \param fstyle style for this text
- * \param string UTF-8 string to measure
- * \param length length of string, in bytes
- * \param x width available
- * \param char_offset updated to offset in string of actual_x, [1..length]
- * \param actual_x updated to x coordinate of character closest to x
- * \return true on success, false on error and error reported
- *
- * On exit, char_offset indicates first character after split point.
- *
- * Note: char_offset of 0 should never be returned.
- *
- * Returns:
- * char_offset giving split point closest to x, where actual_x <= x
- * else
- * char_offset giving split point closest to x, where actual_x > x
- *
- * Returning char_offset == length means no split possible
- */
- bool (*font_split)(const plot_font_style_t *fstyle,
- const char *string, size_t length,
- int x, size_t *char_offset, int *actual_x);
-};
-
-extern const struct font_functions nsfont;
-
-void font_plot_style_from_css(const css_computed_style *css,
- plot_font_style_t *fstyle);
+/**
+ * Populate a font style using data from a computed CSS style
+ *
+ * \param css Computed style to consider
+ * \param fstyle Font style to populate
+ */
+void font_plot_style_from_css(const css_computed_style *css,
+ plot_font_style_t *fstyle);
#endif