| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
KB.Text.Shape.FFI.API.Direct
Synopsis
- kbts_ShapeDirect :: ShapeConfig -> Ptr GlyphStorage -> Direction -> FunPtr Allocator -> Ptr () -> Ptr GlyphIterator -> IO ShapeError
- kbts_ShapeDirectFixedMemory :: ShapeConfig -> Ptr GlyphStorage -> Direction -> Ptr () -> CInt -> IO ShapeError
- hs_FontFromFile :: Ptr CChar -> CInt -> FunPtr Allocator -> Ptr () -> Ptr (Ptr ()) -> Ptr CInt -> Ptr Font -> IO LoadFontError
- kbts_FontCount :: Ptr () -> CInt -> CInt
- hs_FontFromMemory :: Ptr () -> CInt -> CInt -> FunPtr Allocator -> Ptr () -> Font -> IO LoadFontError
- kbts_FreeFont :: Font -> IO ()
- kbts_FontIsValid :: Font -> CInt
- data LoadFontState = LoadFontState
- kbts_LoadFont :: Font -> Ptr LoadFontState -> Ptr () -> CInt -> CInt -> Ptr Int -> Ptr Int -> IO LoadFontError
- kbts_PlaceBlob :: Font -> Ptr LoadFontState -> Ptr () -> Ptr () -> IO LoadFontError
- kbts_GetFontInfo :: Font -> Ptr FontInfo -> IO ()
- kbts_SizeOfShapeConfig :: Font -> Script -> Language -> CInt
- kbts_PlaceShapeConfig :: Font -> Script -> Language -> Ptr () -> IO ShapeConfig
- kbts_CreateShapeConfig :: Font -> Script -> Language -> FunPtr Allocator -> Ptr () -> IO ShapeConfig
- kbts_DestroyShapeConfig :: ShapeConfig -> IO ()
- kbts_InitializeGlyphStorage :: Ptr GlyphStorage -> FunPtr Allocator -> Ptr () -> IO Int
- kbts_InitializeGlyphStorageFixedMemory :: Ptr GlyphStorage -> Ptr () -> CInt -> IO Int
- kbts_PushGlyph :: Ptr GlyphStorage -> Font -> CInt -> GlyphConfig -> CInt -> IO (Ptr Glyph)
- kbts_ClearActiveGlyphs :: Ptr GlyphStorage -> IO ()
- kbts_FreeAllGlyphs :: Ptr GlyphStorage -> IO ()
- hs_CodepointToGlyph :: Font -> CInt -> GlyphConfig -> CInt -> Ptr Glyph -> IO ()
- kbts_CodepointToGlyphId :: Font -> CInt -> IO Int
- hs_ActiveGlyphIterator :: Ptr GlyphStorage -> Ptr GlyphIterator -> IO ()
- kbts_SizeOfGlyphConfig :: Ptr FeatureOverride -> CInt -> CInt
- kbts_PlaceGlyphConfig :: Ptr FeatureOverride -> CInt -> Ptr () -> IO GlyphConfig
- kbts_CreateGlyphConfig :: Ptr FeatureOverride -> CInt -> FunPtr Allocator -> Ptr () -> IO GlyphConfig
- kbts_DestroyGlyphConfig :: GlyphConfig -> IO ()
Documentation
kbts_ShapeDirect :: ShapeConfig -> Ptr GlyphStorage -> Direction -> FunPtr Allocator -> Ptr () -> Ptr GlyphIterator -> IO ShapeError Source #
kbts_shape_error kbts_ShapeDirect(kbts_shape_config *Config, kbts_glyph_storage *Storage, kbts_direction RunDirection, kbts_allocator_function *Allocator, void *AllocatorData, kbts_glyph_iterator *Output);
kbts_ShapeDirectFixedMemory Source #
Arguments
| :: ShapeConfig | |
| -> Ptr GlyphStorage | |
| -> Direction | RunDirection |
| -> Ptr () | Memory |
| -> CInt | MemorySize |
| -> IO ShapeError |
kbts_shape_error kbts_ShapeDirectFixedMemory(kbts_shape_config *Config, kbts_glyph_storage *Storage, kbts_direction RunDirection, void *Memory, int MemorySize, kbts_glyph_iterator *Output);
Arguments
| :: Ptr CChar | FileName |
| -> CInt | FontIndex |
| -> FunPtr Allocator | |
| -> Ptr () | AllocatorData |
| -> Ptr (Ptr ()) | FileData |
| -> Ptr CInt | FileSize |
| -> Ptr Font | |
| -> IO LoadFontError |
kbts_font kbts_FontFromFile(const char *FileName, int FontIndex, kbts_allocator_function *Allocator, void *AllocatorData, void **FileData, int *FileSize);
int kbts_FontCount(void *FileData, int FileSize);
Arguments
| :: Ptr () | FileData |
| -> CInt | FileSize |
| -> CInt | FontIndex |
| -> FunPtr Allocator | |
| -> Ptr () | AllocatorData |
| -> Font | |
| -> IO LoadFontError |
kbts_font kbts_FontFromMemory(void *FileData, int FileSize, int FontIndex, kbts_allocator_function *Allocator, void *AllocatorData);
kbts_FreeFont :: Font -> IO () Source #
void kbts_FreeFont(kbts_font *Font);
kbts_FontIsValid :: Font -> CInt Source #
int kbts_FontIsValid(kbts_font *Font);
data LoadFontState Source #
Opaque token for kbts_load_font_state
Constructors
| LoadFontState |
Instances
| Storable LoadFontState Source # | |
Defined in KB.Text.Shape.FFI.API.Direct Methods sizeOf :: LoadFontState -> Int # alignment :: LoadFontState -> Int # peekElemOff :: Ptr LoadFontState -> Int -> IO LoadFontState # pokeElemOff :: Ptr LoadFontState -> Int -> LoadFontState -> IO () # peekByteOff :: Ptr b -> Int -> IO LoadFontState # pokeByteOff :: Ptr b -> Int -> LoadFontState -> IO () # peek :: Ptr LoadFontState -> IO LoadFontState # poke :: Ptr LoadFontState -> LoadFontState -> IO () # | |
| Show LoadFontState Source # | |
Defined in KB.Text.Shape.FFI.API.Direct Methods showsPrec :: Int -> LoadFontState -> ShowS # show :: LoadFontState -> String # showList :: [LoadFontState] -> ShowS # | |
Arguments
| :: Font | |
| -> Ptr LoadFontState | |
| -> Ptr () | FontData |
| -> CInt | FontDataSize |
| -> CInt | FontIndex |
| -> Ptr Int | ScratchSize_ |
| -> Ptr Int | OutputSize_ |
| -> IO LoadFontError |
kbts_load_font_error kbts_LoadFont(kbts_font *Font, kbts_load_font_state *State, void *FontData, int FontDataSize, int FontIndex, int *ScratchSize_, int *OutputSize_);
Arguments
| :: Font | |
| -> Ptr LoadFontState | |
| -> Ptr () | ScratchMemory |
| -> Ptr () | OutputMemory |
| -> IO LoadFontError |
kbts_load_font_error kbts_PlaceBlob(kbts_font *Font, kbts_load_font_state *State, void *ScratchMemory, void *OutputMemory);
kbts_GetFontInfo :: Font -> Ptr FontInfo -> IO () Source #
void kbts_GetFontInfo(kbts_font *Font, kbts_font_info *Info);
kbts_SizeOfShapeConfig :: Font -> Script -> Language -> CInt Source #
int kbts_SizeOfShapeConfig(kbts_font *Font, kbts_script Script, kbts_language Language);
kbts_PlaceShapeConfig Source #
kbts_shape_config *kbts_PlaceShapeConfig(kbts_font *Font, kbts_script Script, kbts_language Language, void *Memory);
kbts_CreateShapeConfig :: Font -> Script -> Language -> FunPtr Allocator -> Ptr () -> IO ShapeConfig Source #
kbts_shape_config *kbts_CreateShapeConfig(kbts_font *Font, kbts_script Script, kbts_language Language, kbts_allocator_function *Allocator, void *AllocatorData);
kbts_DestroyShapeConfig :: ShapeConfig -> IO () Source #
void kbts_DestroyShapeConfig(kbts_shape_config *Config);
kbts_InitializeGlyphStorage Source #
int kbts_InitializeGlyphStorage(kbts_glyph_storage *Storage, kbts_allocator_function *Allocator, void *AllocatorData)
kbts_InitializeGlyphStorageFixedMemory Source #
int kbts_InitializeGlyphStorageFixedMemory(kbts_glyph_storage *Storage, void *Memory, int MemorySize);
Arguments
| :: Ptr GlyphStorage | |
| -> Font | |
| -> CInt | Codepoint |
| -> GlyphConfig | |
| -> CInt | |
| -> IO (Ptr Glyph) |
kbts_glyph *kbts_PushGlyph(kbts_glyph_storage *Storage, kbts_font *Font, int Codepoint, kbts_glyph_config *Config, int UserId);
kbts_ClearActiveGlyphs :: Ptr GlyphStorage -> IO () Source #
void kbts_ClearActiveGlyphs(kbts_glyph_storage *Storage);
kbts_FreeAllGlyphs :: Ptr GlyphStorage -> IO () Source #
void kbts_FreeAllGlyphs(kbts_glyph_storage *Storage);
Wrapped kbts_glyph kbts_CodepointToGlyph(kbts_font *Font, int Codepoint, kbts_glyph_config *Config, int UserId);
The original returns struct by value.
kbts_CodepointToGlyphId Source #
int kbts_CodepointToGlyphId(kbts_font *Font, int Codepoint);
hs_ActiveGlyphIterator :: Ptr GlyphStorage -> Ptr GlyphIterator -> IO () Source #
Wrapped kbts_glyph_iterator kbts_ActiveGlyphIterator(kbts_glyph_storage *Storage);
The original returns struct by value.
kbts_SizeOfGlyphConfig Source #
Arguments
| :: Ptr FeatureOverride | |
| -> CInt | OverrideCount |
| -> CInt |
int kbts_SizeOfGlyphConfig(kbts_feature_override *Overrides, int OverrideCount);
kbts_PlaceGlyphConfig Source #
Arguments
| :: Ptr FeatureOverride | |
| -> CInt | OverriderCount |
| -> Ptr () | Memory |
| -> IO GlyphConfig |
kbts_glyph_config *kbts_PlaceGlyphConfig(kbts_feature_override *Overrides, int OverrideCount, void *Memory);
kbts_CreateGlyphConfig Source #
Arguments
| :: Ptr FeatureOverride | |
| -> CInt | OverrideCount |
| -> FunPtr Allocator | |
| -> Ptr () | AllocatorData |
| -> IO GlyphConfig |
kbts_glyph_config *kbts_CreateGlyphConfig(kbts_feature_override *Overrides, int OverrideCount, kbts_allocator_function *Allocator, void *AllocatorData);
kbts_DestroyGlyphConfig :: GlyphConfig -> IO () Source #
void kbts_DestroyGlyphConfig(kbts_glyph_config *Config);