Package org.loboevolution.html.renderer
Class RBlockViewport
java.lang.Object
org.loboevolution.html.renderer.BaseRenderable
org.loboevolution.html.renderer.RRectangle
org.loboevolution.html.renderer.BaseBoundableRenderable
org.loboevolution.html.renderer.BaseRCollection
org.loboevolution.html.renderer.RBlockViewport
- All Implemented Interfaces:
BoundableRenderable
,RCollection
,Renderable
A substantial portion of the HTML rendering logic of the package can be found
in this class. This class is in charge of laying out the DOM subtree of a
node, usually on behalf of an RBlock. It creates a renderer subtree
consisting of RLine's or RBlock's. RLine's in turn contain RWord's and so on.
This class also happens to be used as an RBlock scrollable viewport.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final FrameContext
protected final HtmlRendererContext
static final Insets
Constant ZERO_INSETSFields inherited from class org.loboevolution.html.renderer.BaseBoundableRenderable
layoutUpTreeCanBeInvalidated, modelNode, originalParent, parent, SELECTION_COLOR, SELECTION_XOR
Fields inherited from interface org.loboevolution.html.renderer.Renderable
EMPTY_ARRAY
-
Constructor Summary
ConstructorsConstructorDescriptionRBlockViewport
(RBlockInfo info, RenderableContainer container, RCollection parent) Constructs an HtmlBlockLayout. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addLineBreak
(ModelNode startNode, int breakType) addLineBreak.void
addRenderableToLineCheckStyle
(RElement renderable, HTMLElementImpl element) Checks property 'float' and in some cases attribute 'align'.void
Applies any horizonal aLignment.void
Applies vertical alignment.getClipBounds.getExportableFloatingInfo.int
getFirstBaselineOffset.int
getFirstLineHeight.getLowestRenderableSpot
(int x, int y) getLowestRenderableSpot.getRenderable
(int x, int y) getRenderable.getRenderable
(Point point) getRenderable.getRenderables.getRenderables
(int pointx, int pointy) getRenderables.int
getVisualHeight.int
getVisualWidth.void
invalidateLayoutLocal.boolean
isContainedByNode.void
layout
(int desiredWidth, int desiredHeight, Insets paddingInsets, int yLimit, FloatingBounds floatBounds, boolean sizeOnly) Builds the layout/renderer tree from scratch.void
layoutChildFlex
(HTMLElementImpl markupElement) layoutChildFlex.final void
layoutList
(HTMLElementImpl markupElement) layoutList.final void
layoutListItem
(HTMLElementImpl markupElement) layoutListItem.void
layoutMarkup
(NodeImpl node) layoutMarkup.final void
layoutRBlock
(HTMLElementImpl markupElement) layoutRBlock.void
layoutRFlex
(HTMLElementImpl markupElement) layoutRFlex.void
layoutRInlineBlock
(HTMLElementImpl markupElement) layoutRInlineBlock.final void
layoutRTable
(HTMLElementImpl markupElement) layoutRTable.boolean
onDoubleClick
(MouseEvent event, int x, int y) onDoubleClick.boolean
onMouseClick
(MouseEvent event, int x, int y) onMouseClick.boolean
onMouseDisarmed
(MouseEvent event) onMouseDisarmed.boolean
onMousePressed
(MouseEvent event, int x, int y) onMousePressed.boolean
onMouseReleased
(MouseEvent event, int x, int y) onMouseReleased.void
paint.void
positionDelayed.final void
positionRElement
(Element markupElement, RElement renderable, boolean usesAlignAttribute, boolean obeysFloats, boolean alignCenterAttribute) positionRElement.toString()
Methods inherited from class org.loboevolution.html.renderer.BaseRCollection
blur, extractSelectionText, focus, getClipBoundsWithoutInsets, getDeclaredHeightImpl, getDeclaredWidthImpl, invalidateLayoutDeep, onMouseMoved, onMouseOut, onRightClick, paintSelection, updateWidgetBounds
Methods inherited from class org.loboevolution.html.renderer.BaseBoundableRenderable
contains, getBlockBackgroundColor, getBounds, getGUIPoint, getModelNode, getOrigin, getOriginalOrCurrentParent, getOriginalParent, getOriginRelativeTo, getOriginRelativeToAbs, getOriginRelativeToNoScroll, getParent, getRectangle, getRenderablePoint, getSize, getVisualBounds, invalidateLayoutUpTree, isDelegated, isValid, markLayoutValid, onMouseScroll, paintTranslated, relayout, relayoutIfValid, repaint, repaint, setOriginalParent, setParent
Methods inherited from class org.loboevolution.html.renderer.RRectangle
setBounds, setOrigin
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.loboevolution.html.renderer.BoundableRenderable
contains, getBounds, getGUIPoint, getHeight, getModelNode, getOrdinal, getOrigin, getOriginalOrCurrentParent, getOriginalParent, getOriginRelativeTo, getOriginRelativeToAbs, getOriginRelativeToNoScroll, getParent, getRectangle, getRenderablePoint, getSize, getVisualBounds, getWidth, getX, getY, getZIndex, invalidateLayoutUpTree, isDelegated, onMouseScroll, paintTranslated, relayout, repaint, repaint, setBounds, setDelegator, setHeight, setOrdinal, setOrigin, setOriginalParent, setParent, setWidth, setX, setY
Methods inherited from interface org.loboevolution.html.renderer.Renderable
findHtmlRenderable, isFixed
-
Field Details
-
rendererContext
-
frameContext
-
ZERO_INSETS
Constant ZERO_INSETS
-
-
Constructor Details
-
RBlockViewport
Constructs an HtmlBlockLayout.- Parameters:
info
- aRBlockInfo
object.
-
-
Method Details
-
addLineBreak
addLineBreak.
-
addRenderableToLineCheckStyle
Checks property 'float' and in some cases attribute 'align'.- Parameters:
renderable
- aRElement
object.element
- aHTMLElementImpl
object.
-
alignX
Applies any horizonal aLignment. It may adjust height if necessary. -
alignY
Applies vertical alignment. -
getExportableFloatingInfo
getExportableFloatingInfo.
- Returns:
- a
FloatingInfo
object.
-
getFirstBaselineOffset
public int getFirstBaselineOffset()getFirstBaselineOffset.
- Returns:
- a
Integer
object.
-
getFirstLineHeight
public int getFirstLineHeight()getFirstLineHeight.
- Returns:
- a
Integer
object.
-
getLowestRenderableSpot
getLowestRenderableSpot.
- Parameters:
x
- aInteger
object.y
- aInteger
object.- Returns:
- a
RenderableSpot
object.
-
getRenderable
getRenderable.
- Specified by:
getRenderable
in interfaceRCollection
- Overrides:
getRenderable
in classBaseRCollection
- Parameters:
x
- aInteger
object.y
- aInteger
object.- Returns:
- a
BoundableRenderable
object.
-
getRenderable
getRenderable.
- Parameters:
point
- aPoint
object.- Returns:
- a
BoundableRenderable
object.
-
getRenderables
getRenderables.
- Returns:
- a
List
object.
-
getRenderables
getRenderables.
-
invalidateLayoutLocal
public void invalidateLayoutLocal()invalidateLayoutLocal.
- Specified by:
invalidateLayoutLocal
in classBaseBoundableRenderable
-
isContainedByNode
public boolean isContainedByNode()isContainedByNode.
- Returns:
- a boolean.
-
layout
public void layout(int desiredWidth, int desiredHeight, Insets paddingInsets, int yLimit, FloatingBounds floatBounds, boolean sizeOnly) Builds the layout/renderer tree from scratch. Note: Returned dimension needs to be actual size needed for rendered content, not the available container size. This is relied upon by table layout.- Parameters:
desiredWidth
- aInteger
object.desiredHeight
- aInteger
object.paddingInsets
- aInsets
object.yLimit
- If other than -1, layout will throw SizeExceededException in the event that the layout goes beyond this y-coordinate point.floatBounds
- aFloatingBounds
object.sizeOnly
- a boolean.
-
layoutList
layoutList.
- Parameters:
markupElement
- aHTMLElementImpl
object.
-
layoutListItem
layoutListItem.
- Parameters:
markupElement
- aHTMLElementImpl
object.
-
layoutMarkup
layoutMarkup.
- Parameters:
node
- aNodeImpl
object.
-
layoutRBlock
layoutRBlock.
- Parameters:
markupElement
- aHTMLElementImpl
object.
-
layoutRTable
layoutRTable.
- Parameters:
markupElement
- aHTMLElementImpl
object.
-
layoutRInlineBlock
layoutRInlineBlock.
- Parameters:
markupElement
- aHTMLElementImpl
object.
-
layoutRFlex
layoutRFlex.
- Parameters:
markupElement
- aHTMLElementImpl
object.
-
layoutChildFlex
layoutChildFlex.
- Parameters:
markupElement
- aHTMLElementImpl
object.
-
onDoubleClick
onDoubleClick.
- Specified by:
onDoubleClick
in interfaceBoundableRenderable
- Overrides:
onDoubleClick
in classBaseBoundableRenderable
- Parameters:
event
- aMouseEvent
object.x
- aInteger
object.y
- aInteger
object.- Returns:
- a boolean.
-
onMouseClick
onMouseClick.
- Specified by:
onMouseClick
in interfaceBoundableRenderable
- Overrides:
onMouseClick
in classBaseBoundableRenderable
- Parameters:
event
- aMouseEvent
object.x
- aInteger
object.y
- aInteger
object.- Returns:
- a boolean.
-
onMouseDisarmed
onMouseDisarmed.
- Specified by:
onMouseDisarmed
in interfaceBoundableRenderable
- Overrides:
onMouseDisarmed
in classBaseBoundableRenderable
- Parameters:
event
- aMouseEvent
object.- Returns:
- a boolean.
-
onMousePressed
onMousePressed.
- Specified by:
onMousePressed
in interfaceBoundableRenderable
- Overrides:
onMousePressed
in classBaseBoundableRenderable
- Parameters:
event
- aMouseEvent
object.x
- aInteger
object.y
- aInteger
object.- Returns:
- a boolean.
-
onMouseReleased
onMouseReleased.
- Specified by:
onMouseReleased
in interfaceBoundableRenderable
- Overrides:
onMouseReleased
in classBaseBoundableRenderable
- Parameters:
event
- aMouseEvent
object.x
- aInteger
object.y
- aInteger
object.- Returns:
- a boolean.
-
paint
paint.
- Parameters:
gIn
- aGraphics
object.
-
positionRElement
public final void positionRElement(Element markupElement, RElement renderable, boolean usesAlignAttribute, boolean obeysFloats, boolean alignCenterAttribute) positionRElement.
-
toString
-
getClipBounds
getClipBounds.
- Returns:
- a
Rectangle
object.
-
getVisualHeight
public int getVisualHeight()getVisualHeight.
- Specified by:
getVisualHeight
in interfaceBoundableRenderable
- Overrides:
getVisualHeight
in classBaseBoundableRenderable
- Returns:
- a
Integer
object.
-
getVisualWidth
public int getVisualWidth()getVisualWidth.
- Specified by:
getVisualWidth
in interfaceBoundableRenderable
- Overrides:
getVisualWidth
in classBaseBoundableRenderable
- Returns:
- a
Integer
object.
-
positionDelayed
public void positionDelayed()positionDelayed.
-