forked from minhngoc25a/freetype2
83 lines
2.0 KiB
C
83 lines
2.0 KiB
C
#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 */
|
|
|
|
<<<<<<< ftexcept.h
|
|
=======
|
|
|
|
/* 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 );
|
|
|
|
>>>>>>> 1.2
|
|
FT_END_HEADER
|
|
|
|
#endif /* __FT_EXCEPT_H__ */
|