buffer_pos_at_relative_xy
September 8th 2024
Compute a byte position at a particular point relative to the top left corner of a particular line
Signature
i64
buffer_pos_at_relative_xy(Application_Links* app,
Buffer_ID buffer_id,
f32 width,
Face_ID face_id,
i64 base_line,
Vec2_f32 relative_xy);
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
relative_xy
the point, in pixels, interpreted relative to the line's top left corner, that will serve as the query point
Return
the byte index associated as the first byte of a character in the layout that is the closest to containing the query point on success, when the buffer exists and contains the line, zero otherwise
Details
Line numbers are 1 based.