java.lang.Object
io.sf.carte.echosvg.ext.awt.image.CompositeRule
- All Implemented Interfaces:
Serializable
This is a typesafe enumeration of the standard Composite rules for the
CompositeRable operation. (over, in, out, atop, xor, arith)
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final CompositeRule
Porter-Duff Source Atop Destination rule.static final CompositeRule
FeBlend Darken rule.static final CompositeRule
Porter-Duff Source In Destination rule.static final CompositeRule
FeBlend Lighten rule.static final CompositeRule
FeBlend Multiply rule.static final CompositeRule
Porter-Duff Source Out Destination rule.static final CompositeRule
Porter-Duff Source Over Destination rule.static final int
Arithmatic rule 'out = k1*i1*i2 + k2*i1 + k3*i2 + k4'.static final int
Porter-Duff src atop rule.static final int
SVG feBlend Darken rulestatic final int
Porter-Duff src in rule.static final int
SVG feBlend Lighten rulestatic final int
SVG feBlend Multiply rulestatic final int
Porter-Duff src out rule.static final int
Porter-Duff src over rule, also used for feBlendnormal
.static final int
SVG feBlend Screen rulestatic final int
Porter-Duff src xor rule.static final CompositeRule
FeBlend Screen rule.static final CompositeRule
Xor rule. -
Method Summary
Modifier and TypeMethodDescriptionstatic CompositeRule
ARITHMETIC
(float k1, float k2, float k3, float k4) Factory to create artithmatic CompositeRules.float[]
int
getRule()
Returns the type of this composite ruletoString()
This is called by the serialization code before it returns an unserialized object.
-
Field Details
-
RULE_OVER
public static final int RULE_OVERPorter-Duff src over rule, also used for feBlendnormal
.- See Also:
-
RULE_IN
public static final int RULE_INPorter-Duff src in rule.- See Also:
-
RULE_OUT
public static final int RULE_OUTPorter-Duff src out rule.- See Also:
-
RULE_ATOP
public static final int RULE_ATOPPorter-Duff src atop rule.- See Also:
-
RULE_XOR
public static final int RULE_XORPorter-Duff src xor rule.- See Also:
-
RULE_ARITHMETIC
public static final int RULE_ARITHMETICArithmatic rule 'out = k1*i1*i2 + k2*i1 + k3*i2 + k4'.- See Also:
-
RULE_MULTIPLY
public static final int RULE_MULTIPLYSVG feBlend Multiply rule- See Also:
-
RULE_SCREEN
public static final int RULE_SCREENSVG feBlend Screen rule- See Also:
-
RULE_DARKEN
public static final int RULE_DARKENSVG feBlend Darken rule- See Also:
-
RULE_LIGHTEN
public static final int RULE_LIGHTENSVG feBlend Lighten rule- See Also:
-
OVER
Porter-Duff Source Over Destination rule. The source is composited over the destination.Fs = 1 and Fd = (1-As), thus: Cd = Cs + Cd*(1-As) Ad = As + Ad*(1-As)
-
IN
Porter-Duff Source In Destination rule. The part of the source lying inside of the destination replaces the destination.Fs = Ad and Fd = 0, thus: Cd = Cs*Ad Ad = As*Ad
-
OUT
Porter-Duff Source Out Destination rule. The part of the source lying outside of the destination replaces the destination.Fs = (1-Ad) and Fd = 0, thus: Cd = Cs*(1-Ad) Ad = As*(1-Ad)
-
ATOP
Porter-Duff Source Atop Destination rule. The part of the source lying inside of the destination replaces the destination, destination remains outside of source.Fs = Ad and Fd = (1-As), thus: Cd = Cs*Ad + Cd*(1-As) Ad = As*Ad + Ad*(1-As)
-
XOR
Xor rule. The source and destination are Xor'ed togeather.Fs = (1-Ad) and Fd = (1-As), thus: Cd = Cs*(1-Ad) + Cd*(1-As) Ad = As*(1-Ad) + Ad*(1-As)
-
MULTIPLY
FeBlend Multiply rule.Cd = Cs*(1-Ad) + Cd*(1-As) + Cs*Cd Ad = 1 - (1-Ad)*(1-As)
-
SCREEN
FeBlend Screen rule.Cd = Cs + Cd - Cs*Cd Ad = 1 - (1-Ad)*(1-As)
-
DARKEN
FeBlend Darken rule.Cd = Min(Cs*(1-Ad) + Cd, Cd*(1-As) + Cs) Ad = 1 - (1-Ad)*(1-As)
-
LIGHTEN
FeBlend Lighten rule.Cd = Max(Cs*(1-Ad) + Cd, Cd*(1-As) + Cs) Ad = 1 - (1-Ad)*(1-As)
-
-
Method Details
-
ARITHMETIC
Factory to create artithmatic CompositeRules. 'out = k1*i1*i2 + k2*i1 + k3*i2 + k4' Note that arithmatic CompositeRules are not singletons. -
getRule
public int getRule()Returns the type of this composite rule -
getCoefficients
public float[] getCoefficients() -
toString
This is called by the serialization code before it returns an unserialized object. To provide for unicity of instances, the instance that was read is replaced by its static equivalent. See the serialiazation specification for further details on this method's logic.
-