css/box

Search:
Group by:

Types

Area = object
  offset*: Offset
  size*: Size
BlockBox = ref object of CSSBox
  input*: LayoutInput
  state*: BoxLayoutState
Bounds = object
  a*: BoundsPart
  mi*: BoundsPart
BoundsPart = array[DimensionType, Span]
BoxLayoutState = object
  offset*: Offset
  size*: Size
  intr*: Size
  marginTodo*: Span
  exclusionsHead*: Exclusion
  exclusionsTail*: Exclusion
  pendingFloatsHead*: PendingFloat
  pendingFloatsTail*: PendingFloat
  firstBaseline*: LUnit
  baseline*: LUnit
  marginOutput*: LUnit
  yshift*: LUnit
  maxFloatHeight*: LUnit
  clearOffset*: LUnit
  merge*: CSSBorderMerge
  baselineSet*: bool
  marginResolved*: bool
BoxRenderState = object
  positioned*: bool
  offset*: Offset
  clipBox*: ClipBox
ClipBox = object
  start*: Offset
  send*: Offset
CSSAbsolute {.acyclic.} = ref object
  box*: BlockBox
  next*: CSSAbsolute
CSSBorder = array[DimensionType, BorderStyleSpan]
CSSBorderMerge = array[DimensionType, bool]
CSSBox = ref object of RootObj
  parent*: CSSBox
  firstChild*: CSSBox
  next*: CSSBox
  absolute*: CSSAbsolute
  pseudo*: PseudoElement
  t*: CSSBoxType
  keepLayout*: bool
  positioned*: bool
  render*: BoxRenderState
  computed*: CSSValues
  element*: Element
CSSBoxType = enum
  cbtElement, cbtAnonymous, cbtText
DimensionType = enum
  dtHorizontal, dtVertical
Exclusion = ref object
  offset*: Offset
  size*: Size
  t*: CSSFloat
  id*: uint32
  next*: Exclusion
InlineBox = ref object of CSSBox
  state*: InlineBoxState
InlineBoxState = object
  startOffset*: Offset
  areas*: seq[Area]
InlineNewLineBox = ref object of InlineBox
InlineTextBox = ref object of InlineBox
  runs*: seq[TextRun]
  text*: RefString
  len*: int
LayoutInput = object
  bfcOffset*: Offset
  margin*: RelativeRect
  padding*: RelativeRect
  space*: Space
  bounds*: Bounds
  marginTodo*: Span
  pendingFloatsHead*: PendingFloat
  pendingFloatsTail*: PendingFloat
  exclusionsHead*: Exclusion
  exclusionsTail*: Exclusion
  clearOffset*: LUnit
  border*: CSSBorder
  marginResolved*: bool
Offset = array[DimensionType, LUnit]
PendingFloat = ref object
  offset*: Offset
  bfcOffset*: Offset
  space*: Space
  box*: BlockBox
  marginOffset*: Offset
  outerSize*: Size
  newLine*: bool
  next*: PendingFloat
RelativeRect = array[DimensionType, Span]
Size = array[DimensionType, LUnit]
SizeConstraintType = enum
  scStretch, scFitContent, scMinContent, scMaxContent, scMeasure
Space = array[DimensionType, SizeConstraint]
Span = object
  start*: LUnit
  send*: LUnit
StackItem = ref object
  box*: CSSBox
  index*: int32
  children*: seq[StackItem]
TextRun = ref object
  offset*: Offset
  s*: string

Consts

DefaultClipBox = (start: [0, 0], send: [2147483647, 2147483647])
Offset0 = [0, 0]

Procs

proc `+`(a, b: Offset): Offset {....raises: [], tags: [], forbids: [].}
proc `+=`(a: var Offset; b: Offset) {....raises: [], tags: [], forbids: [].}
proc `+=`(span: var Span; u: LUnit) {....raises: [], tags: [], forbids: [].}
proc `-`(a, b: Offset): Offset {....raises: [], tags: [], forbids: [].}
proc `-=`(a: var Offset; b: Offset) {....raises: [], tags: [], forbids: [].}
proc `<`(a, b: Offset): bool {....raises: [], tags: [], forbids: [].}
proc `<=`(a, b: Offset): bool {....raises: [], tags: [], forbids: [].}
proc borderBottomRight(input: LayoutInput; cellSize: Size): Offset {....raises: [],
    tags: [], forbids: [].}
proc borderTopLeft(input: LayoutInput; cellSize: Size): Offset {....raises: [],
    tags: [], forbids: [].}
proc bottom(b: CSSBorder): CSSBorderStyle {....raises: [], tags: [], forbids: [].}
proc bottom(s: RelativeRect): LUnit {....raises: [], tags: [], forbids: [].}
proc bottomRight(s: RelativeRect): Offset {....raises: [], tags: [], forbids: [].}
proc getBitmap(box: BlockBox): NetworkBitmap {....raises: [], tags: [], forbids: [].}
proc getImageBitmap(box: BlockBox): NetworkBitmap {....raises: [], tags: [],
    forbids: [].}
proc h(size: Size): LUnit {.inline, ...raises: [], tags: [], forbids: [].}
proc h(size: var Size): var LUnit {.inline, ...raises: [], tags: [], forbids: [].}
proc h=(size: var Size; h: LUnit) {.inline, ...raises: [], tags: [], forbids: [].}
proc left(b: CSSBorder): CSSBorderStyle {....raises: [], tags: [], forbids: [].}
proc left(s: RelativeRect): LUnit {....raises: [], tags: [], forbids: [].}
proc offset(x, y: LUnit): Offset {....raises: [], tags: [], forbids: [].}
proc resetState(box: BlockBox) {....raises: [], tags: [], forbids: [].}
proc resetState(ibox: InlineBox) {....raises: [], tags: [], forbids: [].}
proc right(b: CSSBorder): CSSBorderStyle {....raises: [], tags: [], forbids: [].}
proc right(s: RelativeRect): LUnit {....raises: [], tags: [], forbids: [].}
proc size(w, h: LUnit): Size {....raises: [], tags: [], forbids: [].}
proc sum(rect: RelativeRect): Size {....raises: [], tags: [], forbids: [].}
proc sum(span: Span): LUnit {....raises: [], tags: [], forbids: [].}
proc top(b: CSSBorder): CSSBorderStyle {....raises: [], tags: [], forbids: [].}
proc top(s: RelativeRect): LUnit {....raises: [], tags: [], forbids: [].}
proc topLeft(s: RelativeRect): Offset {....raises: [], tags: [], forbids: [].}
proc w(size: Size): LUnit {.inline, ...raises: [], tags: [], forbids: [].}
proc w(size: var Size): var LUnit {.inline, ...raises: [], tags: [], forbids: [].}
proc w=(size: var Size; w: LUnit) {.inline, ...raises: [], tags: [], forbids: [].}
proc x(offset: Offset): LUnit {.inline, ...raises: [], tags: [], forbids: [].}
proc x(offset: var Offset): var LUnit {.inline, ...raises: [], tags: [],
                                        forbids: [].}
proc x=(offset: var Offset; x: LUnit) {.inline, ...raises: [], tags: [],
                                        forbids: [].}
proc y(offset: Offset): LUnit {.inline, ...raises: [], tags: [], forbids: [].}
proc y(offset: var Offset): var LUnit {.inline, ...raises: [], tags: [],
                                        forbids: [].}
proc y=(offset: var Offset; y: LUnit) {.inline, ...raises: [], tags: [],
                                        forbids: [].}

Iterators

iterator children(box: CSSBox): CSSBox {....raises: [], tags: [], forbids: [].}