/* automatically generated by rust-bindgen */ pub type FT_Int16 = i16; pub type FT_UInt16 = u16; pub type FT_Int32 = i32; pub type FT_UInt32 = u32; pub type FT_Int64= i64; pub type FT_UInt64= u64; pub use FT_Error; #[repr(C)] pub struct __BindgenUnionField(::std::marker::PhantomData); impl __BindgenUnionField { #[inline] pub fn new() -> Self { __BindgenUnionField(::std::marker::PhantomData) } #[inline] pub unsafe fn as_ref(&self) -> &T { ::std::mem::transmute(self) } #[inline] pub unsafe fn as_mut(&mut self) -> &mut T { ::std::mem::transmute(self) } } impl ::std::default::Default for __BindgenUnionField { #[inline] fn default() -> Self { Self::new() } } impl ::std::clone::Clone for __BindgenUnionField { #[inline] fn clone(&self) -> Self { Self::new() } } impl ::std::marker::Copy for __BindgenUnionField { } impl ::std::fmt::Debug for __BindgenUnionField { fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { fmt.write_str("__BindgenUnionField") } } pub const FT_RENDER_POOL_SIZE: ::std::os::raw::c_uint = 16384; pub const FT_MAX_MODULES: ::std::os::raw::c_uint = 32; pub const FT_OUTLINE_NONE: ::std::os::raw::c_uint = 0; pub const FT_OUTLINE_OWNER: ::std::os::raw::c_uint = 1; pub const FT_OUTLINE_EVEN_ODD_FILL: ::std::os::raw::c_uint = 2; pub const FT_OUTLINE_REVERSE_FILL: ::std::os::raw::c_uint = 4; pub const FT_OUTLINE_IGNORE_DROPOUTS: ::std::os::raw::c_uint = 8; pub const FT_OUTLINE_SMART_DROPOUTS: ::std::os::raw::c_uint = 16; pub const FT_OUTLINE_INCLUDE_STUBS: ::std::os::raw::c_uint = 32; pub const FT_OUTLINE_HIGH_PRECISION: ::std::os::raw::c_uint = 256; pub const FT_OUTLINE_SINGLE_PASS: ::std::os::raw::c_uint = 512; pub const FT_CURVE_TAG_ON: ::std::os::raw::c_uint = 1; pub const FT_CURVE_TAG_CONIC: ::std::os::raw::c_uint = 0; pub const FT_CURVE_TAG_CUBIC: ::std::os::raw::c_uint = 2; pub const FT_CURVE_TAG_HAS_SCANMODE: ::std::os::raw::c_uint = 4; pub const FT_CURVE_TAG_TOUCH_X: ::std::os::raw::c_uint = 8; pub const FT_CURVE_TAG_TOUCH_Y: ::std::os::raw::c_uint = 16; pub const FT_CURVE_TAG_TOUCH_BOTH: ::std::os::raw::c_uint = 24; pub const FT_Curve_Tag_On: ::std::os::raw::c_uint = 1; pub const FT_Curve_Tag_Conic: ::std::os::raw::c_uint = 0; pub const FT_Curve_Tag_Cubic: ::std::os::raw::c_uint = 2; pub const FT_Curve_Tag_Touch_X: ::std::os::raw::c_uint = 8; pub const FT_Curve_Tag_Touch_Y: ::std::os::raw::c_uint = 16; pub const FT_RASTER_FLAG_DEFAULT: ::std::os::raw::c_uint = 0; pub const FT_RASTER_FLAG_AA: ::std::os::raw::c_uint = 1; pub const FT_RASTER_FLAG_DIRECT: ::std::os::raw::c_uint = 2; pub const FT_RASTER_FLAG_CLIP: ::std::os::raw::c_uint = 4; pub const FT_ERR_BASE: ::std::os::raw::c_uint = 0; pub const FT_FACE_FLAG_SCALABLE: ::std::os::raw::c_uint = 1; pub const FT_FACE_FLAG_FIXED_SIZES: ::std::os::raw::c_uint = 2; pub const FT_FACE_FLAG_FIXED_WIDTH: ::std::os::raw::c_uint = 4; pub const FT_FACE_FLAG_SFNT: ::std::os::raw::c_uint = 8; pub const FT_FACE_FLAG_HORIZONTAL: ::std::os::raw::c_uint = 16; pub const FT_FACE_FLAG_VERTICAL: ::std::os::raw::c_uint = 32; pub const FT_FACE_FLAG_KERNING: ::std::os::raw::c_uint = 64; pub const FT_FACE_FLAG_FAST_GLYPHS: ::std::os::raw::c_uint = 128; pub const FT_FACE_FLAG_MULTIPLE_MASTERS: ::std::os::raw::c_uint = 256; pub const FT_FACE_FLAG_GLYPH_NAMES: ::std::os::raw::c_uint = 512; pub const FT_FACE_FLAG_EXTERNAL_STREAM: ::std::os::raw::c_uint = 1024; pub const FT_FACE_FLAG_HINTER: ::std::os::raw::c_uint = 2048; pub const FT_FACE_FLAG_CID_KEYED: ::std::os::raw::c_uint = 4096; pub const FT_FACE_FLAG_TRICKY: ::std::os::raw::c_uint = 8192; pub const FT_FACE_FLAG_COLOR: ::std::os::raw::c_uint = 16384; pub const FT_STYLE_FLAG_ITALIC: ::std::os::raw::c_uint = 1; pub const FT_STYLE_FLAG_BOLD: ::std::os::raw::c_uint = 2; pub const FT_OPEN_MEMORY: ::std::os::raw::c_uint = 1; pub const FT_OPEN_STREAM: ::std::os::raw::c_uint = 2; pub const FT_OPEN_PATHNAME: ::std::os::raw::c_uint = 4; pub const FT_OPEN_DRIVER: ::std::os::raw::c_uint = 8; pub const FT_OPEN_PARAMS: ::std::os::raw::c_uint = 16; pub const FT_LOAD_DEFAULT: ::std::os::raw::c_uint = 0; pub const FT_LOAD_NO_SCALE: ::std::os::raw::c_uint = 1; pub const FT_LOAD_NO_HINTING: ::std::os::raw::c_uint = 2; pub const FT_LOAD_RENDER: ::std::os::raw::c_uint = 4; pub const FT_LOAD_NO_BITMAP: ::std::os::raw::c_uint = 8; pub const FT_LOAD_VERTICAL_LAYOUT: ::std::os::raw::c_uint = 16; pub const FT_LOAD_FORCE_AUTOHINT: ::std::os::raw::c_uint = 32; pub const FT_LOAD_CROP_BITMAP: ::std::os::raw::c_uint = 64; pub const FT_LOAD_PEDANTIC: ::std::os::raw::c_uint = 128; pub const FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH: ::std::os::raw::c_uint = 512; pub const FT_LOAD_NO_RECURSE: ::std::os::raw::c_uint = 1024; pub const FT_LOAD_IGNORE_TRANSFORM: ::std::os::raw::c_uint = 2048; pub const FT_LOAD_MONOCHROME: ::std::os::raw::c_uint = 4096; pub const FT_LOAD_LINEAR_DESIGN: ::std::os::raw::c_uint = 8192; pub const FT_LOAD_NO_AUTOHINT: ::std::os::raw::c_uint = 32768; pub const FT_LOAD_COLOR: ::std::os::raw::c_uint = 1048576; pub const FT_LOAD_COMPUTE_METRICS: ::std::os::raw::c_uint = 2097152; pub const FT_LOAD_ADVANCE_ONLY: ::std::os::raw::c_uint = 256; pub const FT_LOAD_SBITS_ONLY: ::std::os::raw::c_uint = 16384; pub const FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS: ::std::os::raw::c_uint = 1; pub const FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES: ::std::os::raw::c_uint = 2; pub const FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID: ::std::os::raw::c_uint = 4; pub const FT_SUBGLYPH_FLAG_SCALE: ::std::os::raw::c_uint = 8; pub const FT_SUBGLYPH_FLAG_XY_SCALE: ::std::os::raw::c_uint = 64; pub const FT_SUBGLYPH_FLAG_2X2: ::std::os::raw::c_uint = 128; pub const FT_SUBGLYPH_FLAG_USE_MY_METRICS: ::std::os::raw::c_uint = 512; pub const FT_FSTYPE_INSTALLABLE_EMBEDDING: ::std::os::raw::c_uint = 0; pub const FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING: ::std::os::raw::c_uint = 2; pub const FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING: ::std::os::raw::c_uint = 4; pub const FT_FSTYPE_EDITABLE_EMBEDDING: ::std::os::raw::c_uint = 8; pub const FT_FSTYPE_NO_SUBSETTING: ::std::os::raw::c_uint = 256; pub const FT_FSTYPE_BITMAP_EMBEDDING_ONLY: ::std::os::raw::c_uint = 512; pub const FT_MODULE_FONT_DRIVER: ::std::os::raw::c_uint = 1; pub const FT_MODULE_RENDERER: ::std::os::raw::c_uint = 2; pub const FT_MODULE_HINTER: ::std::os::raw::c_uint = 4; pub const FT_MODULE_STYLER: ::std::os::raw::c_uint = 8; pub const FT_MODULE_DRIVER_SCALABLE: ::std::os::raw::c_uint = 256; pub const FT_MODULE_DRIVER_NO_OUTLINES: ::std::os::raw::c_uint = 512; pub const FT_MODULE_DRIVER_HAS_HINTER: ::std::os::raw::c_uint = 1024; pub const FT_MODULE_DRIVER_HINTS_LIGHTLY: ::std::os::raw::c_uint = 2048; pub type FT_Fast = ::std::os::raw::c_int; pub type FT_UFast = ::std::os::raw::c_uint; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_MemoryRec_ { pub user: *mut ::std::os::raw::c_void, pub alloc: FT_Alloc_Func, pub free: FT_Free_Func, pub realloc: FT_Realloc_Func, } #[test] fn bindgen_test_layout_FT_MemoryRec_() { assert_eq!(::std::mem::size_of::() , 32usize , concat ! ( "Size of: " , stringify ! ( FT_MemoryRec_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_MemoryRec_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_MemoryRec_ ) ) . user as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_MemoryRec_ ) , "::" , stringify ! ( user ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_MemoryRec_ ) ) . alloc as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_MemoryRec_ ) , "::" , stringify ! ( alloc ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_MemoryRec_ ) ) . free as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_MemoryRec_ ) , "::" , stringify ! ( free ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_MemoryRec_ ) ) . realloc as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_MemoryRec_ ) , "::" , stringify ! ( realloc ) )); } impl Clone for FT_MemoryRec_ { fn clone(&self) -> Self { *self } } pub type FT_Memory = *mut FT_MemoryRec_; pub type FT_Alloc_Func = ::std::option::Option *mut ::std::os::raw::c_void>; pub type FT_Free_Func = ::std::option::Option; pub type FT_Realloc_Func = ::std::option::Option *mut ::std::os::raw::c_void>; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_StreamRec_ { pub base: *mut ::std::os::raw::c_uchar, pub size: ::std::os::raw::c_ulong, pub pos: ::std::os::raw::c_ulong, pub descriptor: FT_StreamDesc, pub pathname: FT_StreamDesc, pub read: FT_Stream_IoFunc, pub close: FT_Stream_CloseFunc, pub memory: FT_Memory, pub cursor: *mut ::std::os::raw::c_uchar, pub limit: *mut ::std::os::raw::c_uchar, } #[test] fn bindgen_test_layout_FT_StreamRec_() { assert_eq!(::std::mem::size_of::() , 80usize , concat ! ( "Size of: " , stringify ! ( FT_StreamRec_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_StreamRec_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_StreamRec_ ) ) . base as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_StreamRec_ ) , "::" , stringify ! ( base ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_StreamRec_ ) ) . size as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_StreamRec_ ) , "::" , stringify ! ( size ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_StreamRec_ ) ) . pos as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_StreamRec_ ) , "::" , stringify ! ( pos ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_StreamRec_ ) ) . descriptor as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_StreamRec_ ) , "::" , stringify ! ( descriptor ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_StreamRec_ ) ) . pathname as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( FT_StreamRec_ ) , "::" , stringify ! ( pathname ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_StreamRec_ ) ) . read as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( FT_StreamRec_ ) , "::" , stringify ! ( read ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_StreamRec_ ) ) . close as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( FT_StreamRec_ ) , "::" , stringify ! ( close ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_StreamRec_ ) ) . memory as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( FT_StreamRec_ ) , "::" , stringify ! ( memory ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_StreamRec_ ) ) . cursor as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( FT_StreamRec_ ) , "::" , stringify ! ( cursor ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_StreamRec_ ) ) . limit as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( FT_StreamRec_ ) , "::" , stringify ! ( limit ) )); } impl Clone for FT_StreamRec_ { fn clone(&self) -> Self { *self } } pub type FT_Stream = *mut FT_StreamRec_; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_StreamDesc_ { pub value: __BindgenUnionField<::std::os::raw::c_long>, pub pointer: __BindgenUnionField<*mut ::std::os::raw::c_void>, pub bindgen_union_field: u64, } #[test] fn bindgen_test_layout_FT_StreamDesc_() { assert_eq!(::std::mem::size_of::() , 8usize , concat ! ( "Size of: " , stringify ! ( FT_StreamDesc_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_StreamDesc_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_StreamDesc_ ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_StreamDesc_ ) , "::" , stringify ! ( value ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_StreamDesc_ ) ) . pointer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_StreamDesc_ ) , "::" , stringify ! ( pointer ) )); } impl Clone for FT_StreamDesc_ { fn clone(&self) -> Self { *self } } pub type FT_StreamDesc = FT_StreamDesc_; pub type FT_Stream_IoFunc = ::std::option::Option ::std::os::raw::c_ulong>; pub type FT_Stream_CloseFunc = ::std::option::Option; pub type FT_StreamRec = FT_StreamRec_; pub type FT_Pos = ::std::os::raw::c_long; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_Vector_ { pub x: FT_Pos, pub y: FT_Pos, } #[test] fn bindgen_test_layout_FT_Vector_() { assert_eq!(::std::mem::size_of::() , 16usize , concat ! ( "Size of: " , stringify ! ( FT_Vector_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_Vector_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Vector_ ) ) . x as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Vector_ ) , "::" , stringify ! ( x ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Vector_ ) ) . y as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Vector_ ) , "::" , stringify ! ( y ) )); } impl Clone for FT_Vector_ { fn clone(&self) -> Self { *self } } pub type FT_Vector = FT_Vector_; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_BBox_ { pub xMin: FT_Pos, pub yMin: FT_Pos, pub xMax: FT_Pos, pub yMax: FT_Pos, } #[test] fn bindgen_test_layout_FT_BBox_() { assert_eq!(::std::mem::size_of::() , 32usize , concat ! ( "Size of: " , stringify ! ( FT_BBox_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_BBox_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_BBox_ ) ) . xMin as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_BBox_ ) , "::" , stringify ! ( xMin ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_BBox_ ) ) . yMin as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_BBox_ ) , "::" , stringify ! ( yMin ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_BBox_ ) ) . xMax as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_BBox_ ) , "::" , stringify ! ( xMax ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_BBox_ ) ) . yMax as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_BBox_ ) , "::" , stringify ! ( yMax ) )); } impl Clone for FT_BBox_ { fn clone(&self) -> Self { *self } } pub type FT_BBox = FT_BBox_; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum FT_Pixel_Mode_ { FT_PIXEL_MODE_NONE = 0, FT_PIXEL_MODE_MONO = 1, FT_PIXEL_MODE_GRAY = 2, FT_PIXEL_MODE_GRAY2 = 3, FT_PIXEL_MODE_GRAY4 = 4, FT_PIXEL_MODE_LCD = 5, FT_PIXEL_MODE_LCD_V = 6, FT_PIXEL_MODE_BGRA = 7, FT_PIXEL_MODE_MAX = 8, } pub use self::FT_Pixel_Mode_ as FT_Pixel_Mode; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_Bitmap_ { pub rows: ::std::os::raw::c_uint, pub width: ::std::os::raw::c_uint, pub pitch: ::std::os::raw::c_int, pub buffer: *mut ::std::os::raw::c_uchar, pub num_grays: ::std::os::raw::c_ushort, pub pixel_mode: ::std::os::raw::c_uchar, pub palette_mode: ::std::os::raw::c_uchar, pub palette: *mut ::std::os::raw::c_void, } #[test] fn bindgen_test_layout_FT_Bitmap_() { assert_eq!(::std::mem::size_of::() , 40usize , concat ! ( "Size of: " , stringify ! ( FT_Bitmap_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_Bitmap_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Bitmap_ ) ) . rows as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Bitmap_ ) , "::" , stringify ! ( rows ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Bitmap_ ) ) . width as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Bitmap_ ) , "::" , stringify ! ( width ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Bitmap_ ) ) . pitch as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Bitmap_ ) , "::" , stringify ! ( pitch ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Bitmap_ ) ) . buffer as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Bitmap_ ) , "::" , stringify ! ( buffer ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Bitmap_ ) ) . num_grays as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Bitmap_ ) , "::" , stringify ! ( num_grays ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Bitmap_ ) ) . pixel_mode as * const _ as usize } , 26usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Bitmap_ ) , "::" , stringify ! ( pixel_mode ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Bitmap_ ) ) . palette_mode as * const _ as usize } , 27usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Bitmap_ ) , "::" , stringify ! ( palette_mode ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Bitmap_ ) ) . palette as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Bitmap_ ) , "::" , stringify ! ( palette ) )); } impl Clone for FT_Bitmap_ { fn clone(&self) -> Self { *self } } pub type FT_Bitmap = FT_Bitmap_; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_Outline_ { pub n_contours: ::std::os::raw::c_short, pub n_points: ::std::os::raw::c_short, pub points: *mut FT_Vector, pub tags: *mut ::std::os::raw::c_char, pub contours: *mut ::std::os::raw::c_short, pub flags: ::std::os::raw::c_int, } #[test] fn bindgen_test_layout_FT_Outline_() { assert_eq!(::std::mem::size_of::() , 40usize , concat ! ( "Size of: " , stringify ! ( FT_Outline_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_Outline_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Outline_ ) ) . n_contours as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Outline_ ) , "::" , stringify ! ( n_contours ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Outline_ ) ) . n_points as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Outline_ ) , "::" , stringify ! ( n_points ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Outline_ ) ) . points as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Outline_ ) , "::" , stringify ! ( points ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Outline_ ) ) . tags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Outline_ ) , "::" , stringify ! ( tags ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Outline_ ) ) . contours as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Outline_ ) , "::" , stringify ! ( contours ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Outline_ ) ) . flags as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Outline_ ) , "::" , stringify ! ( flags ) )); } impl Clone for FT_Outline_ { fn clone(&self) -> Self { *self } } pub type FT_Outline = FT_Outline_; pub type FT_Outline_MoveToFunc = ::std::option::Option ::std::os::raw::c_int>; pub type FT_Outline_LineToFunc = ::std::option::Option ::std::os::raw::c_int>; pub type FT_Outline_ConicToFunc = ::std::option::Option ::std::os::raw::c_int>; pub type FT_Outline_CubicToFunc = ::std::option::Option ::std::os::raw::c_int>; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_Outline_Funcs_ { pub move_to: FT_Outline_MoveToFunc, pub line_to: FT_Outline_LineToFunc, pub conic_to: FT_Outline_ConicToFunc, pub cubic_to: FT_Outline_CubicToFunc, pub shift: ::std::os::raw::c_int, pub delta: FT_Pos, } #[test] fn bindgen_test_layout_FT_Outline_Funcs_() { assert_eq!(::std::mem::size_of::() , 48usize , concat ! ( "Size of: " , stringify ! ( FT_Outline_Funcs_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_Outline_Funcs_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Outline_Funcs_ ) ) . move_to as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Outline_Funcs_ ) , "::" , stringify ! ( move_to ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Outline_Funcs_ ) ) . line_to as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Outline_Funcs_ ) , "::" , stringify ! ( line_to ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Outline_Funcs_ ) ) . conic_to as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Outline_Funcs_ ) , "::" , stringify ! ( conic_to ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Outline_Funcs_ ) ) . cubic_to as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Outline_Funcs_ ) , "::" , stringify ! ( cubic_to ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Outline_Funcs_ ) ) . shift as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Outline_Funcs_ ) , "::" , stringify ! ( shift ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Outline_Funcs_ ) ) . delta as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Outline_Funcs_ ) , "::" , stringify ! ( delta ) )); } impl Clone for FT_Outline_Funcs_ { fn clone(&self) -> Self { *self } } pub type FT_Outline_Funcs = FT_Outline_Funcs_; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum FT_Glyph_Format_ { FT_GLYPH_FORMAT_NONE = 0, FT_GLYPH_FORMAT_COMPOSITE = 1668246896, FT_GLYPH_FORMAT_BITMAP = 1651078259, FT_GLYPH_FORMAT_OUTLINE = 1869968492, FT_GLYPH_FORMAT_PLOTTER = 1886154612, } pub use self::FT_Glyph_Format_ as FT_Glyph_Format; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct FT_RasterRec_ { _unused: [u8; 0], } pub type FT_Raster = *mut FT_RasterRec_; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_Span_ { pub x: ::std::os::raw::c_short, pub len: ::std::os::raw::c_ushort, pub coverage: ::std::os::raw::c_uchar, } #[test] fn bindgen_test_layout_FT_Span_() { assert_eq!(::std::mem::size_of::() , 6usize , concat ! ( "Size of: " , stringify ! ( FT_Span_ ) )); assert_eq! (::std::mem::align_of::() , 2usize , concat ! ( "Alignment of " , stringify ! ( FT_Span_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Span_ ) ) . x as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Span_ ) , "::" , stringify ! ( x ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Span_ ) ) . len as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Span_ ) , "::" , stringify ! ( len ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Span_ ) ) . coverage as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Span_ ) , "::" , stringify ! ( coverage ) )); } impl Clone for FT_Span_ { fn clone(&self) -> Self { *self } } pub type FT_Span = FT_Span_; pub type FT_SpanFunc = ::std::option::Option; pub type FT_Raster_BitTest_Func = ::std::option::Option ::std::os::raw::c_int>; pub type FT_Raster_BitSet_Func = ::std::option::Option; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_Raster_Params_ { pub target: *const FT_Bitmap, pub source: *const ::std::os::raw::c_void, pub flags: ::std::os::raw::c_int, pub gray_spans: FT_SpanFunc, pub black_spans: FT_SpanFunc, pub bit_test: FT_Raster_BitTest_Func, pub bit_set: FT_Raster_BitSet_Func, pub user: *mut ::std::os::raw::c_void, pub clip_box: FT_BBox, } #[test] fn bindgen_test_layout_FT_Raster_Params_() { assert_eq!(::std::mem::size_of::() , 96usize , concat ! ( "Size of: " , stringify ! ( FT_Raster_Params_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_Raster_Params_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Raster_Params_ ) ) . target as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Raster_Params_ ) , "::" , stringify ! ( target ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Raster_Params_ ) ) . source as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Raster_Params_ ) , "::" , stringify ! ( source ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Raster_Params_ ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Raster_Params_ ) , "::" , stringify ! ( flags ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Raster_Params_ ) ) . gray_spans as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Raster_Params_ ) , "::" , stringify ! ( gray_spans ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Raster_Params_ ) ) . black_spans as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Raster_Params_ ) , "::" , stringify ! ( black_spans ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Raster_Params_ ) ) . bit_test as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Raster_Params_ ) , "::" , stringify ! ( bit_test ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Raster_Params_ ) ) . bit_set as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Raster_Params_ ) , "::" , stringify ! ( bit_set ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Raster_Params_ ) ) . user as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Raster_Params_ ) , "::" , stringify ! ( user ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Raster_Params_ ) ) . clip_box as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Raster_Params_ ) , "::" , stringify ! ( clip_box ) )); } impl Clone for FT_Raster_Params_ { fn clone(&self) -> Self { *self } } pub type FT_Raster_Params = FT_Raster_Params_; pub type FT_Raster_NewFunc = ::std::option::Option ::std::os::raw::c_int>; pub type FT_Raster_DoneFunc = ::std::option::Option; pub type FT_Raster_ResetFunc = ::std::option::Option; pub type FT_Raster_SetModeFunc = ::std::option::Option ::std::os::raw::c_int>; pub type FT_Raster_RenderFunc = ::std::option::Option ::std::os::raw::c_int>; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_Raster_Funcs_ { pub glyph_format: FT_Glyph_Format, pub raster_new: FT_Raster_NewFunc, pub raster_reset: FT_Raster_ResetFunc, pub raster_set_mode: FT_Raster_SetModeFunc, pub raster_render: FT_Raster_RenderFunc, pub raster_done: FT_Raster_DoneFunc, } #[test] fn bindgen_test_layout_FT_Raster_Funcs_() { assert_eq!(::std::mem::size_of::() , 48usize , concat ! ( "Size of: " , stringify ! ( FT_Raster_Funcs_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_Raster_Funcs_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Raster_Funcs_ ) ) . glyph_format as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Raster_Funcs_ ) , "::" , stringify ! ( glyph_format ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Raster_Funcs_ ) ) . raster_new as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Raster_Funcs_ ) , "::" , stringify ! ( raster_new ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Raster_Funcs_ ) ) . raster_reset as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Raster_Funcs_ ) , "::" , stringify ! ( raster_reset ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Raster_Funcs_ ) ) . raster_set_mode as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Raster_Funcs_ ) , "::" , stringify ! ( raster_set_mode ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Raster_Funcs_ ) ) . raster_render as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Raster_Funcs_ ) , "::" , stringify ! ( raster_render ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Raster_Funcs_ ) ) . raster_done as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Raster_Funcs_ ) , "::" , stringify ! ( raster_done ) )); } impl Clone for FT_Raster_Funcs_ { fn clone(&self) -> Self { *self } } pub type FT_Raster_Funcs = FT_Raster_Funcs_; pub type FT_Bool = ::std::os::raw::c_uchar; pub type FT_FWord = ::std::os::raw::c_short; pub type FT_UFWord = ::std::os::raw::c_ushort; pub type FT_Char = ::std::os::raw::c_schar; pub type FT_Byte = ::std::os::raw::c_uchar; pub type FT_Bytes = *const FT_Byte; pub type FT_Tag = FT_UInt32; pub type FT_String = ::std::os::raw::c_char; pub type FT_Short = ::std::os::raw::c_short; pub type FT_UShort = ::std::os::raw::c_ushort; pub type FT_Int = ::std::os::raw::c_int; pub type FT_UInt = ::std::os::raw::c_uint; pub type FT_Long = ::std::os::raw::c_long; pub type FT_ULong = ::std::os::raw::c_ulong; pub type FT_F2Dot14 = ::std::os::raw::c_short; pub type FT_F26Dot6 = ::std::os::raw::c_long; pub type FT_Fixed = ::std::os::raw::c_long; pub type FT_Pointer = *mut ::std::os::raw::c_void; pub type FT_Offset = usize; pub type FT_PtrDist = isize; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_UnitVector_ { pub x: FT_F2Dot14, pub y: FT_F2Dot14, } #[test] fn bindgen_test_layout_FT_UnitVector_() { assert_eq!(::std::mem::size_of::() , 4usize , concat ! ( "Size of: " , stringify ! ( FT_UnitVector_ ) )); assert_eq! (::std::mem::align_of::() , 2usize , concat ! ( "Alignment of " , stringify ! ( FT_UnitVector_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_UnitVector_ ) ) . x as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_UnitVector_ ) , "::" , stringify ! ( x ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_UnitVector_ ) ) . y as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( FT_UnitVector_ ) , "::" , stringify ! ( y ) )); } impl Clone for FT_UnitVector_ { fn clone(&self) -> Self { *self } } pub type FT_UnitVector = FT_UnitVector_; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_Matrix_ { pub xx: FT_Fixed, pub xy: FT_Fixed, pub yx: FT_Fixed, pub yy: FT_Fixed, } #[test] fn bindgen_test_layout_FT_Matrix_() { assert_eq!(::std::mem::size_of::() , 32usize , concat ! ( "Size of: " , stringify ! ( FT_Matrix_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_Matrix_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Matrix_ ) ) . xx as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Matrix_ ) , "::" , stringify ! ( xx ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Matrix_ ) ) . xy as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Matrix_ ) , "::" , stringify ! ( xy ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Matrix_ ) ) . yx as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Matrix_ ) , "::" , stringify ! ( yx ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Matrix_ ) ) . yy as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Matrix_ ) , "::" , stringify ! ( yy ) )); } impl Clone for FT_Matrix_ { fn clone(&self) -> Self { *self } } pub type FT_Matrix = FT_Matrix_; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_Data_ { pub pointer: *const FT_Byte, pub length: FT_Int, } #[test] fn bindgen_test_layout_FT_Data_() { assert_eq!(::std::mem::size_of::() , 16usize , concat ! ( "Size of: " , stringify ! ( FT_Data_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_Data_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Data_ ) ) . pointer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Data_ ) , "::" , stringify ! ( pointer ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Data_ ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Data_ ) , "::" , stringify ! ( length ) )); } impl Clone for FT_Data_ { fn clone(&self) -> Self { *self } } pub type FT_Data = FT_Data_; pub type FT_Generic_Finalizer = ::std::option::Option; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_Generic_ { pub data: *mut ::std::os::raw::c_void, pub finalizer: FT_Generic_Finalizer, } #[test] fn bindgen_test_layout_FT_Generic_() { assert_eq!(::std::mem::size_of::() , 16usize , concat ! ( "Size of: " , stringify ! ( FT_Generic_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_Generic_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Generic_ ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Generic_ ) , "::" , stringify ! ( data ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Generic_ ) ) . finalizer as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Generic_ ) , "::" , stringify ! ( finalizer ) )); } impl Clone for FT_Generic_ { fn clone(&self) -> Self { *self } } pub type FT_Generic = FT_Generic_; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_ListNodeRec_ { pub prev: FT_ListNode, pub next: FT_ListNode, pub data: *mut ::std::os::raw::c_void, } #[test] fn bindgen_test_layout_FT_ListNodeRec_() { assert_eq!(::std::mem::size_of::() , 24usize , concat ! ( "Size of: " , stringify ! ( FT_ListNodeRec_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_ListNodeRec_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_ListNodeRec_ ) ) . prev as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_ListNodeRec_ ) , "::" , stringify ! ( prev ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_ListNodeRec_ ) ) . next as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_ListNodeRec_ ) , "::" , stringify ! ( next ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_ListNodeRec_ ) ) . data as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_ListNodeRec_ ) , "::" , stringify ! ( data ) )); } impl Clone for FT_ListNodeRec_ { fn clone(&self) -> Self { *self } } pub type FT_ListNode = *mut FT_ListNodeRec_; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_ListRec_ { pub head: FT_ListNode, pub tail: FT_ListNode, } #[test] fn bindgen_test_layout_FT_ListRec_() { assert_eq!(::std::mem::size_of::() , 16usize , concat ! ( "Size of: " , stringify ! ( FT_ListRec_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_ListRec_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_ListRec_ ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_ListRec_ ) , "::" , stringify ! ( head ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_ListRec_ ) ) . tail as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_ListRec_ ) , "::" , stringify ! ( tail ) )); } impl Clone for FT_ListRec_ { fn clone(&self) -> Self { *self } } pub type FT_List = *mut FT_ListRec_; pub type FT_ListNodeRec = FT_ListNodeRec_; pub type FT_ListRec = FT_ListRec_; pub const FT_Mod_Err_Base: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_Autofit: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_BDF: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_Bzip2: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_Cache: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_CFF: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_CID: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_Gzip: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_LZW: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_OTvalid: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_PCF: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_PFR: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_PSaux: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_PShinter: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_PSnames: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_Raster: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_SFNT: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_Smooth: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_TrueType: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_Type1: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_Type42: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_Winfonts: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_GXvalid: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Base; pub const FT_Mod_Err_Max: _bindgen_ty_1 = _bindgen_ty_1::FT_Mod_Err_Max; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum _bindgen_ty_1 { FT_Mod_Err_Base = 0, FT_Mod_Err_Max = 1, } pub const FT_Err_Ok: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Ok; pub const FT_Err_Cannot_Open_Resource: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Cannot_Open_Resource; pub const FT_Err_Unknown_File_Format: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Unknown_File_Format; pub const FT_Err_Invalid_File_Format: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_File_Format; pub const FT_Err_Invalid_Version: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Version; pub const FT_Err_Lower_Module_Version: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Lower_Module_Version; pub const FT_Err_Invalid_Argument: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Argument; pub const FT_Err_Unimplemented_Feature: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Unimplemented_Feature; pub const FT_Err_Invalid_Table: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Table; pub const FT_Err_Invalid_Offset: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Offset; pub const FT_Err_Array_Too_Large: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Array_Too_Large; pub const FT_Err_Missing_Module: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_Module; pub const FT_Err_Missing_Property: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_Property; pub const FT_Err_Invalid_Glyph_Index: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Glyph_Index; pub const FT_Err_Invalid_Character_Code: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Character_Code; pub const FT_Err_Invalid_Glyph_Format: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Glyph_Format; pub const FT_Err_Cannot_Render_Glyph: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Cannot_Render_Glyph; pub const FT_Err_Invalid_Outline: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Outline; pub const FT_Err_Invalid_Composite: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Composite; pub const FT_Err_Too_Many_Hints: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Too_Many_Hints; pub const FT_Err_Invalid_Pixel_Size: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Pixel_Size; pub const FT_Err_Invalid_Handle: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Handle; pub const FT_Err_Invalid_Library_Handle: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Library_Handle; pub const FT_Err_Invalid_Driver_Handle: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Driver_Handle; pub const FT_Err_Invalid_Face_Handle: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Face_Handle; pub const FT_Err_Invalid_Size_Handle: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Size_Handle; pub const FT_Err_Invalid_Slot_Handle: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Slot_Handle; pub const FT_Err_Invalid_CharMap_Handle: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_CharMap_Handle; pub const FT_Err_Invalid_Cache_Handle: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Cache_Handle; pub const FT_Err_Invalid_Stream_Handle: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Stream_Handle; pub const FT_Err_Too_Many_Drivers: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Too_Many_Drivers; pub const FT_Err_Too_Many_Extensions: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Too_Many_Extensions; pub const FT_Err_Out_Of_Memory: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Out_Of_Memory; pub const FT_Err_Unlisted_Object: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Unlisted_Object; pub const FT_Err_Cannot_Open_Stream: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Cannot_Open_Stream; pub const FT_Err_Invalid_Stream_Seek: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Stream_Seek; pub const FT_Err_Invalid_Stream_Skip: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Stream_Skip; pub const FT_Err_Invalid_Stream_Read: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Stream_Read; pub const FT_Err_Invalid_Stream_Operation: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Stream_Operation; pub const FT_Err_Invalid_Frame_Operation: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Frame_Operation; pub const FT_Err_Nested_Frame_Access: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Nested_Frame_Access; pub const FT_Err_Invalid_Frame_Read: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Frame_Read; pub const FT_Err_Raster_Uninitialized: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Raster_Uninitialized; pub const FT_Err_Raster_Corrupted: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Raster_Corrupted; pub const FT_Err_Raster_Overflow: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Raster_Overflow; pub const FT_Err_Raster_Negative_Height: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Raster_Negative_Height; pub const FT_Err_Too_Many_Caches: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Too_Many_Caches; pub const FT_Err_Invalid_Opcode: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Opcode; pub const FT_Err_Too_Few_Arguments: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Too_Few_Arguments; pub const FT_Err_Stack_Overflow: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Stack_Overflow; pub const FT_Err_Code_Overflow: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Code_Overflow; pub const FT_Err_Bad_Argument: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Bad_Argument; pub const FT_Err_Divide_By_Zero: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Divide_By_Zero; pub const FT_Err_Invalid_Reference: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Reference; pub const FT_Err_Debug_OpCode: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Debug_OpCode; pub const FT_Err_ENDF_In_Exec_Stream: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_ENDF_In_Exec_Stream; pub const FT_Err_Nested_DEFS: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Nested_DEFS; pub const FT_Err_Invalid_CodeRange: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_CodeRange; pub const FT_Err_Execution_Too_Long: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Execution_Too_Long; pub const FT_Err_Too_Many_Function_Defs: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Too_Many_Function_Defs; pub const FT_Err_Too_Many_Instruction_Defs: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Too_Many_Instruction_Defs; pub const FT_Err_Table_Missing: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Table_Missing; pub const FT_Err_Horiz_Header_Missing: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Horiz_Header_Missing; pub const FT_Err_Locations_Missing: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Locations_Missing; pub const FT_Err_Name_Table_Missing: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Name_Table_Missing; pub const FT_Err_CMap_Table_Missing: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_CMap_Table_Missing; pub const FT_Err_Hmtx_Table_Missing: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Hmtx_Table_Missing; pub const FT_Err_Post_Table_Missing: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Post_Table_Missing; pub const FT_Err_Invalid_Horiz_Metrics: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Horiz_Metrics; pub const FT_Err_Invalid_CharMap_Format: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_CharMap_Format; pub const FT_Err_Invalid_PPem: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_PPem; pub const FT_Err_Invalid_Vert_Metrics: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Vert_Metrics; pub const FT_Err_Could_Not_Find_Context: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Could_Not_Find_Context; pub const FT_Err_Invalid_Post_Table_Format: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Post_Table_Format; pub const FT_Err_Invalid_Post_Table: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Invalid_Post_Table; pub const FT_Err_Syntax_Error: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Syntax_Error; pub const FT_Err_Stack_Underflow: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Stack_Underflow; pub const FT_Err_Ignore: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Ignore; pub const FT_Err_No_Unicode_Glyph_Name: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_No_Unicode_Glyph_Name; pub const FT_Err_Glyph_Too_Big: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Glyph_Too_Big; pub const FT_Err_Missing_Startfont_Field: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_Startfont_Field; pub const FT_Err_Missing_Font_Field: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_Font_Field; pub const FT_Err_Missing_Size_Field: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_Size_Field; pub const FT_Err_Missing_Fontboundingbox_Field: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_Fontboundingbox_Field; pub const FT_Err_Missing_Chars_Field: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_Chars_Field; pub const FT_Err_Missing_Startchar_Field: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_Startchar_Field; pub const FT_Err_Missing_Encoding_Field: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_Encoding_Field; pub const FT_Err_Missing_Bbx_Field: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Missing_Bbx_Field; pub const FT_Err_Bbx_Too_Big: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Bbx_Too_Big; pub const FT_Err_Corrupted_Font_Header: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Corrupted_Font_Header; pub const FT_Err_Corrupted_Font_Glyphs: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Corrupted_Font_Glyphs; pub const FT_Err_Max: _bindgen_ty_2 = _bindgen_ty_2::FT_Err_Max; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum _bindgen_ty_2 { FT_Err_Ok = 0, FT_Err_Cannot_Open_Resource = 1, FT_Err_Unknown_File_Format = 2, FT_Err_Invalid_File_Format = 3, FT_Err_Invalid_Version = 4, FT_Err_Lower_Module_Version = 5, FT_Err_Invalid_Argument = 6, FT_Err_Unimplemented_Feature = 7, FT_Err_Invalid_Table = 8, FT_Err_Invalid_Offset = 9, FT_Err_Array_Too_Large = 10, FT_Err_Missing_Module = 11, FT_Err_Missing_Property = 12, FT_Err_Invalid_Glyph_Index = 16, FT_Err_Invalid_Character_Code = 17, FT_Err_Invalid_Glyph_Format = 18, FT_Err_Cannot_Render_Glyph = 19, FT_Err_Invalid_Outline = 20, FT_Err_Invalid_Composite = 21, FT_Err_Too_Many_Hints = 22, FT_Err_Invalid_Pixel_Size = 23, FT_Err_Invalid_Handle = 32, FT_Err_Invalid_Library_Handle = 33, FT_Err_Invalid_Driver_Handle = 34, FT_Err_Invalid_Face_Handle = 35, FT_Err_Invalid_Size_Handle = 36, FT_Err_Invalid_Slot_Handle = 37, FT_Err_Invalid_CharMap_Handle = 38, FT_Err_Invalid_Cache_Handle = 39, FT_Err_Invalid_Stream_Handle = 40, FT_Err_Too_Many_Drivers = 48, FT_Err_Too_Many_Extensions = 49, FT_Err_Out_Of_Memory = 64, FT_Err_Unlisted_Object = 65, FT_Err_Cannot_Open_Stream = 81, FT_Err_Invalid_Stream_Seek = 82, FT_Err_Invalid_Stream_Skip = 83, FT_Err_Invalid_Stream_Read = 84, FT_Err_Invalid_Stream_Operation = 85, FT_Err_Invalid_Frame_Operation = 86, FT_Err_Nested_Frame_Access = 87, FT_Err_Invalid_Frame_Read = 88, FT_Err_Raster_Uninitialized = 96, FT_Err_Raster_Corrupted = 97, FT_Err_Raster_Overflow = 98, FT_Err_Raster_Negative_Height = 99, FT_Err_Too_Many_Caches = 112, FT_Err_Invalid_Opcode = 128, FT_Err_Too_Few_Arguments = 129, FT_Err_Stack_Overflow = 130, FT_Err_Code_Overflow = 131, FT_Err_Bad_Argument = 132, FT_Err_Divide_By_Zero = 133, FT_Err_Invalid_Reference = 134, FT_Err_Debug_OpCode = 135, FT_Err_ENDF_In_Exec_Stream = 136, FT_Err_Nested_DEFS = 137, FT_Err_Invalid_CodeRange = 138, FT_Err_Execution_Too_Long = 139, FT_Err_Too_Many_Function_Defs = 140, FT_Err_Too_Many_Instruction_Defs = 141, FT_Err_Table_Missing = 142, FT_Err_Horiz_Header_Missing = 143, FT_Err_Locations_Missing = 144, FT_Err_Name_Table_Missing = 145, FT_Err_CMap_Table_Missing = 146, FT_Err_Hmtx_Table_Missing = 147, FT_Err_Post_Table_Missing = 148, FT_Err_Invalid_Horiz_Metrics = 149, FT_Err_Invalid_CharMap_Format = 150, FT_Err_Invalid_PPem = 151, FT_Err_Invalid_Vert_Metrics = 152, FT_Err_Could_Not_Find_Context = 153, FT_Err_Invalid_Post_Table_Format = 154, FT_Err_Invalid_Post_Table = 155, FT_Err_Syntax_Error = 160, FT_Err_Stack_Underflow = 161, FT_Err_Ignore = 162, FT_Err_No_Unicode_Glyph_Name = 163, FT_Err_Glyph_Too_Big = 164, FT_Err_Missing_Startfont_Field = 176, FT_Err_Missing_Font_Field = 177, FT_Err_Missing_Size_Field = 178, FT_Err_Missing_Fontboundingbox_Field = 179, FT_Err_Missing_Chars_Field = 180, FT_Err_Missing_Startchar_Field = 181, FT_Err_Missing_Encoding_Field = 182, FT_Err_Missing_Bbx_Field = 183, FT_Err_Bbx_Too_Big = 184, FT_Err_Corrupted_Font_Header = 185, FT_Err_Corrupted_Font_Glyphs = 186, FT_Err_Max = 187, } #[repr(C)] #[derive(Debug, Copy)] pub struct FT_Glyph_Metrics_ { pub width: FT_Pos, pub height: FT_Pos, pub horiBearingX: FT_Pos, pub horiBearingY: FT_Pos, pub horiAdvance: FT_Pos, pub vertBearingX: FT_Pos, pub vertBearingY: FT_Pos, pub vertAdvance: FT_Pos, } #[test] fn bindgen_test_layout_FT_Glyph_Metrics_() { assert_eq!(::std::mem::size_of::() , 64usize , concat ! ( "Size of: " , stringify ! ( FT_Glyph_Metrics_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_Glyph_Metrics_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Glyph_Metrics_ ) ) . width as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Glyph_Metrics_ ) , "::" , stringify ! ( width ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Glyph_Metrics_ ) ) . height as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Glyph_Metrics_ ) , "::" , stringify ! ( height ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Glyph_Metrics_ ) ) . horiBearingX as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Glyph_Metrics_ ) , "::" , stringify ! ( horiBearingX ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Glyph_Metrics_ ) ) . horiBearingY as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Glyph_Metrics_ ) , "::" , stringify ! ( horiBearingY ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Glyph_Metrics_ ) ) . horiAdvance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Glyph_Metrics_ ) , "::" , stringify ! ( horiAdvance ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Glyph_Metrics_ ) ) . vertBearingX as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Glyph_Metrics_ ) , "::" , stringify ! ( vertBearingX ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Glyph_Metrics_ ) ) . vertBearingY as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Glyph_Metrics_ ) , "::" , stringify ! ( vertBearingY ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Glyph_Metrics_ ) ) . vertAdvance as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Glyph_Metrics_ ) , "::" , stringify ! ( vertAdvance ) )); } impl Clone for FT_Glyph_Metrics_ { fn clone(&self) -> Self { *self } } pub type FT_Glyph_Metrics = FT_Glyph_Metrics_; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_Bitmap_Size_ { pub height: FT_Short, pub width: FT_Short, pub size: FT_Pos, pub x_ppem: FT_Pos, pub y_ppem: FT_Pos, } #[test] fn bindgen_test_layout_FT_Bitmap_Size_() { assert_eq!(::std::mem::size_of::() , 32usize , concat ! ( "Size of: " , stringify ! ( FT_Bitmap_Size_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_Bitmap_Size_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Bitmap_Size_ ) ) . height as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Bitmap_Size_ ) , "::" , stringify ! ( height ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Bitmap_Size_ ) ) . width as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Bitmap_Size_ ) , "::" , stringify ! ( width ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Bitmap_Size_ ) ) . size as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Bitmap_Size_ ) , "::" , stringify ! ( size ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Bitmap_Size_ ) ) . x_ppem as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Bitmap_Size_ ) , "::" , stringify ! ( x_ppem ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Bitmap_Size_ ) ) . y_ppem as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Bitmap_Size_ ) , "::" , stringify ! ( y_ppem ) )); } impl Clone for FT_Bitmap_Size_ { fn clone(&self) -> Self { *self } } pub type FT_Bitmap_Size = FT_Bitmap_Size_; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct FT_LibraryRec_ { _unused: [u8; 0], } pub type FT_Library = *mut FT_LibraryRec_; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct FT_ModuleRec_ { _unused: [u8; 0], } pub type FT_Module = *mut FT_ModuleRec_; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct FT_DriverRec_ { _unused: [u8; 0], } pub type FT_Driver = *mut FT_DriverRec_; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct FT_RendererRec_ { _unused: [u8; 0], } pub type FT_Renderer = *mut FT_RendererRec_; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_FaceRec_ { pub num_faces: FT_Long, pub face_index: FT_Long, pub face_flags: FT_Long, pub style_flags: FT_Long, pub num_glyphs: FT_Long, pub family_name: *mut FT_String, pub style_name: *mut FT_String, pub num_fixed_sizes: FT_Int, pub available_sizes: *mut FT_Bitmap_Size, pub num_charmaps: FT_Int, pub charmaps: *mut FT_CharMap, pub generic: FT_Generic, pub bbox: FT_BBox, pub units_per_EM: FT_UShort, pub ascender: FT_Short, pub descender: FT_Short, pub height: FT_Short, pub max_advance_width: FT_Short, pub max_advance_height: FT_Short, pub underline_position: FT_Short, pub underline_thickness: FT_Short, pub glyph: FT_GlyphSlot, pub size: FT_Size, pub charmap: FT_CharMap, pub driver: FT_Driver, pub memory: FT_Memory, pub stream: FT_Stream, pub sizes_list: FT_ListRec, pub autohint: FT_Generic, pub extensions: *mut ::std::os::raw::c_void, pub internal: FT_Face_Internal, } #[test] fn bindgen_test_layout_FT_FaceRec_() { assert_eq!(::std::mem::size_of::() , 248usize , concat ! ( "Size of: " , stringify ! ( FT_FaceRec_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_FaceRec_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . num_faces as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( num_faces ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . face_index as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( face_index ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . face_flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( face_flags ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . style_flags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( style_flags ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . num_glyphs as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( num_glyphs ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . family_name as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( family_name ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . style_name as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( style_name ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . num_fixed_sizes as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( num_fixed_sizes ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . available_sizes as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( available_sizes ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . num_charmaps as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( num_charmaps ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . charmaps as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( charmaps ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . generic as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( generic ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . bbox as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( bbox ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . units_per_EM as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( units_per_EM ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . ascender as * const _ as usize } , 138usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( ascender ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . descender as * const _ as usize } , 140usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( descender ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . height as * const _ as usize } , 142usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( height ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . max_advance_width as * const _ as usize } , 144usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( max_advance_width ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . max_advance_height as * const _ as usize } , 146usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( max_advance_height ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . underline_position as * const _ as usize } , 148usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( underline_position ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . underline_thickness as * const _ as usize } , 150usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( underline_thickness ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . glyph as * const _ as usize } , 152usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( glyph ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . size as * const _ as usize } , 160usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( size ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . charmap as * const _ as usize } , 168usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( charmap ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . driver as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( driver ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . memory as * const _ as usize } , 184usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( memory ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . stream as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( stream ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . sizes_list as * const _ as usize } , 200usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( sizes_list ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . autohint as * const _ as usize } , 216usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( autohint ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . extensions as * const _ as usize } , 232usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( extensions ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_FaceRec_ ) ) . internal as * const _ as usize } , 240usize , concat ! ( "Alignment of field: " , stringify ! ( FT_FaceRec_ ) , "::" , stringify ! ( internal ) )); } impl Clone for FT_FaceRec_ { fn clone(&self) -> Self { *self } } pub type FT_Face = *mut FT_FaceRec_; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_SizeRec_ { pub face: FT_Face, pub generic: FT_Generic, pub metrics: FT_Size_Metrics, pub internal: FT_Size_Internal, } #[test] fn bindgen_test_layout_FT_SizeRec_() { assert_eq!(::std::mem::size_of::() , 88usize , concat ! ( "Size of: " , stringify ! ( FT_SizeRec_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_SizeRec_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_SizeRec_ ) ) . face as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_SizeRec_ ) , "::" , stringify ! ( face ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_SizeRec_ ) ) . generic as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_SizeRec_ ) , "::" , stringify ! ( generic ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_SizeRec_ ) ) . metrics as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_SizeRec_ ) , "::" , stringify ! ( metrics ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_SizeRec_ ) ) . internal as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( FT_SizeRec_ ) , "::" , stringify ! ( internal ) )); } impl Clone for FT_SizeRec_ { fn clone(&self) -> Self { *self } } pub type FT_Size = *mut FT_SizeRec_; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_GlyphSlotRec_ { pub library: FT_Library, pub face: FT_Face, pub next: FT_GlyphSlot, pub reserved: FT_UInt, pub generic: FT_Generic, pub metrics: FT_Glyph_Metrics, pub linearHoriAdvance: FT_Fixed, pub linearVertAdvance: FT_Fixed, pub advance: FT_Vector, pub format: FT_Glyph_Format, pub bitmap: FT_Bitmap, pub bitmap_left: FT_Int, pub bitmap_top: FT_Int, pub outline: FT_Outline, pub num_subglyphs: FT_UInt, pub subglyphs: FT_SubGlyph, pub control_data: *mut ::std::os::raw::c_void, pub control_len: ::std::os::raw::c_long, pub lsb_delta: FT_Pos, pub rsb_delta: FT_Pos, pub other: *mut ::std::os::raw::c_void, pub internal: FT_Slot_Internal, } #[test] fn bindgen_test_layout_FT_GlyphSlotRec_() { assert_eq!(::std::mem::size_of::() , 304usize , concat ! ( "Size of: " , stringify ! ( FT_GlyphSlotRec_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_GlyphSlotRec_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . library as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( library ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . face as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( face ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . next as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( next ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . reserved as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( reserved ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . generic as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( generic ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . metrics as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( metrics ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . linearHoriAdvance as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( linearHoriAdvance ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . linearVertAdvance as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( linearVertAdvance ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . advance as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( advance ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . format as * const _ as usize } , 144usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( format ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . bitmap as * const _ as usize } , 152usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( bitmap ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . bitmap_left as * const _ as usize } , 192usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( bitmap_left ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . bitmap_top as * const _ as usize } , 196usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( bitmap_top ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . outline as * const _ as usize } , 200usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( outline ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . num_subglyphs as * const _ as usize } , 240usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( num_subglyphs ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . subglyphs as * const _ as usize } , 248usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( subglyphs ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . control_data as * const _ as usize } , 256usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( control_data ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . control_len as * const _ as usize } , 264usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( control_len ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . lsb_delta as * const _ as usize } , 272usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( lsb_delta ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . rsb_delta as * const _ as usize } , 280usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( rsb_delta ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . other as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( other ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_GlyphSlotRec_ ) ) . internal as * const _ as usize } , 296usize , concat ! ( "Alignment of field: " , stringify ! ( FT_GlyphSlotRec_ ) , "::" , stringify ! ( internal ) )); } impl Clone for FT_GlyphSlotRec_ { fn clone(&self) -> Self { *self } } pub type FT_GlyphSlot = *mut FT_GlyphSlotRec_; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_CharMapRec_ { pub face: FT_Face, pub encoding: FT_Encoding, pub platform_id: FT_UShort, pub encoding_id: FT_UShort, } #[test] fn bindgen_test_layout_FT_CharMapRec_() { assert_eq!(::std::mem::size_of::() , 16usize , concat ! ( "Size of: " , stringify ! ( FT_CharMapRec_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_CharMapRec_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_CharMapRec_ ) ) . face as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_CharMapRec_ ) , "::" , stringify ! ( face ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_CharMapRec_ ) ) . encoding as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_CharMapRec_ ) , "::" , stringify ! ( encoding ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_CharMapRec_ ) ) . platform_id as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( FT_CharMapRec_ ) , "::" , stringify ! ( platform_id ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_CharMapRec_ ) ) . encoding_id as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( FT_CharMapRec_ ) , "::" , stringify ! ( encoding_id ) )); } impl Clone for FT_CharMapRec_ { fn clone(&self) -> Self { *self } } pub type FT_CharMap = *mut FT_CharMapRec_; pub const FT_Encoding__FT_ENCODING_MS_SJIS: FT_Encoding_ = FT_Encoding_::FT_ENCODING_SJIS; pub const FT_Encoding__FT_ENCODING_MS_GB2312: FT_Encoding_ = FT_Encoding_::FT_ENCODING_GB2312; pub const FT_Encoding__FT_ENCODING_MS_BIG5: FT_Encoding_ = FT_Encoding_::FT_ENCODING_BIG5; pub const FT_Encoding__FT_ENCODING_MS_WANSUNG: FT_Encoding_ = FT_Encoding_::FT_ENCODING_WANSUNG; pub const FT_Encoding__FT_ENCODING_MS_JOHAB: FT_Encoding_ = FT_Encoding_::FT_ENCODING_JOHAB; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum FT_Encoding_ { FT_ENCODING_NONE = 0, FT_ENCODING_MS_SYMBOL = 1937337698, FT_ENCODING_UNICODE = 1970170211, FT_ENCODING_SJIS = 1936353651, FT_ENCODING_GB2312 = 1734484000, FT_ENCODING_BIG5 = 1651074869, FT_ENCODING_WANSUNG = 2002873971, FT_ENCODING_JOHAB = 1785686113, FT_ENCODING_ADOBE_STANDARD = 1094995778, FT_ENCODING_ADOBE_EXPERT = 1094992453, FT_ENCODING_ADOBE_CUSTOM = 1094992451, FT_ENCODING_ADOBE_LATIN_1 = 1818326065, FT_ENCODING_OLD_LATIN_2 = 1818326066, FT_ENCODING_APPLE_ROMAN = 1634889070, } pub use self::FT_Encoding_ as FT_Encoding; pub type FT_CharMapRec = FT_CharMapRec_; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct FT_Face_InternalRec_ { _unused: [u8; 0], } pub type FT_Face_Internal = *mut FT_Face_InternalRec_; pub type FT_FaceRec = FT_FaceRec_; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct FT_Size_InternalRec_ { _unused: [u8; 0], } pub type FT_Size_Internal = *mut FT_Size_InternalRec_; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_Size_Metrics_ { pub x_ppem: FT_UShort, pub y_ppem: FT_UShort, pub x_scale: FT_Fixed, pub y_scale: FT_Fixed, pub ascender: FT_Pos, pub descender: FT_Pos, pub height: FT_Pos, pub max_advance: FT_Pos, } #[test] fn bindgen_test_layout_FT_Size_Metrics_() { assert_eq!(::std::mem::size_of::() , 56usize , concat ! ( "Size of: " , stringify ! ( FT_Size_Metrics_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_Size_Metrics_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Size_Metrics_ ) ) . x_ppem as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Size_Metrics_ ) , "::" , stringify ! ( x_ppem ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Size_Metrics_ ) ) . y_ppem as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Size_Metrics_ ) , "::" , stringify ! ( y_ppem ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Size_Metrics_ ) ) . x_scale as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Size_Metrics_ ) , "::" , stringify ! ( x_scale ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Size_Metrics_ ) ) . y_scale as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Size_Metrics_ ) , "::" , stringify ! ( y_scale ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Size_Metrics_ ) ) . ascender as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Size_Metrics_ ) , "::" , stringify ! ( ascender ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Size_Metrics_ ) ) . descender as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Size_Metrics_ ) , "::" , stringify ! ( descender ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Size_Metrics_ ) ) . height as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Size_Metrics_ ) , "::" , stringify ! ( height ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Size_Metrics_ ) ) . max_advance as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Size_Metrics_ ) , "::" , stringify ! ( max_advance ) )); } impl Clone for FT_Size_Metrics_ { fn clone(&self) -> Self { *self } } pub type FT_Size_Metrics = FT_Size_Metrics_; pub type FT_SizeRec = FT_SizeRec_; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct FT_SubGlyphRec_ { _unused: [u8; 0], } pub type FT_SubGlyph = *mut FT_SubGlyphRec_; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct FT_Slot_InternalRec_ { _unused: [u8; 0], } pub type FT_Slot_Internal = *mut FT_Slot_InternalRec_; pub type FT_GlyphSlotRec = FT_GlyphSlotRec_; extern "C" { pub fn FT_Init_FreeType(alibrary: *mut FT_Library) -> FT_Error; } extern "C" { pub fn FT_Done_FreeType(library: FT_Library) -> FT_Error; } #[repr(C)] #[derive(Debug, Copy)] pub struct FT_Parameter_ { pub tag: FT_ULong, pub data: FT_Pointer, } #[test] fn bindgen_test_layout_FT_Parameter_() { assert_eq!(::std::mem::size_of::() , 16usize , concat ! ( "Size of: " , stringify ! ( FT_Parameter_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_Parameter_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Parameter_ ) ) . tag as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Parameter_ ) , "::" , stringify ! ( tag ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Parameter_ ) ) . data as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Parameter_ ) , "::" , stringify ! ( data ) )); } impl Clone for FT_Parameter_ { fn clone(&self) -> Self { *self } } pub type FT_Parameter = FT_Parameter_; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_Open_Args_ { pub flags: FT_UInt, pub memory_base: *const FT_Byte, pub memory_size: FT_Long, pub pathname: *mut FT_String, pub stream: FT_Stream, pub driver: FT_Module, pub num_params: FT_Int, pub params: *mut FT_Parameter, } #[test] fn bindgen_test_layout_FT_Open_Args_() { assert_eq!(::std::mem::size_of::() , 64usize , concat ! ( "Size of: " , stringify ! ( FT_Open_Args_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_Open_Args_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Open_Args_ ) ) . flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Open_Args_ ) , "::" , stringify ! ( flags ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Open_Args_ ) ) . memory_base as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Open_Args_ ) , "::" , stringify ! ( memory_base ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Open_Args_ ) ) . memory_size as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Open_Args_ ) , "::" , stringify ! ( memory_size ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Open_Args_ ) ) . pathname as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Open_Args_ ) , "::" , stringify ! ( pathname ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Open_Args_ ) ) . stream as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Open_Args_ ) , "::" , stringify ! ( stream ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Open_Args_ ) ) . driver as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Open_Args_ ) , "::" , stringify ! ( driver ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Open_Args_ ) ) . num_params as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Open_Args_ ) , "::" , stringify ! ( num_params ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Open_Args_ ) ) . params as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Open_Args_ ) , "::" , stringify ! ( params ) )); } impl Clone for FT_Open_Args_ { fn clone(&self) -> Self { *self } } pub type FT_Open_Args = FT_Open_Args_; extern "C" { pub fn FT_New_Face(library: FT_Library, filepathname: *const ::std::os::raw::c_char, face_index: FT_Long, aface: *mut FT_Face) -> FT_Error; } extern "C" { pub fn FT_New_Memory_Face(library: FT_Library, file_base: *const FT_Byte, file_size: FT_Long, face_index: FT_Long, aface: *mut FT_Face) -> FT_Error; } extern "C" { pub fn FT_Open_Face(library: FT_Library, args: *const FT_Open_Args, face_index: FT_Long, aface: *mut FT_Face) -> FT_Error; } extern "C" { pub fn FT_Attach_File(face: FT_Face, filepathname: *const ::std::os::raw::c_char) -> FT_Error; } extern "C" { pub fn FT_Attach_Stream(face: FT_Face, parameters: *mut FT_Open_Args) -> FT_Error; } extern "C" { pub fn FT_Reference_Face(face: FT_Face) -> FT_Error; } extern "C" { pub fn FT_Done_Face(face: FT_Face) -> FT_Error; } extern "C" { pub fn FT_Select_Size(face: FT_Face, strike_index: FT_Int) -> FT_Error; } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum FT_Size_Request_Type_ { FT_SIZE_REQUEST_TYPE_NOMINAL = 0, FT_SIZE_REQUEST_TYPE_REAL_DIM = 1, FT_SIZE_REQUEST_TYPE_BBOX = 2, FT_SIZE_REQUEST_TYPE_CELL = 3, FT_SIZE_REQUEST_TYPE_SCALES = 4, FT_SIZE_REQUEST_TYPE_MAX = 5, } pub use self::FT_Size_Request_Type_ as FT_Size_Request_Type; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_Size_RequestRec_ { pub type_: FT_Size_Request_Type, pub width: FT_Long, pub height: FT_Long, pub horiResolution: FT_UInt, pub vertResolution: FT_UInt, } #[test] fn bindgen_test_layout_FT_Size_RequestRec_() { assert_eq!(::std::mem::size_of::() , 32usize , concat ! ( "Size of: " , stringify ! ( FT_Size_RequestRec_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_Size_RequestRec_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Size_RequestRec_ ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Size_RequestRec_ ) , "::" , stringify ! ( type_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Size_RequestRec_ ) ) . width as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Size_RequestRec_ ) , "::" , stringify ! ( width ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Size_RequestRec_ ) ) . height as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Size_RequestRec_ ) , "::" , stringify ! ( height ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Size_RequestRec_ ) ) . horiResolution as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Size_RequestRec_ ) , "::" , stringify ! ( horiResolution ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Size_RequestRec_ ) ) . vertResolution as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Size_RequestRec_ ) , "::" , stringify ! ( vertResolution ) )); } impl Clone for FT_Size_RequestRec_ { fn clone(&self) -> Self { *self } } pub type FT_Size_RequestRec = FT_Size_RequestRec_; pub type FT_Size_Request = *mut FT_Size_RequestRec_; extern "C" { pub fn FT_Request_Size(face: FT_Face, req: FT_Size_Request) -> FT_Error; } extern "C" { pub fn FT_Set_Char_Size(face: FT_Face, char_width: FT_F26Dot6, char_height: FT_F26Dot6, horz_resolution: FT_UInt, vert_resolution: FT_UInt) -> FT_Error; } extern "C" { pub fn FT_Set_Pixel_Sizes(face: FT_Face, pixel_width: FT_UInt, pixel_height: FT_UInt) -> FT_Error; } extern "C" { pub fn FT_Load_Glyph(face: FT_Face, glyph_index: FT_UInt, load_flags: FT_Int32) -> FT_Error; } extern "C" { pub fn FT_Load_Char(face: FT_Face, char_code: FT_ULong, load_flags: FT_Int32) -> FT_Error; } extern "C" { pub fn FT_Set_Transform(face: FT_Face, matrix: *mut FT_Matrix, delta: *mut FT_Vector); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum FT_Render_Mode_ { FT_RENDER_MODE_NORMAL = 0, FT_RENDER_MODE_LIGHT = 1, FT_RENDER_MODE_MONO = 2, FT_RENDER_MODE_LCD = 3, FT_RENDER_MODE_LCD_V = 4, FT_RENDER_MODE_MAX = 5, } pub use self::FT_Render_Mode_ as FT_Render_Mode; extern "C" { pub fn FT_Render_Glyph(slot: FT_GlyphSlot, render_mode: FT_Render_Mode) -> FT_Error; } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum FT_Kerning_Mode_ { FT_KERNING_DEFAULT = 0, FT_KERNING_UNFITTED = 1, FT_KERNING_UNSCALED = 2, } pub use self::FT_Kerning_Mode_ as FT_Kerning_Mode; extern "C" { pub fn FT_Get_Kerning(face: FT_Face, left_glyph: FT_UInt, right_glyph: FT_UInt, kern_mode: FT_UInt, akerning: *mut FT_Vector) -> FT_Error; } extern "C" { pub fn FT_Get_Track_Kerning(face: FT_Face, point_size: FT_Fixed, degree: FT_Int, akerning: *mut FT_Fixed) -> FT_Error; } extern "C" { pub fn FT_Get_Glyph_Name(face: FT_Face, glyph_index: FT_UInt, buffer: FT_Pointer, buffer_max: FT_UInt) -> FT_Error; } extern "C" { pub fn FT_Get_Postscript_Name(face: FT_Face) -> *const ::std::os::raw::c_char; } extern "C" { pub fn FT_Select_Charmap(face: FT_Face, encoding: FT_Encoding) -> FT_Error; } extern "C" { pub fn FT_Set_Charmap(face: FT_Face, charmap: FT_CharMap) -> FT_Error; } extern "C" { pub fn FT_Get_Charmap_Index(charmap: FT_CharMap) -> FT_Int; } extern "C" { pub fn FT_Get_Char_Index(face: FT_Face, charcode: FT_ULong) -> FT_UInt; } extern "C" { pub fn FT_Get_First_Char(face: FT_Face, agindex: *mut FT_UInt) -> FT_ULong; } extern "C" { pub fn FT_Get_Next_Char(face: FT_Face, char_code: FT_ULong, agindex: *mut FT_UInt) -> FT_ULong; } extern "C" { pub fn FT_Get_Name_Index(face: FT_Face, glyph_name: *mut FT_String) -> FT_UInt; } extern "C" { pub fn FT_Get_SubGlyph_Info(glyph: FT_GlyphSlot, sub_index: FT_UInt, p_index: *mut FT_Int, p_flags: *mut FT_UInt, p_arg1: *mut FT_Int, p_arg2: *mut FT_Int, p_transform: *mut FT_Matrix) -> FT_Error; } extern "C" { pub fn FT_Get_FSType_Flags(face: FT_Face) -> FT_UShort; } extern "C" { pub fn FT_Face_GetCharVariantIndex(face: FT_Face, charcode: FT_ULong, variantSelector: FT_ULong) -> FT_UInt; } extern "C" { pub fn FT_Face_GetCharVariantIsDefault(face: FT_Face, charcode: FT_ULong, variantSelector: FT_ULong) -> FT_Int; } extern "C" { pub fn FT_Face_GetVariantSelectors(face: FT_Face) -> *mut FT_UInt32; } extern "C" { pub fn FT_Face_GetVariantsOfChar(face: FT_Face, charcode: FT_ULong) -> *mut FT_UInt32; } extern "C" { pub fn FT_Face_GetCharsOfVariant(face: FT_Face, variantSelector: FT_ULong) -> *mut FT_UInt32; } extern "C" { pub fn FT_MulDiv(a: FT_Long, b: FT_Long, c: FT_Long) -> FT_Long; } extern "C" { pub fn FT_MulFix(a: FT_Long, b: FT_Long) -> FT_Long; } extern "C" { pub fn FT_DivFix(a: FT_Long, b: FT_Long) -> FT_Long; } extern "C" { pub fn FT_RoundFix(a: FT_Fixed) -> FT_Fixed; } extern "C" { pub fn FT_CeilFix(a: FT_Fixed) -> FT_Fixed; } extern "C" { pub fn FT_FloorFix(a: FT_Fixed) -> FT_Fixed; } extern "C" { pub fn FT_Vector_Transform(vec: *mut FT_Vector, matrix: *const FT_Matrix); } extern "C" { pub fn FT_Library_Version(library: FT_Library, amajor: *mut FT_Int, aminor: *mut FT_Int, apatch: *mut FT_Int); } extern "C" { pub fn FT_Face_CheckTrueTypePatents(face: FT_Face) -> FT_Bool; } extern "C" { pub fn FT_Face_SetUnpatentedHinting(face: FT_Face, value: FT_Bool) -> FT_Bool; } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum FT_LcdFilter_ { FT_LCD_FILTER_NONE = 0, FT_LCD_FILTER_DEFAULT = 1, FT_LCD_FILTER_LIGHT = 2, FT_LCD_FILTER_LEGACY1 = 3, FT_LCD_FILTER_LEGACY = 16, FT_LCD_FILTER_MAX = 17, } pub use self::FT_LcdFilter_ as FT_LcdFilter; extern "C" { pub fn FT_Library_SetLcdFilter(library: FT_Library, filter: FT_LcdFilter) -> FT_Error; } extern "C" { pub fn FT_Library_SetLcdFilterWeights(library: FT_Library, weights: *mut ::std::os::raw::c_uchar) -> FT_Error; } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum FT_Sfnt_Tag_ { FT_SFNT_HEAD = 0, FT_SFNT_MAXP = 1, FT_SFNT_OS2 = 2, FT_SFNT_HHEA = 3, FT_SFNT_VHEA = 4, FT_SFNT_POST = 5, FT_SFNT_PCLT = 6, FT_SFNT_MAX = 7, } pub use self::FT_Sfnt_Tag_ as FT_Sfnt_Tag; extern "C" { pub fn FT_Get_Sfnt_Table(face: FT_Face, tag: FT_Sfnt_Tag) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn FT_Load_Sfnt_Table(face: FT_Face, tag: FT_ULong, offset: FT_Long, buffer: *mut FT_Byte, length: *mut FT_ULong) -> FT_Error; } extern "C" { pub fn FT_Sfnt_Table_Info(face: FT_Face, table_index: FT_UInt, tag: *mut FT_ULong, length: *mut FT_ULong) -> FT_Error; } extern "C" { pub fn FT_Get_CMap_Language_ID(charmap: FT_CharMap) -> FT_ULong; } extern "C" { pub fn FT_Get_CMap_Format(charmap: FT_CharMap) -> FT_Long; } pub type FT_Module_Interface = FT_Pointer; pub type FT_Module_Constructor = ::std::option::Option FT_Error>; pub type FT_Module_Destructor = ::std::option::Option; pub type FT_Module_Requester = ::std::option::Option FT_Module_Interface>; #[repr(C)] #[derive(Debug, Copy)] pub struct FT_Module_Class_ { pub module_flags: FT_ULong, pub module_size: FT_Long, pub module_name: *const FT_String, pub module_version: FT_Fixed, pub module_requires: FT_Fixed, pub module_interface: *const ::std::os::raw::c_void, pub module_init: FT_Module_Constructor, pub module_done: FT_Module_Destructor, pub get_interface: FT_Module_Requester, } #[test] fn bindgen_test_layout_FT_Module_Class_() { assert_eq!(::std::mem::size_of::() , 72usize , concat ! ( "Size of: " , stringify ! ( FT_Module_Class_ ) )); assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( FT_Module_Class_ ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Module_Class_ ) ) . module_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Module_Class_ ) , "::" , stringify ! ( module_flags ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Module_Class_ ) ) . module_size as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Module_Class_ ) , "::" , stringify ! ( module_size ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Module_Class_ ) ) . module_name as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Module_Class_ ) , "::" , stringify ! ( module_name ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Module_Class_ ) ) . module_version as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Module_Class_ ) , "::" , stringify ! ( module_version ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Module_Class_ ) ) . module_requires as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Module_Class_ ) , "::" , stringify ! ( module_requires ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Module_Class_ ) ) . module_interface as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Module_Class_ ) , "::" , stringify ! ( module_interface ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Module_Class_ ) ) . module_init as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Module_Class_ ) , "::" , stringify ! ( module_init ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Module_Class_ ) ) . module_done as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Module_Class_ ) , "::" , stringify ! ( module_done ) )); assert_eq! (unsafe { & ( * ( 0 as * const FT_Module_Class_ ) ) . get_interface as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( FT_Module_Class_ ) , "::" , stringify ! ( get_interface ) )); } impl Clone for FT_Module_Class_ { fn clone(&self) -> Self { *self } } pub type FT_Module_Class = FT_Module_Class_; extern "C" { pub fn FT_Add_Module(library: FT_Library, clazz: *const FT_Module_Class) -> FT_Error; } extern "C" { pub fn FT_Get_Module(library: FT_Library, module_name: *const ::std::os::raw::c_char) -> FT_Module; } extern "C" { pub fn FT_Remove_Module(library: FT_Library, module: FT_Module) -> FT_Error; } extern "C" { pub fn FT_Property_Set(library: FT_Library, module_name: *const FT_String, property_name: *const FT_String, value: *const ::std::os::raw::c_void) -> FT_Error; } extern "C" { pub fn FT_Property_Get(library: FT_Library, module_name: *const FT_String, property_name: *const FT_String, value: *mut ::std::os::raw::c_void) -> FT_Error; } extern "C" { pub fn FT_Reference_Library(library: FT_Library) -> FT_Error; } extern "C" { pub fn FT_New_Library(memory: FT_Memory, alibrary: *mut FT_Library) -> FT_Error; } extern "C" { pub fn FT_Done_Library(library: FT_Library) -> FT_Error; } pub type FT_DebugHook_Func = ::std::option::Option; extern "C" { pub fn FT_Set_Debug_Hook(library: FT_Library, hook_index: FT_UInt, debug_hook: FT_DebugHook_Func); } extern "C" { pub fn FT_Add_Default_Modules(library: FT_Library); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum FT_TrueTypeEngineType_ { FT_TRUETYPE_ENGINE_TYPE_NONE = 0, FT_TRUETYPE_ENGINE_TYPE_UNPATENTED = 1, FT_TRUETYPE_ENGINE_TYPE_PATENTED = 2, } pub use self::FT_TrueTypeEngineType_ as FT_TrueTypeEngineType; extern "C" { pub fn FT_Get_TrueType_Engine_Type(library: FT_Library) -> FT_TrueTypeEngineType; } extern "C" { pub fn FT_Outline_Decompose(outline: *mut FT_Outline, func_interface: *const FT_Outline_Funcs, user: *mut ::std::os::raw::c_void) -> FT_Error; } extern "C" { pub fn FT_Outline_New(library: FT_Library, numPoints: FT_UInt, numContours: FT_Int, anoutline: *mut FT_Outline) -> FT_Error; } extern "C" { pub fn FT_Outline_New_Internal(memory: FT_Memory, numPoints: FT_UInt, numContours: FT_Int, anoutline: *mut FT_Outline) -> FT_Error; } extern "C" { pub fn FT_Outline_Done(library: FT_Library, outline: *mut FT_Outline) -> FT_Error; } extern "C" { pub fn FT_Outline_Done_Internal(memory: FT_Memory, outline: *mut FT_Outline) -> FT_Error; } extern "C" { pub fn FT_Outline_Check(outline: *mut FT_Outline) -> FT_Error; } extern "C" { pub fn FT_Outline_Get_CBox(outline: *const FT_Outline, acbox: *mut FT_BBox); } extern "C" { pub fn FT_Outline_Translate(outline: *const FT_Outline, xOffset: FT_Pos, yOffset: FT_Pos); } extern "C" { pub fn FT_Outline_Copy(source: *const FT_Outline, target: *mut FT_Outline) -> FT_Error; } extern "C" { pub fn FT_Outline_Transform(outline: *const FT_Outline, matrix: *const FT_Matrix); } extern "C" { pub fn FT_Outline_Embolden(outline: *mut FT_Outline, strength: FT_Pos) -> FT_Error; } extern "C" { pub fn FT_Outline_EmboldenXY(outline: *mut FT_Outline, xstrength: FT_Pos, ystrength: FT_Pos) -> FT_Error; } extern "C" { pub fn FT_Outline_Reverse(outline: *mut FT_Outline); } extern "C" { pub fn FT_Outline_Get_Bitmap(library: FT_Library, outline: *mut FT_Outline, abitmap: *const FT_Bitmap) -> FT_Error; } extern "C" { pub fn FT_Outline_Render(library: FT_Library, outline: *mut FT_Outline, params: *mut FT_Raster_Params) -> FT_Error; } pub const FT_Orientation__FT_ORIENTATION_FILL_RIGHT: FT_Orientation_ = FT_Orientation_::FT_ORIENTATION_TRUETYPE; pub const FT_Orientation__FT_ORIENTATION_FILL_LEFT: FT_Orientation_ = FT_Orientation_::FT_ORIENTATION_POSTSCRIPT; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum FT_Orientation_ { FT_ORIENTATION_TRUETYPE = 0, FT_ORIENTATION_POSTSCRIPT = 1, FT_ORIENTATION_NONE = 2, } pub use self::FT_Orientation_ as FT_Orientation; extern "C" { pub fn FT_Outline_Get_Orientation(outline: *mut FT_Outline) -> FT_Orientation; }