2019-03-31 22:07:10 +00:00
|
|
|
/*
|
|
|
|
* Mr. 4th Dimention - Allen Webster
|
|
|
|
*
|
|
|
|
* 31.03.2019
|
|
|
|
*
|
2019-04-01 00:36:09 +00:00
|
|
|
* Text layout representation
|
2019-03-31 22:07:10 +00:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
// TOP
|
|
|
|
|
|
|
|
#if !defined(FRED_TEXT_LAYOUT_H)
|
|
|
|
#define FRED_TEXT_LAYOUT_H
|
|
|
|
|
2019-09-02 18:59:36 +00:00
|
|
|
union Text_Layout{
|
|
|
|
Text_Layout *next;
|
|
|
|
struct{
|
2019-10-01 02:06:21 +00:00
|
|
|
Arena *arena;
|
2019-09-02 18:59:36 +00:00
|
|
|
Buffer_ID buffer_id;
|
|
|
|
Buffer_Point point;
|
|
|
|
Interval_i64 visible_range;
|
|
|
|
Interval_i64 visible_line_number_range;
|
|
|
|
Rect_f32 rect;
|
|
|
|
int_color *item_colors;
|
|
|
|
};
|
2019-04-01 00:36:09 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct Text_Layout_Container{
|
2019-10-01 02:06:21 +00:00
|
|
|
Arena *node_arena;
|
2019-09-02 18:59:36 +00:00
|
|
|
Text_Layout *free_nodes;
|
|
|
|
Table_u64_u64 table;
|
|
|
|
Text_Layout_ID id_counter;
|
2019-03-31 22:07:10 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// BOTTOM
|
|
|
|
|