Stores the information used whilst laying out boxes during a reflow.
Public Member Functions | |
LineBoxMeta (LineBoxMeta parent, LayoutBox firstBox, RenderableData renderData) | |
void | RemoveFromLine (LayoutBox box) |
Removes the given box from this line. Must not be the first one. More... | |
void | TryBreakParent () |
Attempts to break a line for a parent inline node. More... | |
int | GetLineSpace (float width, float initialOffset) |
Ensures the given amount of space is available by completing the line if needed and potentially clearing floats too. More... | |
float | FloatClearance (bool left) |
The float 'clearance' on the left/right. It's basically the bottom of left/right floats. More... | |
bool | TryClearFloat () |
Tries to clear a left/right float (whichever is shortest first). More... | |
void | ClearFloat (int mode) |
Clears left/right/both floats. More... | |
void | CompleteLine (int settings) |
Completes a line, optionally breaking it. More... | |
void | AdvancePen (LayoutBox styleBox) |
Advances the pen now. More... | |
Public Attributes | |
BlockBoxMeta | HostBlock |
The "host" block box. More... | |
float | LineHeight |
The height of the current line being processed. More... | |
int | HorizontalAlign |
The value for horizontal-align. If it's not required, this is just 0. More... | |
int | VerticalAlign |
The value for vertical-align. More... | |
float | VerticalAlignOffset |
Vertical-align offset from the baseline. More... | |
LineBoxMeta | Parent |
The next box in the hierarchy. More... | |
RenderableData | RenderData |
The inline element. More... | |
float | MaxOffset |
An offset to apply to MaxX. More... | |
bool | ContainsBidirectional |
True if the current line contains bi-directional text. I.e. Any box with a non-zero "UnicodeBidi" value. More... | |
float | CssLineHeight |
The value of the CSS line-height property. More... | |
Package Functions | |
void | AddToLine (LayoutBox styleBox) |
Adds the given style to the current line. More... | |
Package Attributes | |
LayoutBox | LastOnLine |
A linked list of elements on a line are kept. This is the last element on the current line. More... | |
LayoutBox | FirstOnLine |
A linked list of elements on a line are kept. This is the first element on the current line. More... | |
LayoutBox | LastOutOfFlow |
A linked list of elements on a line are kept. This is the last element on the current out of flow line. More... | |
LayoutBox | FirstOutOfFlow |
A linked list of elements on a line are kept. This is the first element on the current out of flow line. More... | |
LayoutBox | LastLineStart |
The last line start. Tracked for alignment. More... | |
LayoutBox | FirstLineStart |
The first line start. Tracked for alignment. More... | |
int | WhiteSpace |
This boxes whitespace mode. More... | |
float | ClearY_ |
The current 'clear zone'. Added to PenY when something is added to the current line. More... | |
FloatingElements | Floats |
The set of active floated elements for the current line being rendered. More... | |
float | PenX |
The current x location of the renderer in screen pixels from the left. More... | |
LayoutBox | CurrentBox |
The current box being worked on. More... | |
Properties | |
virtual float | PenY [get, set] |
The current y location of the renderer in screen pixels from the top. More... | |
virtual float | LargestLineWidth [get, set] |
The length of the longest line so far. Used for the content width. More... | |
virtual bool | GoingLeftwards [get, set] |
True if the rendering direction is left. This originates from the direction: css property. More... | |
virtual float | LineStart [get, set] |
The start position of a line. More... | |
virtual float | MaxX [get, set] |
The x value that must not be exceeded by elements on a line. Used if the parent has fixed width. More... | |
Private Member Functions | |
void | AlignHorizontally (LayoutBox currentBox, LayoutBox lastBox, float lineSpace, int elementCount, float lineLength, int align) |
Horizontally aligns a line based on alignment settings. More... | |
void | RightwardsAlign (LayoutBox currentBox, LayoutBox to, float lineMax) |
Part of the bi-directional algorithm. Converts leftwards boxes to rightwards ones. More... | |
bool | ClearLineSpace (int floatMode) |
Attempts to clear left or right. If they're both the same height then it will clear the given side. More... | |
|
inline |
|
inlinepackage |
Adds the given style to the current line.
style | The style to add. |
|
inline |
Advances the pen now.
|
inlineprivate |
Horizontally aligns a line based on alignment settings.
currentBox | The style of the first element on the line. |
lineSpace | The amount of space available to the line. |
elementCount | The number of elements on this line. |
lineLength | The width of the line in pixels. |
parentBox | The style which defines the alignment. |
|
inline |
Clears left/right/both floats.
|
inlineprivate |
Attempts to clear left or right. If they're both the same height then it will clear the given side.
|
inline |
Completes a line, optionally breaking it.
settings | Values from LineBreakMode. You'd usually pass Normal. |
|
inline |
The float 'clearance' on the left/right. It's basically the bottom of left/right floats.
|
inline |
Ensures the given amount of space is available by completing the line if needed and potentially clearing floats too.
|
inline |
Removes the given box from this line. Must not be the first one.
|
inlineprivate |
Part of the bi-directional algorithm. Converts leftwards boxes to rightwards ones.
|
inline |
Attempts to break a line for a parent inline node.
|
inline |
Tries to clear a left/right float (whichever is shortest first).
|
package |
The current 'clear zone'. Added to PenY when something is added to the current line.
bool PowerUI.LineBoxMeta.ContainsBidirectional |
True if the current line contains bi-directional text. I.e. Any box with a non-zero "UnicodeBidi" value.
float PowerUI.LineBoxMeta.CssLineHeight |
The value of the CSS line-height property.
|
package |
The current box being worked on.
|
package |
The first line start. Tracked for alignment.
|
package |
A linked list of elements on a line are kept. This is the first element on the current line.
|
package |
A linked list of elements on a line are kept. This is the first element on the current out of flow line.
|
package |
The set of active floated elements for the current line being rendered.
int PowerUI.LineBoxMeta.HorizontalAlign |
The value for horizontal-align. If it's not required, this is just 0.
BlockBoxMeta PowerUI.LineBoxMeta.HostBlock |
The "host" block box.
|
package |
The last line start. Tracked for alignment.
|
package |
A linked list of elements on a line are kept. This is the last element on the current line.
|
package |
A linked list of elements on a line are kept. This is the last element on the current out of flow line.
float PowerUI.LineBoxMeta.LineHeight |
The height of the current line being processed.
float PowerUI.LineBoxMeta.MaxOffset |
An offset to apply to MaxX.
LineBoxMeta PowerUI.LineBoxMeta.Parent |
The next box in the hierarchy.
|
package |
The current x location of the renderer in screen pixels from the left.
RenderableData PowerUI.LineBoxMeta.RenderData |
The inline element.
int PowerUI.LineBoxMeta.VerticalAlign |
The value for vertical-align.
float PowerUI.LineBoxMeta.VerticalAlignOffset |
Vertical-align offset from the baseline.
|
package |
This boxes whitespace mode.
|
getset |
True if the rendering direction is left. This originates from the direction: css property.
|
getset |
The length of the longest line so far. Used for the content width.
|
getset |
The start position of a line.
|
getset |
The x value that must not be exceeded by elements on a line. Used if the parent has fixed width.
|
getset |
The current y location of the renderer in screen pixels from the top.