diff options
author | Eugene Sandulenko | 2009-03-08 17:20:33 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2009-03-08 17:20:33 +0000 |
commit | 6c0ac7f692e46d669d992bebf6d386306b6c42e6 (patch) | |
tree | 3d07d13df4c19f27a32b0347e0ff4f644e047147 /tools/sci/bdfP.h | |
parent | fcb2faa18a7552cb3cdbd44ddf4de186a175940e (diff) | |
download | scummvm-rg350-6c0ac7f692e46d669d992bebf6d386306b6c42e6.tar.gz scummvm-rg350-6c0ac7f692e46d669d992bebf6d386306b6c42e6.tar.bz2 scummvm-rg350-6c0ac7f692e46d669d992bebf6d386306b6c42e6.zip |
Resurrection of SCI tools. Step 1.
svn-id: r39240
Diffstat (limited to 'tools/sci/bdfP.h')
-rw-r--r-- | tools/sci/bdfP.h | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/tools/sci/bdfP.h b/tools/sci/bdfP.h new file mode 100644 index 0000000000..518cc76711 --- /dev/null +++ b/tools/sci/bdfP.h @@ -0,0 +1,142 @@ +/* + * Copyright 2001 Computing Research Labs, New Mexico State University + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT + * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR + * THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +#ifndef _h_bdfP +#define _h_bdfP + +/* + * $Id$ + */ + +#include "bdf.h" + +#ifdef __cplusplus +extern "C" { +#endif + + /* + * A macro for prototypes. + */ +#undef __ +#ifdef __STDC__ +#define __(x) x +#else +#define __(x) () +#endif + +#ifndef MYABS +#define MYABS(xx) ((xx) < 0 ? -(xx) : (xx)) +#endif + + /* + * Macros and structures used for undo operations in the font. + */ +#define _UNDO_REPLACE_GLYPHS 1 +#define _UNDO_INSERT_GLYPHS 2 +#define _UNDO_MERGE_GLYPHS 3 + + /* + * This structure is for undo operations of replacing and merging glyphs + * in the font. + */ + typedef struct { + bdf_bbx_t b; + bdf_glyphlist_t g; + } _bdf_undo1_t; + + /* + * This structure is for undo operations of inserting glyphs. + */ + typedef struct { + bdf_bbx_t b; + long start; + long end; + } _bdf_undo2_t; + + /* + * This is the final undo structure used to store undo information with the + * font. + */ + typedef struct _bdf_undo_struct { + int type; + union { + _bdf_undo1_t one; + _bdf_undo2_t two; + } field; + } bdf_undo_struct_t; + + /* + * Tables for rotation and shearing. + */ + extern double _bdf_cos_tbl[]; + extern double _bdf_sin_tbl[]; + extern double _bdf_tan_tbl[]; + + /* + * Arrays of masks for test with different bits per pixel. + */ + extern unsigned char onebpp[]; + extern unsigned char twobpp[]; + extern unsigned char fourbpp[]; + + /* + * Simple routine for determining the ceiling. + */ + extern short _bdf_ceiling __((double v)); + + extern unsigned char *_bdf_strdup __((unsigned char *s, unsigned long len)); + extern void _bdf_memmove __((char *dest, char *src, unsigned long bytes)); + + extern short _bdf_atos __((char *s, char **end, int base)); + extern long _bdf_atol __((char *s, char **end, int base)); + extern unsigned long _bdf_atoul __((char *s, char **end, int base)); + + /* + * Macros to test/set the modified status of a glyph. + */ +#define _bdf_glyph_modified(map, e) ((map)[(e) >> 5] & (1 << ((e) & 31))) +#define _bdf_set_glyph_modified(map, e) (map)[(e) >> 5] |= (1 << ((e) & 31)) +#define _bdf_clear_glyph_modified(map, e) (map)[(e) >> 5] &= ~(1 << ((e) & 31)) + + /* + * Function to add a message to the font. + */ + extern void _bdf_add_acmsg __((bdf_font_t *font, char *msg, + unsigned long len)); + + /* + * Function to add a comment to the font. + */ + extern void _bdf_add_comment __((bdf_font_t *font, char *comment, + unsigned long len)); + + /* + * Function to do glyph name table cleanup when exiting. + */ + extern void _bdf_glyph_name_cleanup __((void)); + +#undef __ + +#ifdef __cplusplus +} +#endif + +#endif /* _h_bdfP */ |