ReactOS 0.4.16-dev-1019-g2c2cdfd
ftsizes.h File Reference
#include <ft2build.h>
Include dependency graph for ftsizes.h:

Go to the source code of this file.

Functions

FT_BEGIN_HEADER FT_New_Size (FT_Face face, FT_Size *size)
 
 FT_Done_Size (FT_Size size)
 
 FT_Activate_Size (FT_Size size)
 

Function Documentation

◆ FT_Activate_Size()

FT_Activate_Size ( FT_Size  size)

Definition at line 4273 of file ftobjs.c.

4274 {
4275 FT_Face face;
4276
4277
4278 if ( !size )
4279 return FT_THROW( Invalid_Size_Handle );
4280
4281 face = size->face;
4282 if ( !face || !face->driver )
4283 return FT_THROW( Invalid_Face_Handle );
4284
4285 /* we don't need anything more complex than that; all size objects */
4286 /* are already listed by the face */
4287 face->size = size;
4288
4289 return FT_Err_Ok;
4290 }
WORD face[3]
Definition: mesh.c:4747
return FT_Err_Ok
Definition: ftbbox.c:527
#define FT_THROW(e)
Definition: ftdebug.h:241
GLsizeiptr size
Definition: glext.h:5919
GLenum GLuint GLint GLenum face
Definition: glext.h:7025

Referenced by ftc_scaler_lookup_size(), ftc_size_node_compare(), T42_Size_Init(), T42_Size_Request(), and T42_Size_Select().

◆ FT_Done_Size()

FT_Done_Size ( FT_Size  size)

Definition at line 2871 of file ftobjs.c.

2872 {
2876 FT_Face face;
2878
2879
2880 if ( !size )
2881 return FT_THROW( Invalid_Size_Handle );
2882
2883 face = size->face;
2884 if ( !face )
2885 return FT_THROW( Invalid_Face_Handle );
2886
2887 driver = face->driver;
2888 if ( !driver )
2889 return FT_THROW( Invalid_Driver_Handle );
2890
2891 memory = driver->root.memory;
2892
2893 error = FT_Err_Ok;
2894 node = FT_List_Find( &face->sizes_list, size );
2895 if ( node )
2896 {
2897 FT_List_Remove( &face->sizes_list, node );
2898 FT_FREE( node );
2899
2900 if ( face->size == size )
2901 {
2902 face->size = NULL;
2903 if ( face->sizes_list.head )
2904 face->size = (FT_Size)(face->sizes_list.head->data);
2905 }
2906
2908 }
2909 else
2910 error = FT_THROW( Invalid_Size_Handle );
2911
2912 return error;
2913 }
#define NULL
Definition: types.h:112
struct FT_SizeRec_ * FT_Size
Definition: freetype.h:529
FT_List_Remove(FT_List list, FT_ListNode node)
Definition: ftutil.c:321
FT_BEGIN_HEADER FT_List_Find(FT_List list, void *data)
Definition: ftutil.c:244
#define FT_FREE(ptr)
Definition: ftmemory.h:328
static void destroy_size(FT_Memory memory, FT_Size size, FT_Driver driver)
Definition: ftobjs.c:1101
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
Definition: ftsystem.h:65
int FT_Error
Definition: fttypes.h:299
#define error(str)
Definition: mkdosfs.c:1605
static char memory[1024 *256]
Definition: process.c:116
struct @1716::@1717 driver
Definition: dlist.c:348

Referenced by ftc_face_node_init(), ftc_scaler_lookup_size(), ftc_size_node_done(), ftc_size_node_reset(), T42_Face_Init(), and T42_Size_Done().

◆ FT_New_Size()

FT_BEGIN_HEADER FT_New_Size ( FT_Face  face,
FT_Size size 
)

Definition at line 2806 of file ftobjs.c.

2808 {
2812 FT_Driver_Class clazz;
2813
2814 FT_Size size = NULL;
2816
2818
2819
2820 if ( !face )
2821 return FT_THROW( Invalid_Face_Handle );
2822
2823 if ( !asize )
2824 return FT_THROW( Invalid_Argument );
2825
2826 if ( !face->driver )
2827 return FT_THROW( Invalid_Driver_Handle );
2828
2829 *asize = NULL;
2830
2831 driver = face->driver;
2832 clazz = driver->clazz;
2833 memory = face->memory;
2834
2835 /* Allocate new size object and perform basic initialisation */
2836 if ( FT_ALLOC( size, clazz->size_object_size ) || FT_NEW( node ) )
2837 goto Exit;
2838
2839 size->face = face;
2840
2841 if ( FT_NEW( internal ) )
2842 goto Exit;
2843
2844 size->internal = internal;
2845
2846 if ( clazz->init_size )
2847 error = clazz->init_size( size );
2848
2849 /* in case of success, add to the face's list */
2850 if ( !error )
2851 {
2852 *asize = size;
2853 node->data = size;
2854 FT_List_Add( &face->sizes_list, node );
2855 }
2856
2857 Exit:
2858 if ( error )
2859 {
2860 FT_FREE( node );
2861 FT_FREE( size );
2862 }
2863
2864 return error;
2865 }
ios_base &_STLP_CALL internal(ios_base &__s)
Definition: _ios_base.h:311
FT_List_Add(FT_List list, FT_ListNode node)
Definition: ftutil.c:269
#define FT_NEW(ptr)
Definition: ftmemory.h:330
#define FT_ALLOC(ptr, size)
Definition: ftmemory.h:302
static void Exit(void)
Definition: sock.c:1330
FT_Size_InitFunc init_size
Definition: ftdrv.h:175
FT_Long size_object_size
Definition: ftdrv.h:169
GLvoid * data
Definition: dlist.c:359

Referenced by ft_open_face_internal(), ftc_scaler_lookup_size(), and T42_Size_Init().