kb-text-shape
Safe HaskellNone
LanguageGHC2021

KB.Text.Shape.FFI.API.Context

Synopsis

Documentation

kbts_SizeOfShapeContext :: CInt Source #

int kbts_SizeOfShapeContext(void);

kbts_PlaceShapeContext Source #

Arguments

:: FunPtr Allocator 
-> Ptr ()

AllocatorData

-> Ptr ()

Memory

-> IO ShapeContext 
kbts_shape_context *kbts_PlaceShapeContext(kbts_allocator_function *Allocator, void *AllocatorData, void *Memory);

kbts_PlaceShapeContextFixedMemory Source #

Arguments

:: Ptr ()

Memory

-> CInt

Size

-> IO ShapeContext

kbts_shape_context *

kbts_shape_context *kbts_PlaceShapeContextFixedMemory(void *Memory, int Size);

kbts_CreateShapeContext Source #

Arguments

:: FunPtr Allocator 
-> Ptr ()

AllocatorData

-> IO ShapeContext 
kbts_shape_context *kbts_CreateShapeContext(kbts_allocator_function *Allocator, void *AllocatorData);

kbts_DestroyShapeContext :: ShapeContext -> IO () Source #

void kbts_DestroyShapeContext(kbts_shape_context *Context);

kbts_ShapePushFontFromFile Source #

Arguments

:: ShapeContext 
-> CString

FileName

-> CInt

FontIndex

-> IO Font 
kbts_font *kbts_ShapePushFontFromFile(kbts_shape_context *Context, const char *FileName, int FontIndex);

kbts_ShapePushFontFromMemory Source #

Arguments

:: ShapeContext 
-> Ptr ()

Memory

-> CSize

Size

-> CInt

FontIndex

-> IO Font 
kbts_font *kbts_ShapePushFontFromMemory(kbts_shape_context *Context, void *Memory, int Size, int FontIndex);

kbts_ShapePushFont :: ShapeContext -> Font -> IO Font Source #

kbts_font *kbts_ShapePushFont(kbts_shape_context *Context, kbts_font *Font);

kbts_ShapePopFont :: ShapeContext -> IO Font Source #

kbts_font *kbts_ShapePopFont(kbts_shape_context *Context);

kbts_ShapeBegin :: ShapeContext -> Direction -> Language -> IO () Source #

void kbts_ShapeBegin(kbts_shape_context *Context, kbts_direction ParagraphDirection, kbts_language Language);

kbts_ShapeRun :: ShapeContext -> Ptr Run -> IO Int Source #

int kbts_ShapeRun(kbts_shape_context *Context, kbts_run *Run);

kbts_ShapePushFeature Source #

Arguments

:: ShapeContext 
-> FeatureTag 
-> CInt

Value

-> IO () 
void kbts_ShapePushFeature(kbts_shape_context *Context, kbts_u32 FeatureTag, int Value);

kbts_ShapePopFeature :: ShapeContext -> FeatureTag -> IO CInt Source #

int kbts_ShapePopFeature(kbts_shape_context *Context, kbts_u32 FeatureTag);

kbts_ShapeCodepoint Source #

Arguments

:: ShapeContext 
-> CInt

Codepoint

-> IO () 
void kbts_ShapeCodepoint(kbts_shape_context *Context, int Codepoint);

kbts_ShapeCodepointWithUserId Source #

Arguments

:: ShapeContext 
-> CInt

Codepoint

-> CInt

UserId

-> IO () 
void kbts_ShapeCodepointWithUserId(kbts_shape_context *Context, int Codepoint, int UserId);

kbts_ShapeUtf32 Source #

Arguments

:: ShapeContext 
-> Ptr CInt

Utf32

-> CInt

Length

-> IO () 
void kbts_ShapeUtf32(kbts_shape_context *Context, int *Utf32, int Length);

kbts_ShapeUtf32WithUserId Source #

Arguments

:: ShapeContext 
-> Ptr CInt

Utf32

-> CInt

Length

-> CInt

UserId

-> CInt

UserIdIncrement

-> IO () 
void kbts_ShapeUtf32WithUserId(kbts_shape_context *Context, int *Utf32, int Length, int UserId, int UserIdIncrement);

kbts_ShapeUtf8 Source #

Arguments

:: ShapeContext 
-> Ptr CChar 
-> CInt

Length

-> UserIdGenerationMode 
-> IO () 
void kbts_ShapeUtf8(kbts_shape_context *Context, const char *Utf8, int Length, kbts_user_id_generation_mode UserIdGenerationMode);

kbts_ShapeUtf8WithUserId Source #

Arguments

:: ShapeContext 
-> Ptr CChar 
-> CInt

Length

-> CInt

UserId

-> UserIdGenerationMode 
-> IO () 
void kbts_ShapeUtf8WithUserId(kbts_shape_context *Context, const char *Utf8, int Length, int UserId, kbts_user_id_generation_mode UserIdGenerationMode);

kbts_ShapeError :: ShapeContext -> ShapeError Source #

kbts_shape_error kbts_ShapeError(kbts_shape_context *Context);

kbts_ShapeBeginManualRuns :: ShapeContext -> IO () Source #

void kbts_ShapeBeginManualRuns(kbts_shape_context *Context);

kbts_ShapeNextManualRun :: ShapeContext -> Direction -> Script -> IO () Source #

void kbts_ShapeNextManualRun(kbts_shape_context *Context, kbts_direction Direction, kbts_script Script);

kbts_ShapeEndManualRuns :: ShapeContext -> IO () Source #

void kbts_ShapeEndManualRuns(kbts_shape_context *Context);

kbts_ShapeManualBreak :: ShapeContext -> IO () Source #

void kbts_ShapeManualBreak(kbts_shape_context *Context);

hs_ShapeCurrentCodepointsIterator :: ShapeContext -> Ptr CodepointIterator -> IO () Source #

Wrapped kbts_shape_codepoint_iterator kbts_ShapeCurrentCodepointsIterator(kbts_shape_context *Context);

The original returns struct by value.

kbts_ShapeCodepointIteratorIsValid :: Ptr CodepointIterator -> IO Int Source #

int kbts_ShapeCodepointIteratorIsValid(kbts_shape_codepoint_iterator *It);

kbts_ShapeCodepointIteratorNext :: Ptr CodepointIterator -> Ptr Codepoint -> Ptr Int -> IO Int Source #

int kbts_ShapeCodepointIteratorNext(kbts_shape_codepoint_iterator *It, kbts_shape_codepoint *Codepoint, int *CodepointIndex);

kbts_ShapeGetShapeCodepoint Source #

Arguments

:: ShapeContext 
-> CInt

CodepointIndex

-> Ptr Codepoint 
-> IO Int 
int kbts_ShapeGetShapeCodepoint(kbts_shape_context *Context, int CodepointIndex, kbts_shape_codepoint *Codepoint);