Add support for paddingVertical, paddingHorizontal, borderVertical, borderHorizontal
* implement padding & border as arrays of values * apply padding & border with the correct priority (e.g. left, horizontal, all) * update transpiler & tests
This commit is contained in:
@@ -53,6 +53,26 @@ public class CSSNode {
|
||||
Float.NaN
|
||||
};
|
||||
|
||||
private final float[] mPadding = new float[] {
|
||||
Float.NaN,
|
||||
Float.NaN,
|
||||
Float.NaN,
|
||||
Float.NaN,
|
||||
Float.NaN,
|
||||
Float.NaN,
|
||||
Float.NaN
|
||||
};
|
||||
|
||||
private final float[] mBorder = new float[] {
|
||||
Float.NaN,
|
||||
Float.NaN,
|
||||
Float.NaN,
|
||||
Float.NaN,
|
||||
Float.NaN,
|
||||
Float.NaN,
|
||||
Float.NaN
|
||||
};
|
||||
|
||||
// Only one copy kept around to keep from allocating a bunch of MeasureOutput objects
|
||||
// NOT THREAD SAFE! NOT RE-ENTRANT SAFE!
|
||||
private static final MeasureOutput MEASURE_OUTPUT = new MeasureOutput();
|
||||
@@ -265,6 +285,14 @@ public class CSSNode {
|
||||
setSpacing(mMargin, spacingType, margin, style.margin);
|
||||
}
|
||||
|
||||
public void setPadding(int spacingType, float padding) {
|
||||
setSpacing(mPadding, spacingType, padding, style.padding);
|
||||
}
|
||||
|
||||
public void setBorder(int spacingType, float border) {
|
||||
setSpacing(mBorder, spacingType, border, style.border);
|
||||
}
|
||||
|
||||
protected void setSpacing(float[] spacingDef, int spacingType, float spacing, float[] cssStyle) {
|
||||
if (!valuesEqual(spacingDef[spacingType], spacing)) {
|
||||
spacingDef[spacingType] = spacing;
|
||||
@@ -292,34 +320,6 @@ public class CSSNode {
|
||||
}
|
||||
}
|
||||
|
||||
public void setPaddingTop(float paddingTop) {
|
||||
if (!valuesEqual(style.paddingTop, paddingTop)) {
|
||||
style.paddingTop = paddingTop;
|
||||
dirty();
|
||||
}
|
||||
}
|
||||
|
||||
public void setPaddingBottom(float paddingBottom) {
|
||||
if (!valuesEqual(style.paddingBottom, paddingBottom)) {
|
||||
style.paddingBottom = paddingBottom;
|
||||
dirty();
|
||||
}
|
||||
}
|
||||
|
||||
public void setPaddingLeft(float paddingLeft) {
|
||||
if (!valuesEqual(style.paddingLeft, paddingLeft)) {
|
||||
style.paddingLeft = paddingLeft;
|
||||
dirty();
|
||||
}
|
||||
}
|
||||
|
||||
public void setPaddingRight(float paddingRight) {
|
||||
if (!valuesEqual(style.paddingRight, paddingRight)) {
|
||||
style.paddingRight = paddingRight;
|
||||
dirty();
|
||||
}
|
||||
}
|
||||
|
||||
public void setPositionTop(float positionTop) {
|
||||
if (!valuesEqual(style.positionTop, positionTop)) {
|
||||
style.positionTop = positionTop;
|
||||
@@ -348,34 +348,6 @@ public class CSSNode {
|
||||
}
|
||||
}
|
||||
|
||||
public void setBorderTop(float borderTop) {
|
||||
if (!valuesEqual(style.borderTop, borderTop)) {
|
||||
style.borderTop = borderTop;
|
||||
dirty();
|
||||
}
|
||||
}
|
||||
|
||||
public void setBorderBottom(float borderBottom) {
|
||||
if (!valuesEqual(style.borderBottom, borderBottom)) {
|
||||
style.borderBottom = borderBottom;
|
||||
dirty();
|
||||
}
|
||||
}
|
||||
|
||||
public void setBorderLeft(float borderLeft) {
|
||||
if (!valuesEqual(style.borderLeft, borderLeft)) {
|
||||
style.borderLeft = borderLeft;
|
||||
dirty();
|
||||
}
|
||||
}
|
||||
|
||||
public void setBorderRight(float borderRight) {
|
||||
if (!valuesEqual(style.borderRight, borderRight)) {
|
||||
style.borderRight = borderRight;
|
||||
dirty();
|
||||
}
|
||||
}
|
||||
|
||||
public void setStyleWidth(float width) {
|
||||
if (!valuesEqual(style.width, width)) {
|
||||
style.width = width;
|
||||
|
Reference in New Issue
Block a user