> home > Custom Layer Boundary API

buffer_relative_character_from_pos

September 8th 2024
Compute a character index relative to a particular lines first character

Signature

C++
i64
buffer_relative_character_from_pos(Application_Links* app,
                                   Buffer_ID buffer_id,
                                   f32 width,
                                   Face_ID face_id,
                                   i64 base_line,
                                   i64 pos);

Parameters

app

the standard custom layer context pointer

buffer_id

the id of the buffer who's layout will be measured

width

the width parameter of the layout, passed to layout rules as a recommended wrap point

face_id

the face parameter of the layout, passed to layout rules as a recommended face

base_line

the line number of the line that serves as the relative starting point of the measurement

pos

the absolute byte index of the position to query

Return

the relative index, based at the first character of the base line, of the character that is closest to spanning the query position on success, when the buffer exists and contains the base line and query position, zero otherwise

Details

Line numbers are 1 based.