Viewing file: ftexcept.h (1.96 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#ifndef __FT_EXCEPT_H__ #define __FT_EXCEPT_H__
#include <ft2build.h> #include FT_INTERNAL_OBJECTS_H
FT_BEGIN_HEADER
/* I can't find a better place for this for now */
/* the size of a cleanup chunk in bytes is FT_CLEANUP_CHUNK_SIZE*12 + 4 */ /* this must be a small power of 2 whenever possible.. */ /* */ /* with a value of 5, we have a byte size of 64 bytes per chunk.. */ /* */ #define FT_CLEANUP_CHUNK_SIZE 5
typedef struct FT_CleanupItemRec_ { FT_Pointer item; FT_CleanupFunc item_func; FT_Pointer item_data;
} FT_CleanupItemRec;
typedef struct FT_CleanupChunkRec_* FT_CleanupChunk; typedef struct FT_CleanupChunkRec_ { FT_CleanupChunk link; FT_CleanupItemRec items[ FT_CLEANUP_CHUNK_SIZE ];
} FT_CleanupChunkRec;
typedef struct FT_CleanupStackRec_ { FT_CleanupItem top; FT_CleanupItem limit; FT_CleanupChunk chunk; FT_CleanupChunkRec chunk_0; /* avoids stupid dynamic allocation */ FT_Memory memory;
} FT_CleanupStackRec, *FT_CleanupStack;
FT_BASE( void ) ft_cleanup_stack_push( FT_CleanupStack stack, FT_Pointer item, FT_CleanupFunc item_func, FT_Pointer item_data );
FT_BASE( void ) ft_cleanup_stack_pop( FT_CleanupStack stack, FT_Int destroy );
FT_BASE( FT_CleanupItem ) ft_cleanup_stack_peek( FT_CleanupStack stack );
FT_BASE( void ) ft_xhandler_enter( FT_XHandler xhandler, FT_Memory memory );
FT_BASE( void ) ft_xhandler_exit( FT_XHandler xhandler );
FT_BASE( void ) ft_cleanup_throw( FT_CleanupStack stack, FT_Error error );
FT_END_HEADER
#endif /* __FT_EXCEPT_H__ */
|