]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - ft2.h
com_list: Actually initialize a list to point to itself...
[xonotic/darkplaces.git] / ft2.h
diff --git a/ft2.h b/ft2.h
index 99de79a74bd633106c818c8f9bf798d65f0ab254..2104a8c4fd9f6620afeb7fb231d77fad5a075663 100644 (file)
--- a/ft2.h
+++ b/ft2.h
 
 typedef struct ft2_font_map_s ft2_font_map_t;
 typedef struct ft2_attachment_s ft2_attachment_t;
+#ifdef WIN64
+#define ft2_oldstyle_map ((ft2_font_map_t*)-1LL)
+#else
 #define ft2_oldstyle_map ((ft2_font_map_t*)-1)
+#endif
 
 typedef float ft2_kernvec[2];
 typedef struct ft2_kerning_s
@@ -33,17 +37,17 @@ typedef struct ft2_kerning_s
 typedef struct ft2_font_s
 {
        char            name[64];
-       qboolean        has_kerning;
+       qbool        has_kerning;
        // last requested size loaded using Font_SetSize
        float           currentw;
        float           currenth;
        float           ascend;
        float           descend;
-       qboolean        image_font; // only fallbacks are freetype fonts
+       qbool        image_font; // only fallbacks are freetype fonts
 
        // TODO: clean this up and do not expose everything.
        
-       //unsigned char  *data;
+       const unsigned char  *data; // FT2 needs it to stay
        //fs_offset_t     datasize;
        void           *face;
 
@@ -55,13 +59,15 @@ typedef struct ft2_font_s
        size_t            attachmentcount;
        ft2_attachment_t *attachments;
 
+       ft2_settings_t *settings;
+
        // fallback mechanism
        struct ft2_font_s *next;
 } ft2_font_t;
 
 void            Font_CloseLibrary(void);
 void            Font_Init(void);
-qboolean        Font_OpenLibrary(void);
+qbool        Font_OpenLibrary(void);
 ft2_font_t*     Font_Alloc(void);
 void            Font_UnloadFont(ft2_font_t *font);
 // IndexForSize suggests to change the width and height if a font size is in a reasonable range
@@ -69,10 +75,11 @@ void            Font_UnloadFont(ft2_font_t *font);
 // in such a case, *outw and *outh are set to 12, which is often a good alternative size
 int             Font_IndexForSize(ft2_font_t *font, float size, float *outw, float *outh);
 ft2_font_map_t *Font_MapForIndex(ft2_font_t *font, int index);
-qboolean        Font_LoadFont(const char *name, dp_font_t *dpfnt);
-qboolean        Font_GetKerningForSize(ft2_font_t *font, float w, float h, Uchar left, Uchar right, float *outx, float *outy);
-qboolean        Font_GetKerningForMap(ft2_font_t *font, int map_index, float w, float h, Uchar left, Uchar right, float *outx, float *outy);
-
+qbool        Font_LoadFont(const char *name, dp_font_t *dpfnt);
+qbool        Font_GetKerningForSize(ft2_font_t *font, float w, float h, Uchar left, Uchar right, float *outx, float *outy);
+qbool        Font_GetKerningForMap(ft2_font_t *font, int map_index, float w, float h, Uchar left, Uchar right, float *outx, float *outy);
+float           Font_VirtualToRealSize(float sz);
+float           Font_SnapTo(float val, float snapwidth);
 // since this is used on a font_map_t, let's name it FontMap_*
 ft2_font_map_t *FontMap_FindForChar(ft2_font_map_t *start, Uchar ch);
 #endif // DP_FREETYPE2_H__