blob: adcb5a0a0d026d6a45f62541b1d3c3ac0e628f29 (
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
52
53
54
55
56
57
58
59
60
61
62
|
import options
import css/values
import html/dom
import io/term
type
BoxType* = enum
INLINE, BLOCK, INLINE_BLOCK
CSSRect* = object
x1*: int
y1*: int
x2*: int
y2*: int
CSSBox* = ref object of RootObj
t*: BoxType
x*: int
y*: int
children*: seq[CSSBox]
icontext*: InlineContext
bcontext*: BlockContext
cssvalues*: CSSSpecifiedValues
node*: Node
InlineContext* = ref object
fromx*: int
fromy*: int
conty*: bool
whitespace*: bool
ws_initial*: bool
rows*: seq[CSSRowBox]
thisrow*: seq[CSSRowBox]
BlockContext* = ref object
fromy*: int
margin_done*: int
margin_todo*: int
width*: int
height*: Option[int]
LayoutState* = object
nodes*: seq[Node]
term*: TermAttributes
CSSRowBox* = object
x*: int
y*: int
width*: int
height*: int
color*: CSSColor
fontstyle*: CSSFontStyle
fontweight*: int
textdecoration*: CSSTextDecoration
str*: string
nodes*: seq[Node]
bottom*: int
CSSInlineBox* = ref object of CSSBox
CSSBlockBox* = ref object of CSSBox
CSSInlineBlockBox* = ref object of CSSBox
|