//int h = this.propertyList.get("height").getLength().mvalue();
// use specified line-height then ignore dimension in height direction
boolean hasLH = false; //propertyList.get("line-height").getSpecifiedValue() != null;
Length len;
int bpd = -1;
int ipd = -1;
if (hasLH) {
bpd = fobj.getLineHeight().getOptimum(this).getLength().getValue(this);
} else {
// this property does not apply when the line-height applies
// isn't the block-progression-dimension always in the same
// direction as the line height?
len = fobj.getBlockProgressionDimension().getOptimum(this).getLength();
if (len.getEnum() != EN_AUTO) {
bpd = len.getValue(this);
} else {
len = fobj.getHeight();
if (len.getEnum() != EN_AUTO) {
bpd = len.getValue(this);
}
}
}
len = fobj.getInlineProgressionDimension().getOptimum(this).getLength();
if (len.getEnum() != EN_AUTO) {
ipd = len.getValue(this);
} else {
len = fobj.getWidth();
if (len.getEnum() != EN_AUTO) {
ipd = len.getValue(this);
}
}
// if auto then use the intrinsic size of the content scaled
// to the content-height and content-width
int cwidth = -1;
int cheight = -1;
len = fobj.getContentWidth();
if (len.getEnum() != EN_AUTO) {
if (len.getEnum() == EN_SCALE_TO_FIT) {
if (ipd != -1) {
cwidth = ipd;
}
} else {
cwidth = len.getValue(this);
}
}
len = fobj.getContentHeight();
if (len.getEnum() != EN_AUTO) {
if (len.getEnum() == EN_SCALE_TO_FIT) {
if (bpd != -1) {
cheight = bpd;
}
} else {
cheight = len.getValue(this);
}
}
int scaling = fobj.getScaling();
if ((scaling == EN_UNIFORM) || (cwidth == -1) || cheight == -1) {