vrshoot
diff libs/ft2static/freetype/internal/services/svsfnt.h @ 0:b2f14e535253
initial commit
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sat, 01 Feb 2014 19:58:19 +0200 |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/libs/ft2static/freetype/internal/services/svsfnt.h Sat Feb 01 19:58:19 2014 +0200 1.3 @@ -0,0 +1,102 @@ 1.4 +/***************************************************************************/ 1.5 +/* */ 1.6 +/* svsfnt.h */ 1.7 +/* */ 1.8 +/* The FreeType SFNT table loading service (specification). */ 1.9 +/* */ 1.10 +/* Copyright 2003, 2004 by */ 1.11 +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ 1.12 +/* */ 1.13 +/* This file is part of the FreeType project, and may only be used, */ 1.14 +/* modified, and distributed under the terms of the FreeType project */ 1.15 +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 1.16 +/* this file you indicate that you have read the license and */ 1.17 +/* understand and accept it fully. */ 1.18 +/* */ 1.19 +/***************************************************************************/ 1.20 + 1.21 + 1.22 +#ifndef __SVSFNT_H__ 1.23 +#define __SVSFNT_H__ 1.24 + 1.25 +#include FT_INTERNAL_SERVICE_H 1.26 +#include FT_TRUETYPE_TABLES_H 1.27 + 1.28 + 1.29 +FT_BEGIN_HEADER 1.30 + 1.31 + 1.32 + /* 1.33 + * SFNT table loading service. 1.34 + */ 1.35 + 1.36 +#define FT_SERVICE_ID_SFNT_TABLE "sfnt-table" 1.37 + 1.38 + 1.39 + /* 1.40 + * Used to implement FT_Load_Sfnt_Table(). 1.41 + */ 1.42 + typedef FT_Error 1.43 + (*FT_SFNT_TableLoadFunc)( FT_Face face, 1.44 + FT_ULong tag, 1.45 + FT_Long offset, 1.46 + FT_Byte* buffer, 1.47 + FT_ULong* length ); 1.48 + 1.49 + /* 1.50 + * Used to implement FT_Get_Sfnt_Table(). 1.51 + */ 1.52 + typedef void* 1.53 + (*FT_SFNT_TableGetFunc)( FT_Face face, 1.54 + FT_Sfnt_Tag tag ); 1.55 + 1.56 + 1.57 + /* 1.58 + * Used to implement FT_Sfnt_Table_Info(). 1.59 + */ 1.60 + typedef FT_Error 1.61 + (*FT_SFNT_TableInfoFunc)( FT_Face face, 1.62 + FT_UInt idx, 1.63 + FT_ULong *tag, 1.64 + FT_ULong *offset, 1.65 + FT_ULong *length ); 1.66 + 1.67 + 1.68 + FT_DEFINE_SERVICE( SFNT_Table ) 1.69 + { 1.70 + FT_SFNT_TableLoadFunc load_table; 1.71 + FT_SFNT_TableGetFunc get_table; 1.72 + FT_SFNT_TableInfoFunc table_info; 1.73 + }; 1.74 + 1.75 +#ifndef FT_CONFIG_OPTION_PIC 1.76 + 1.77 +#define FT_DEFINE_SERVICE_SFNT_TABLEREC(class_, load_, get_, info_) \ 1.78 + static const FT_Service_SFNT_TableRec class_ = \ 1.79 + { \ 1.80 + load_, get_, info_ \ 1.81 + }; 1.82 + 1.83 +#else /* FT_CONFIG_OPTION_PIC */ 1.84 + 1.85 +#define FT_DEFINE_SERVICE_SFNT_TABLEREC(class_, load_, get_, info_) \ 1.86 + void \ 1.87 + FT_Init_Class_##class_( FT_Service_SFNT_TableRec* clazz ) \ 1.88 + { \ 1.89 + clazz->load_table = load_; \ 1.90 + clazz->get_table = get_; \ 1.91 + clazz->table_info = info_; \ 1.92 + } 1.93 + 1.94 +#endif /* FT_CONFIG_OPTION_PIC */ 1.95 + 1.96 + /* */ 1.97 + 1.98 + 1.99 +FT_END_HEADER 1.100 + 1.101 + 1.102 +#endif /* __SVSFNT_H__ */ 1.103 + 1.104 + 1.105 +/* END */