aboutsummaryrefslogtreecommitdiffstats
path: root/build/4coder_byp/custom/4coder_layout_rule.h
blob: 83afb74af4270e129772098540c32f965e1279a0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*
4coder_layout_rule.h - Built in layout rule types.
*/

// TOP

#if !defined(FCODER_LAYOUT_RULE_H)
#define FCODER_LAYOUT_RULE_H

struct Newline_Layout_Vars{
  i64 newline_character_index;
  b32 consuming_newline_characters;
  b32 prev_did_emit_newline;
};

struct LefRig_TopBot_Layout_Vars{
  Face_Advance_Map  *advance_map;
  Face_Metrics *metrics;
  f32 tab_width;
  f32 line_to_text_shift;

  Vec2_f32 blank_dim;

  Vec2_f32 p;
  f32 line_y;
  f32 text_y;
  f32 width;
};

struct Layout_Reflex{
  Layout_Item_List *list;
  Buffer_ID buffer;
  f32 width;
  Face_ID face;
};

typedef i32 Layout_Wrap_Kind;
enum{
  Layout_Unwrapped,
  Layout_Wrapped,
};

typedef i32 Layout_Virtual_Indent;
enum{
  LayoutVirtualIndent_Off,
  LayoutVirtualIndent_On,
};

#endif

// BOTTOM