vrshoot

annotate 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
rev   line source
nuclear@0 1 /***************************************************************************/
nuclear@0 2 /* */
nuclear@0 3 /* svsfnt.h */
nuclear@0 4 /* */
nuclear@0 5 /* The FreeType SFNT table loading service (specification). */
nuclear@0 6 /* */
nuclear@0 7 /* Copyright 2003, 2004 by */
nuclear@0 8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
nuclear@0 9 /* */
nuclear@0 10 /* This file is part of the FreeType project, and may only be used, */
nuclear@0 11 /* modified, and distributed under the terms of the FreeType project */
nuclear@0 12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
nuclear@0 13 /* this file you indicate that you have read the license and */
nuclear@0 14 /* understand and accept it fully. */
nuclear@0 15 /* */
nuclear@0 16 /***************************************************************************/
nuclear@0 17
nuclear@0 18
nuclear@0 19 #ifndef __SVSFNT_H__
nuclear@0 20 #define __SVSFNT_H__
nuclear@0 21
nuclear@0 22 #include FT_INTERNAL_SERVICE_H
nuclear@0 23 #include FT_TRUETYPE_TABLES_H
nuclear@0 24
nuclear@0 25
nuclear@0 26 FT_BEGIN_HEADER
nuclear@0 27
nuclear@0 28
nuclear@0 29 /*
nuclear@0 30 * SFNT table loading service.
nuclear@0 31 */
nuclear@0 32
nuclear@0 33 #define FT_SERVICE_ID_SFNT_TABLE "sfnt-table"
nuclear@0 34
nuclear@0 35
nuclear@0 36 /*
nuclear@0 37 * Used to implement FT_Load_Sfnt_Table().
nuclear@0 38 */
nuclear@0 39 typedef FT_Error
nuclear@0 40 (*FT_SFNT_TableLoadFunc)( FT_Face face,
nuclear@0 41 FT_ULong tag,
nuclear@0 42 FT_Long offset,
nuclear@0 43 FT_Byte* buffer,
nuclear@0 44 FT_ULong* length );
nuclear@0 45
nuclear@0 46 /*
nuclear@0 47 * Used to implement FT_Get_Sfnt_Table().
nuclear@0 48 */
nuclear@0 49 typedef void*
nuclear@0 50 (*FT_SFNT_TableGetFunc)( FT_Face face,
nuclear@0 51 FT_Sfnt_Tag tag );
nuclear@0 52
nuclear@0 53
nuclear@0 54 /*
nuclear@0 55 * Used to implement FT_Sfnt_Table_Info().
nuclear@0 56 */
nuclear@0 57 typedef FT_Error
nuclear@0 58 (*FT_SFNT_TableInfoFunc)( FT_Face face,
nuclear@0 59 FT_UInt idx,
nuclear@0 60 FT_ULong *tag,
nuclear@0 61 FT_ULong *offset,
nuclear@0 62 FT_ULong *length );
nuclear@0 63
nuclear@0 64
nuclear@0 65 FT_DEFINE_SERVICE( SFNT_Table )
nuclear@0 66 {
nuclear@0 67 FT_SFNT_TableLoadFunc load_table;
nuclear@0 68 FT_SFNT_TableGetFunc get_table;
nuclear@0 69 FT_SFNT_TableInfoFunc table_info;
nuclear@0 70 };
nuclear@0 71
nuclear@0 72 #ifndef FT_CONFIG_OPTION_PIC
nuclear@0 73
nuclear@0 74 #define FT_DEFINE_SERVICE_SFNT_TABLEREC(class_, load_, get_, info_) \
nuclear@0 75 static const FT_Service_SFNT_TableRec class_ = \
nuclear@0 76 { \
nuclear@0 77 load_, get_, info_ \
nuclear@0 78 };
nuclear@0 79
nuclear@0 80 #else /* FT_CONFIG_OPTION_PIC */
nuclear@0 81
nuclear@0 82 #define FT_DEFINE_SERVICE_SFNT_TABLEREC(class_, load_, get_, info_) \
nuclear@0 83 void \
nuclear@0 84 FT_Init_Class_##class_( FT_Service_SFNT_TableRec* clazz ) \
nuclear@0 85 { \
nuclear@0 86 clazz->load_table = load_; \
nuclear@0 87 clazz->get_table = get_; \
nuclear@0 88 clazz->table_info = info_; \
nuclear@0 89 }
nuclear@0 90
nuclear@0 91 #endif /* FT_CONFIG_OPTION_PIC */
nuclear@0 92
nuclear@0 93 /* */
nuclear@0 94
nuclear@0 95
nuclear@0 96 FT_END_HEADER
nuclear@0 97
nuclear@0 98
nuclear@0 99 #endif /* __SVSFNT_H__ */
nuclear@0 100
nuclear@0 101
nuclear@0 102 /* END */