private Value parseColor12Function(LexicalUnit lu, Value v) { String functionName = lu.getFunctionName(); if (functionName.equalsIgnoreCase(ICCNamedColor.ICC_NAMED_COLOR_FUNCTION)) { return createICCNamedColorValue(lu, v); } else if (functionName.equalsIgnoreCase(CIELabColor.CIE_LAB_COLOR_FUNCTION)) { return createCIELabColorValue(lu, v); } else if (functionName.equalsIgnoreCase(CIELCHColor.CIE_LCH_COLOR_FUNCTION)) { return createCIELCHColorValue(lu, v); } else if (functionName.equalsIgnoreCase(DeviceColor.DEVICE_CMYK_COLOR_FUNCTION)) { return createDeviceColorValue(lu, v, 4); } else if (functionName.equalsIgnoreCase(DeviceColor.DEVICE_RGB_COLOR_FUNCTION)) { return createDeviceColorValue(lu, v, 3); } else if (functionName.equalsIgnoreCase(DeviceColor.DEVICE_GRAY_COLOR_FUNCTION)) { return createDeviceColorValue(lu, v, 1); } else if (functionName.equalsIgnoreCase(DeviceColor.DEVICE_NCHANNEL_COLOR_FUNCTION)) { return createDeviceColorValue(lu, v, 0); } return null; }
private Value parseColorFunction(LexicalUnit lu, Value v) { String functionName = lu.getFunctionName(); if (functionName.equalsIgnoreCase(ICCColor.ICC_COLOR_FUNCTION)) { return createICCColorValue(lu, v); } return parseColor12Function(lu, v); }
private void expectNonNull(LexicalUnit lu) { if (lu == null) { throw createInvalidLexicalUnitDOMException((short)-1); } }
private Value createCIELabColorValue(LexicalUnit lu, Value v) { lu = lu.getParameters(); float l = getColorValue(lu); lu = lu.getNextLexicalUnit(); expectComma(lu); lu = lu.getNextLexicalUnit(); float a = getColorValue(lu); lu = lu.getNextLexicalUnit(); expectComma(lu); lu = lu.getNextLexicalUnit(); float b = getColorValue(lu); CIELabColor icc = new CIELabColor(l, a, b); lu = lu.getNextLexicalUnit(); return icc; }
private Value createICCColorValue(LexicalUnit lu, Value v) { lu = lu.getParameters(); expectIdent(lu); ICCColor icc = new ICCColor(lu.getStringValue()); lu = lu.getNextLexicalUnit(); while (lu != null) { expectComma(lu); lu = lu.getNextLexicalUnit(); icc.append(getColorValue(lu)); lu = lu.getNextLexicalUnit(); } return icc; }
private Value createDeviceColorValue(LexicalUnit lu, Value v, int expectedComponents) { lu = lu.getParameters(); boolean nChannel = (expectedComponents <= 0); DeviceColor col = new DeviceColor(nChannel); col.append(getColorValue(lu)); LexicalUnit lastUnit = lu; lu = lu.getNextLexicalUnit(); while (lu != null) { expectComma(lu); lu = lu.getNextLexicalUnit(); col.append(getColorValue(lu)); lastUnit = lu; lu = lu.getNextLexicalUnit(); } if (!nChannel && expectedComponents != col.getNumberOfColors()) { throw createInvalidLexicalUnitDOMException(lastUnit.getLexicalUnitType()); } return col; }
private Value createICCNamedColorValue(LexicalUnit lu, Value v) { lu = lu.getParameters(); expectIdent(lu); String profileName = lu.getStringValue(); lu = lu.getNextLexicalUnit(); expectComma(lu); lu = lu.getNextLexicalUnit(); expectIdent(lu); String colorName = lu.getStringValue(); ICCNamedColor icc = new ICCNamedColor(profileName, colorName); lu = lu.getNextLexicalUnit(); return icc; }
/** * Creates a float value usable as a component of an RGBColor. */ protected float getColorValue(LexicalUnit lu) { expectNonNull(lu); switch (lu.getLexicalUnitType()) { case LexicalUnit.SAC_INTEGER: return lu.getIntegerValue(); case LexicalUnit.SAC_REAL: return lu.getFloatValue(); } throw createInvalidLexicalUnitDOMException(lu.getLexicalUnitType()); } }
throw createInvalidLexicalUnitDOMException (lu.getLexicalUnitType()); result.append(v); Value colorValue = parseColorFunction(lu, v); if (colorValue != null) { result.append(colorValue);
return value; Value t = super.computeValue(elt, pseudo, engine, idx, sm, v); if (t != v) { ListValue result = new ListValue(' '); return super.computeValue(elt, pseudo, engine, idx, sm, value);
return super.createValue(lu, engine); case LexicalUnit.SAC_URI: Value v = super.createValue(lu, engine); if (v.getCssValueType() == CSSValue.CSS_CUSTOM) { ListValue lv = (ListValue)v;
private Value createCIELCHColorValue(LexicalUnit lu, Value v) { lu = lu.getParameters(); float l = getColorValue(lu); lu = lu.getNextLexicalUnit(); expectComma(lu); lu = lu.getNextLexicalUnit(); float c = getColorValue(lu); lu = lu.getNextLexicalUnit(); expectComma(lu); lu = lu.getNextLexicalUnit(); float h = getColorValue(lu); CIELCHColor icc = new CIELCHColor(l, c, h); lu = lu.getNextLexicalUnit(); return icc; }
private Value createICCColorValue(LexicalUnit lu, Value v) { lu = lu.getParameters(); expectIdent(lu); ICCColor icc = new ICCColor(lu.getStringValue()); lu = lu.getNextLexicalUnit(); while (lu != null) { expectComma(lu); lu = lu.getNextLexicalUnit(); icc.append(getColorValue(lu)); lu = lu.getNextLexicalUnit(); } return icc; }
private Value createDeviceColorValue(LexicalUnit lu, Value v, int expectedComponents) { lu = lu.getParameters(); boolean nChannel = (expectedComponents <= 0); DeviceColor col = new DeviceColor(nChannel); col.append(getColorValue(lu)); LexicalUnit lastUnit = lu; lu = lu.getNextLexicalUnit(); while (lu != null) { expectComma(lu); lu = lu.getNextLexicalUnit(); col.append(getColorValue(lu)); lastUnit = lu; lu = lu.getNextLexicalUnit(); } if (!nChannel && expectedComponents != col.getNumberOfColors()) { throw createInvalidLexicalUnitDOMException(lastUnit.getLexicalUnitType()); } return col; }
private Value createICCNamedColorValue(LexicalUnit lu, Value v) { lu = lu.getParameters(); expectIdent(lu); String profileName = lu.getStringValue(); lu = lu.getNextLexicalUnit(); expectComma(lu); lu = lu.getNextLexicalUnit(); expectIdent(lu); String colorName = lu.getStringValue(); ICCNamedColor icc = new ICCNamedColor(profileName, colorName); lu = lu.getNextLexicalUnit(); return icc; }
/** * Creates a float value usable as a component of an RGBColor. */ protected float getColorValue(LexicalUnit lu) { expectNonNull(lu); switch (lu.getLexicalUnitType()) { case LexicalUnit.SAC_INTEGER: return lu.getIntegerValue(); case LexicalUnit.SAC_REAL: return lu.getFloatValue(); } throw createInvalidLexicalUnitDOMException(lu.getLexicalUnitType()); } }
throw createInvalidLexicalUnitDOMException (lu.getLexicalUnitType()); result.append(v); Value colorValue = parseColorFunction(lu, v); if (colorValue != null) { result.append(colorValue);
return value; Value t = super.computeValue(elt, pseudo, engine, idx, sm, v); if (t != v) { ListValue result = new ListValue(' '); return super.computeValue(elt, pseudo, engine, idx, sm, value);
return super.createValue(lu, engine); case LexicalUnit.SAC_URI: Value v = super.createValue(lu, engine); if (v.getCssValueType() == CSSValue.CSS_CUSTOM) { ListValue lv = (ListValue)v;
private Value parseColor12Function(LexicalUnit lu, Value v) { String functionName = lu.getFunctionName(); if (functionName.equalsIgnoreCase(ICCNamedColor.ICC_NAMED_COLOR_FUNCTION)) { return createICCNamedColorValue(lu, v); } else if (functionName.equalsIgnoreCase(CIELabColor.CIE_LAB_COLOR_FUNCTION)) { return createCIELabColorValue(lu, v); } else if (functionName.equalsIgnoreCase(CIELCHColor.CIE_LCH_COLOR_FUNCTION)) { return createCIELCHColorValue(lu, v); } else if (functionName.equalsIgnoreCase(DeviceColor.DEVICE_CMYK_COLOR_FUNCTION)) { return createDeviceColorValue(lu, v, 4); } else if (functionName.equalsIgnoreCase(DeviceColor.DEVICE_RGB_COLOR_FUNCTION)) { return createDeviceColorValue(lu, v, 3); } else if (functionName.equalsIgnoreCase(DeviceColor.DEVICE_GRAY_COLOR_FUNCTION)) { return createDeviceColorValue(lu, v, 1); } else if (functionName.equalsIgnoreCase(DeviceColor.DEVICE_NCHANNEL_COLOR_FUNCTION)) { return createDeviceColorValue(lu, v, 0); } return null; }