diff options
author | František Dvořák <valtri@users.sourceforge.net> | 2003-09-18 18:14:50 +0000 |
---|---|---|
committer | František Dvořák <valtri@users.sourceforge.net> | 2003-09-18 18:14:50 +0000 |
commit | 43ed8e88c49089b9bc6cabbba528fc9b7eb6cf5e (patch) | |
tree | e6a3402ce996d4313c0cbd8d8fe80d3dec059a8c /src/xine-engine/osd.h | |
parent | 02c325dc9e6584c71fb67449aeb505373141724a (diff) | |
download | xine-lib-43ed8e88c49089b9bc6cabbba528fc9b7eb6cf5e.tar.gz xine-lib-43ed8e88c49089b9bc6cabbba528fc9b7eb6cf5e.tar.bz2 |
Generating codepages with more than 256 characters (max. 16-bit).
Right computing text size of multibyte texts in OSD.
Different alias character for missing character in the conversion
and in the font: #, _
CVS patchset: 5402
CVS date: 2003/09/18 18:14:50
Diffstat (limited to 'src/xine-engine/osd.h')
-rw-r--r-- | src/xine-engine/osd.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/xine-engine/osd.h b/src/xine-engine/osd.h index c1652341e..b38522891 100644 --- a/src/xine-engine/osd.h +++ b/src/xine-engine/osd.h @@ -18,12 +18,16 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * * OSD stuff (text and graphic primitives) - * $Id: osd.h,v 1.17 2003/08/15 14:35:09 mroi Exp $ + * $Id: osd.h,v 1.18 2003/09/18 18:14:51 valtri Exp $ */ #ifndef HAVE_OSD_H #define HAVE_OSD_H +#ifndef _MSC_VER +# include <iconv.h> +#endif /* _MSC_VER */ + #ifdef XINE_COMPILE # include "video_overlay.h" # ifdef __OSD_C__ @@ -54,6 +58,11 @@ struct osd_object_s { uint8_t trans[OVL_PALETTE_SIZE]; /* mixer key table */ int32_t handle; + +#ifndef _MSC_VER + iconv_t cd; /* iconv handle of encoding */ + char *encoding; /* name of encoding */ +#endif osd_font_t *font; osd_ft2context_t *ft2; @@ -147,9 +156,16 @@ struct osd_renderer_s { int (*set_font) (osd_object_t *osd, const char *fontname, int size); + /* + * set encoding of text + * + * NULL ... no conversion (iso-8859-1) + * "" ... locale encoding + */ + int (*set_encoding) (osd_object_t *osd, const char *encoding); /* - * render text on x,y position (8 bits version) + * render text in current encoding on x,y position * no \n yet * * The text is assigned the colors starting at the index specified by @@ -158,7 +174,7 @@ struct osd_renderer_s { * Use OSD_TEXT1, OSD_TEXT2, ... for some preasssigned color indices. */ int (*render_text) (osd_object_t *osd, int x1, int y1, - const char *text, const char *encoding, int color_base); + const char *text, int color_base); /* * get width and height of how text will be renderized |