Class Div<T extends Div>
- Type Parameters:
T- 链式调用返还值,Div的子类
- All Implemented Interfaces:
ElementSplit, RenderPrepare
- Direct Known Subclasses:
AreaHolderBlock, BR, Canvas, Img, PageAreaFiller, Paragraph
每个继承Div的对象都不必须提供泛型参数T,用于简化链式调用。
绘制行为详见渲染器:DivRender
- Since:
- 2020-02-03 12:46:15
- Author:
- 权观宇
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbox()获取模型区域大小clone()克隆DivcontentSplitAdjust(double sHeight, T div1, T div2) 内容分割调整<T extends Div>
TcopyTo(T div) Clone到制定对象获取尺寸获取元素类型名称int[]Double[]int[]获取 边框颜色Double[]获取 边框虚线样式getClear()获取 显示样式getFloat()org.ofdrw.core.basicStructure.pageObj.layer.TypegetLayer()返回 图层getLeft()Double[]获取渲染完成回调事件获取透明度Double[]获取内边距getRight()getTop()getWidth()getX()getY()doubleboolean是否是块级元素元素是否可以拆分boolean是否存在边框boolean判断是否为占位符voidonRenderFinish(ElementRenderFinishHandler renderFinishHandler) 设置渲染完成回调事件static Divplaceholder(double width, double height, AFloat aFloat) 空间占位符static Divplaceholder(Rectangle rec, AFloat aFloat) 空间占位符setBackgroundColor(int[] backgroundColor) 设置背景颜色 RGBsetBackgroundColor(int r, int g, int b) 设置背景颜色 RGBsetBackgroundColor(String color) 设置 背景颜色设置 边框宽度setBorderBottom(Double bottom) setBorderColor(int[] rgb) 设置 边框颜色setBorderColor(int r, int g, int b) 设置边框颜色setBorderColor(String color) 设置 边框颜色setBorderDash(Double... dash) 设置 边框虚线样式setBorderLeft(Double left) setBorderRight(Double right) setBorderTop(Double top) 设置盒式模型的主要属性setDisplay(Display display) 设置 显示样式设置浮动样式setIntegrity(Boolean integrity) setLayer(org.ofdrw.core.basicStructure.pageObj.layer.Type layer) 设置 图层设置 外边距setMarginBottom(Double bottom) setMarginLeft(Double left) setMarginRight(Double right) setMarginTop(Double top) setOpacity(Double opacity) 设置透明度setPadding(Double... padding) 设置 内边距setPaddingBottom(Double bottom) setPaddingLeft(Double left) setPaddingRight(Double right) setPaddingTop(Double top) setPlaceholder(boolean placeholder) 设置是否为 占位符setPosition(Position position) 设置位置Div[]split(double sHeight) 根据给定的高度切分元素toString()double
-
Constructor Details
-
Div
public Div() -
Div
-
Div
public Div(double x, double y, double width, double height) 创建绝对定位的Div对象- Parameters:
x- 固定布局的盒式模型左上角X坐标y- 固定布局的盒式模型左上角y坐标width- 宽度height- 高度
-
-
Method Details
-
isNoBorder
public boolean isNoBorder()是否存在边框- Returns:
- true 不存在;false 存在
-
isBlockElement
public boolean isBlockElement()是否是块级元素块元素将会独占整个段
绝对定位默认不为块级元素
- Returns:
- true 独占; false 共享
-
getOpacity
-
setOpacity
-
getBorderColor
public int[] getBorderColor()获取 边框颜色- Returns:
- 边框颜色 RGB值,null 表示无色。
-
setBorderColor
设置边框颜色- Parameters:
r- 红色值(0~255)g- 绿色值(0~255)b- 蓝色值(0~255)- Returns:
- this
-
setBorderColor
-
setBorderColor
-
getTop
-
setTop
-
getPosition
-
setPosition
-
getBackgroundColor
public int[] getBackgroundColor() -
setBackgroundColor
设置背景颜色 RGB- Parameters:
r- 红色值(0~255)g- 绿色值(0~255)b- 蓝色值(0~255)- Returns:
- this
-
setBackgroundColor
-
setBackgroundColor
设置背景颜色 RGB- Parameters:
backgroundColor- RGB数组- Returns:
- this
-
getWidth
-
setWidth
-
getHeight
-
setHeight
-
getPadding
-
setPadding
设置 内边距根据参数的参数不同设置涉及到了到 上、右、下、左 各部分参数 1个参数,上、右、下、左 都相同 {arr[0], arr[0], arr[0], arr[0]}
2个参数,上和下相同、左和右相同 {arr[0], arr[1], arr[0], arr[1]}
3个参数,上、右、下、左(0) 分别设置 {arr[0], arr[1], arr[2], 0}
4个参数,上、右、下、左 分别设置 {arr[0], arr[1], arr[2], arr[3]}
- Parameters:
padding- 内边距,可变参数。- Returns:
- this
-
getBorder
-
setBorder
设置 边框宽度根据参数的参数不同设置涉及到了到 上、右、下、左 各部分参数 1个参数,上、右、下、左 都相同 {arr[0], arr[0], arr[0], arr[0]}
2个参数,上和下相同、左和右相同 {arr[0], arr[1], arr[0], arr[1]}
3个参数,上、右、下、左(0) 分别设置 {arr[0], arr[1], arr[2], 0}
4个参数,上、右、下、左 分别设置 {arr[0], arr[1], arr[2], arr[3]}
- Parameters:
border- 边框宽度,可变参数。- Returns:
- this
-
setBorderDash
-
getBorderDash
获取 边框虚线样式数组中个元素意义:[虚线偏移量,虚线长度,虚线间隔 ...重复]
- Returns:
- 边框虚线样式,null表示无虚线
-
getMargin
-
setMargin
设置 外边距根据参数的参数不同设置涉及到了到 上、右、下、左 各部分参数 1个参数,上、右、下、左 都相同 {arr[0], arr[0], arr[0], arr[0]}
2个参数,上和下相同、左和右相同 {arr[0], arr[1], arr[0], arr[1]}
3个参数,上、右、下、左(0) 分别设置 {arr[0], arr[1], arr[2], 0}
4个参数,上、右、下、左 分别设置 {arr[0], arr[1], arr[2], arr[3]}
- Parameters:
margin- 外边距,可变参数。- Returns:
- this
-
getMarginTop
-
setMarginTop
-
getMarginRight
-
setMarginRight
-
getMarginBottom
-
setMarginBottom
-
getMarginLeft
-
setMarginLeft
-
getBorderTop
-
setBorderTop
-
getBorderRight
-
setBorderRight
-
getBorderBottom
-
setBorderBottom
-
getBorderLeft
-
setBorderLeft
-
getPaddingTop
-
setPaddingTop
-
getPaddingRight
-
setPaddingRight
-
getPaddingBottom
-
setPaddingBottom
-
getPaddingLeft
-
setPaddingLeft
-
getX
-
setX
-
getY
-
setY
-
setXY
-
setBox
-
getClear
-
setClear
-
getFloat
-
setFloat
设置浮动样式注意:如果需要设置居中,那么还需要同时设置
setClear(Clear)为Clear.none或Clear.right- Parameters:
aFloat- 浮动样式- Returns:
- this
-
getLeft
-
setLeft
-
getRight
-
setRight
-
isIntegrity
-
setIntegrity
-
widthPlus
public double widthPlus()- Returns:
- 额外宽度
-
heightPlus
public double heightPlus()- Returns:
- 额外高度
-
doPrepare
获取尺寸- Specified by:
doPreparein interfaceRenderPrepare- Parameters:
widthLimit- 宽度限制- Returns:
- 元素尺寸
-
box
获取模型区域大小注意:该方法必须在元素内容大小确定的情况才能放回正确的尺寸
也就是说必须在
doPrepare(Double)或是手动设置宽度和高度之后调用才能返还正确值- Returns:
- 模型大小
-
getLayer
public org.ofdrw.core.basicStructure.pageObj.layer.Type getLayer()返回 图层默认为Body
- Returns:
- 图层
-
setLayer
设置 图层- Parameters:
layer- 图层- Returns:
- this
-
isPlaceholder
public boolean isPlaceholder()判断是否为占位符- Returns:
- true 占位符,不参与渲染, false - 非占位符
-
setPlaceholder
设置是否为 占位符- Parameters:
placeholder- true 占位符,不参与渲染, false - 非占位符- Returns:
- this
-
setDisplay
设置 显示样式- Parameters:
display- 显示样式Display.inlineBlock行内联 或Display.block块级- Returns:
- this
-
getDisplay
-
placeholder
-
placeholder
-
clone
-
copyTo
Clone到制定对象- Type Parameters:
T- 泛型参数- Parameters:
div- 目标对象- Returns:
- 克隆复制后的对象
-
split
根据给定的高度切分元素截断元素前必须确定元素的宽度和高度,否则将会抛出异常
元素的分割只作用于竖直方向上,水平方向不做分割每次只会截断1次。
截断的元素在截断出均无margin、border、padding
截断后的内容比截断高度高的多
- Specified by:
splitin interfaceElementSplit- Parameters:
sHeight- 切分高度- Returns:
- 根据给定空间分割之后的新元素
-
contentSplitAdjust
-
elementType
-
getOnRenderFinish
-
onRenderFinish
设置渲染完成回调事件在该处理器中你可以得到元素在OFD容器的中文件位置和对象ID
- Parameters:
renderFinishHandler- 处理器
-
toString
-