本文整理汇总了Java中org.w3c.dom.svg.SVGLength类的典型用法代码示例。如果您正苦于以下问题:Java SVGLength类的具体用法?Java SVGLength怎么用?Java SVGLength使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SVGLength类属于org.w3c.dom.svg包,在下文中一共展示了SVGLength类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getUnderlyingValue
import org.w3c.dom.svg.SVGLength; //导入依赖的package包/类
/**
* Returns the base value of the attribute as an {@link AnimatableValue}.
*/
public AnimatableValue getUnderlyingValue(AnimationTarget target) {
SVGLengthList ll = getBaseVal();
int n = ll.getNumberOfItems();
short[] types = new short[n];
float[] values = new float[n];
for (int i = 0; i < n; i++) {
SVGLength l = ll.getItem(i);
types[i] = l.getUnitType();
values[i] = l.getValueInSpecifiedUnits();
}
return new AnimatableLengthListValue
(target, types, values,
target.getPercentageInterpretation
(getNamespaceURI(), getLocalName(), false));
}
示例2: svgToObjectBoundingBox
import org.w3c.dom.svg.SVGLength; //导入依赖的package包/类
/**
* Returns the specified value with the specified direction in
* objectBoundingBox units.
*
* @param value the value
* @param type the type of the value
* @param d the direction of the value
* @param ctx the context used to resolve relative value
*/
public static float svgToObjectBoundingBox(float value,
short type,
short d,
Context ctx) {
switch (type) {
case SVGLength.SVG_LENGTHTYPE_NUMBER:
// as is
return value;
case SVGLength.SVG_LENGTHTYPE_PERCENTAGE:
// If a percentage value is used, it is converted to a
// 'bounding box' space coordinate by division by 100
return value / 100f;
case SVGLength.SVG_LENGTHTYPE_PX:
case SVGLength.SVG_LENGTHTYPE_MM:
case SVGLength.SVG_LENGTHTYPE_CM:
case SVGLength.SVG_LENGTHTYPE_IN:
case SVGLength.SVG_LENGTHTYPE_PT:
case SVGLength.SVG_LENGTHTYPE_PC:
case SVGLength.SVG_LENGTHTYPE_EMS:
case SVGLength.SVG_LENGTHTYPE_EXS:
// <!> FIXME: resolve units in userSpace but consider them
// in the objectBoundingBox coordinate system
return svgToUserSpace(value, type, d, ctx);
default:
throw new IllegalArgumentException("Length has unknown type");
}
}
示例3: svgToUserSpace
import org.w3c.dom.svg.SVGLength; //导入依赖的package包/类
/**
* Converts the specified value of the specified type and
* direction to user units.
*
* @param v the value to convert
* @param type the type of the value
* @param d HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTH
* @param ctx the context used to resolve relative value
*/
public static float svgToUserSpace(float v,
short type,
short d,
Context ctx) {
switch (type) {
case SVGLength.SVG_LENGTHTYPE_NUMBER:
case SVGLength.SVG_LENGTHTYPE_PX:
return v;
case SVGLength.SVG_LENGTHTYPE_MM:
return (v / ctx.getPixelUnitToMillimeter());
case SVGLength.SVG_LENGTHTYPE_CM:
return (v * 10f / ctx.getPixelUnitToMillimeter());
case SVGLength.SVG_LENGTHTYPE_IN:
return (v * 25.4f / ctx.getPixelUnitToMillimeter());
case SVGLength.SVG_LENGTHTYPE_PT:
return (v * 25.4f / (72f * ctx.getPixelUnitToMillimeter()));
case SVGLength.SVG_LENGTHTYPE_PC:
return (v * 25.4f / (6f * ctx.getPixelUnitToMillimeter()));
case SVGLength.SVG_LENGTHTYPE_EMS:
return emsToPixels(v, d, ctx);
case SVGLength.SVG_LENGTHTYPE_EXS:
return exsToPixels(v, d, ctx);
case SVGLength.SVG_LENGTHTYPE_PERCENTAGE:
return percentagesToPixels(v, d, ctx);
default:
throw new IllegalArgumentException("Length has unknown type");
}
}
示例4: userSpaceToSVG
import org.w3c.dom.svg.SVGLength; //导入依赖的package包/类
/**
* Converts the specified value of the specified type and
* direction to SVG units.
*
* @param v the value to convert
* @param type the type of the value
* @param d HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTH
* @param ctx the context used to resolve relative value
*/
public static float userSpaceToSVG(float v,
short type,
short d,
Context ctx) {
switch (type) {
case SVGLength.SVG_LENGTHTYPE_NUMBER:
case SVGLength.SVG_LENGTHTYPE_PX:
return v;
case SVGLength.SVG_LENGTHTYPE_MM:
return (v * ctx.getPixelUnitToMillimeter());
case SVGLength.SVG_LENGTHTYPE_CM:
return (v * ctx.getPixelUnitToMillimeter() / 10f);
case SVGLength.SVG_LENGTHTYPE_IN:
return (v * ctx.getPixelUnitToMillimeter() / 25.4f);
case SVGLength.SVG_LENGTHTYPE_PT:
return (v * (72f * ctx.getPixelUnitToMillimeter()) / 25.4f);
case SVGLength.SVG_LENGTHTYPE_PC:
return (v * (6f * ctx.getPixelUnitToMillimeter()) / 25.4f);
case SVGLength.SVG_LENGTHTYPE_EMS:
return pixelsToEms(v, d, ctx);
case SVGLength.SVG_LENGTHTYPE_EXS:
return pixelsToExs(v, d, ctx);
case SVGLength.SVG_LENGTHTYPE_PERCENTAGE:
return pixelsToPercentages(v, d, ctx);
default:
throw new IllegalArgumentException("Length has unknown type");
}
}
示例5: AbstractSVGLength
import org.w3c.dom.svg.SVGLength; //导入依赖的package包/类
/**
* Creates a new AbstractSVGLength.
*/
public AbstractSVGLength(short direction) {
context = new DefaultContext();
this.direction = direction;
this.value = 0.0f;
this.unitType = SVGLength.SVG_LENGTHTYPE_NUMBER;
}
示例6: getValueAsString
import org.w3c.dom.svg.SVGLength; //导入依赖的package包/类
/**
* <b>DOM</b>: Implements {@link SVGLength#getValueAsString()}.
*/
public String getValueAsString() {
revalidate();
if (unitType == SVGLength.SVG_LENGTHTYPE_UNKNOWN) {
return "";
}
return Float.toString(value) + UNITS[unitType];
}
示例7: getItem
import org.w3c.dom.svg.SVGLength; //导入依赖的package包/类
/**
* <b>DOM</b>: Implements {@link SVGLengthList#getItem(int)}.
*/
public SVGLength getItem(int index) throws DOMException {
if (hasAnimVal) {
return super.getItem(index);
}
return getBaseVal().getItem(index);
}
示例8: initialize
import org.w3c.dom.svg.SVGLength; //导入依赖的package包/类
/**
* <b>DOM</b>: Implements {@link SVGLengthList#initialize(SVGLength)}.
*/
public SVGLength initialize(SVGLength newItem)
throws DOMException, SVGException {
throw element.createDOMException
(DOMException.NO_MODIFICATION_ALLOWED_ERR,
"readonly.length.list", null);
}
示例9: insertItemBefore
import org.w3c.dom.svg.SVGLength; //导入依赖的package包/类
/**
* <b>DOM</b>: Implements {@link
* SVGLengthList#insertItemBefore(SVGLength, int)}.
*/
public SVGLength insertItemBefore(SVGLength newItem, int index)
throws DOMException, SVGException {
throw element.createDOMException
(DOMException.NO_MODIFICATION_ALLOWED_ERR,
"readonly.length.list", null);
}
示例10: replaceItem
import org.w3c.dom.svg.SVGLength; //导入依赖的package包/类
/**
* <b>DOM</b>: Implements {@link
* SVGLengthList#replaceItem(SVGLength, int)}.
*/
public SVGLength replaceItem(SVGLength newItem, int index)
throws DOMException, SVGException {
throw element.createDOMException
(DOMException.NO_MODIFICATION_ALLOWED_ERR,
"readonly.length.list", null);
}
示例11: checkItemType
import org.w3c.dom.svg.SVGLength; //导入依赖的package包/类
/**
* Asserts that the given item is an {@link SVGLengthList}.
*/
protected void checkItemType(Object newItem) throws SVGException {
if (!(newItem instanceof SVGLength)) {
createSVGException(SVGException.SVG_WRONG_TYPE_ERR,
"expected.length", null);
}
}
示例12: getBaseVal
import org.w3c.dom.svg.SVGLength; //导入依赖的package包/类
/**
* <b>DOM</b>: Implements {@link SVGAnimatedLength#getBaseVal()}.
*/
public SVGLength getBaseVal() {
if (baseVal == null) {
baseVal = new BaseSVGLength(direction);
}
return baseVal;
}
示例13: getAnimVal
import org.w3c.dom.svg.SVGLength; //导入依赖的package包/类
/**
* <b>DOM</b>: Implements {@link SVGAnimatedLength#getAnimVal()}.
*/
public SVGLength getAnimVal() {
if (animVal == null) {
animVal = new AnimSVGLength(direction);
}
return animVal;
}
示例14: getCheckedValue
import org.w3c.dom.svg.SVGLength; //导入依赖的package包/类
/**
* Gets the current animated length value. If the attribute is missing
* or malformed, an exception is thrown.
*/
public float getCheckedValue() {
if (hasAnimVal) {
if (animVal == null) {
animVal = new AnimSVGLength(direction);
}
if (nonNegative && animVal.value < 0) {
throw new LiveAttributeException
(element, localName,
LiveAttributeException.ERR_ATTRIBUTE_NEGATIVE,
animVal.getValueAsString());
}
return animVal.getValue();
} else {
if (baseVal == null) {
baseVal = new BaseSVGLength(direction);
}
baseVal.revalidate();
if (baseVal.missing) {
throw new LiveAttributeException
(element, localName,
LiveAttributeException.ERR_ATTRIBUTE_MISSING, null);
} else if (baseVal.unitType ==
SVGLength.SVG_LENGTHTYPE_UNKNOWN) {
throw new LiveAttributeException
(element, localName,
LiveAttributeException.ERR_ATTRIBUTE_MALFORMED,
baseVal.getValueAsString());
}
if (nonNegative && baseVal.value < 0) {
throw new LiveAttributeException
(element, localName,
LiveAttributeException.ERR_ATTRIBUTE_NEGATIVE,
baseVal.getValueAsString());
}
return baseVal.getValue();
}
}
示例15: getUnderlyingValue
import org.w3c.dom.svg.SVGLength; //导入依赖的package包/类
/**
* Returns the base value of the attribute as an {@link AnimatableValue}.
*/
public AnimatableValue getUnderlyingValue(AnimationTarget target) {
SVGLength base = getBaseVal();
return new AnimatableLengthValue
(target, base.getUnitType(), base.getValueInSpecifiedUnits(),
target.getPercentageInterpretation
(getNamespaceURI(), getLocalName(), false));
}