Package pi.graphics.boxes_ng
Class CombinedChildBox
java.lang.Object
pi.graphics.boxes_ng.Box
pi.graphics.boxes_ng.ChildBox
pi.graphics.boxes_ng.CombinedChildBox
- Direct Known Subclasses:
FramedBox,TextBlockAlignBox
Eine Box, die aus mehreren primitiven Kind-Boxen kombiniert ist.
public class FramedBox extends CombinedChildBox
{
// parent -> child
public final DimensionBox dimension;
public final AlignBox align;
public final Box content;
public FramedBox(Box child)
{
// child -> parent
content = child;
align = new AlignBox(child);
dimension = align;
addChild(dimension);
}
}
Es handelt sich also um eine virtuelle, transparente Box, die keine Zeichnenroutinen ausführt.
- Since:
- 0.40.0
- Author:
- Josef Friedrich
-
Field Summary
Fields inherited from class pi.graphics.boxes_ng.Box
childs, definedHeight, definedWidth, disabled, height, measureDimensionTwice, parent, pixelPerMeter, supportsDefinedDimension, width, x, y -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidBerechnet rekursiv alle Ankerpunkte (linkes unteres Eck) der untergeordneten Kinder-Boxen.protected voidBerechnet rekursiv die Abmessung (die Höhe und Breite) der eigenen Box.Methods inherited from class pi.graphics.boxes_ng.ChildBox
addChild, numberOfChildsMethods inherited from class pi.graphics.boxes_ng.Box
anchor, anchorMeter, debug, disable, disabled, enable, hasDefiniedDimension, hasOnlyDefiniedHeight, hasOnlyDefiniedWidth, height, height, heightMeter, heightMeter, iterator, measure, measureAnchors, measureDimension, pixelPerMeter, pixelPerMeter, remeasure, render, render, toggle, toString, toStringFormatter, updateValue, width, width, widthMeter, widthMeter, x, x, xMeter, xMeter, y, y, yMeter, yMeter, yTopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
CombinedChildBox
public CombinedChildBox()
-
-
Method Details
-
calculateDimension
protected void calculateDimension()Description copied from class:BoxBerechnet rekursiv die Abmessung (die Höhe und Breite) der eigenen Box.Single-Child-Code-Beispiel
protected void calculateDimension() { width = child.width + 2 * margin; height = child.height + 2 * margin; }Multiple-Child-Code-Beispiel
protected void calculateDimension() { int maxWidth = 0; for (Box child : childs) { if (child.width > maxWidth) { maxWidth = child.width; } height += child.height; } width = maxWidth; }- Specified by:
calculateDimensionin classBox
-
calculateAnchors
protected void calculateAnchors()Description copied from class:BoxBerechnet rekursiv alle Ankerpunkte (linkes unteres Eck) der untergeordneten Kinder-Boxen. Die inneren Blattboxen brauchen diese Methode nicht zu implementieren.Single-Child-Code-Beispiel
protected void calculateAnchors() { child.x = x + margin; child.y = y + margin; }Multiple-Child-Code-Beispiel
protected void calculateAnchors() { int yCursor = y; for (Box child : childs) { child.x = x; child.y = yCursor; yCursor += child.height; } }- Specified by:
calculateAnchorsin classBox
-