-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathblendmode.go
103 lines (100 loc) · 2.94 KB
/
blendmode.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
package psd
// BlendMode represents the blend mode.
type BlendMode string
// These blend modes are defined in this document.
//
// http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577409_13084
const (
BlendModePassThrough = BlendMode("pass")
BlendModeNormal = BlendMode("norm")
BlendModeDissolve = BlendMode("diss")
BlendModeDarken = BlendMode("dark")
BlendModeMultiply = BlendMode("mul ")
BlendModeColorBurn = BlendMode("idiv")
BlendModeLinearBurn = BlendMode("lbrn")
BlendModeDarkerColor = BlendMode("dkCl")
BlendModeLighten = BlendMode("lite")
BlendModeScreen = BlendMode("scrn")
BlendModeColorDodge = BlendMode("div ")
BlendModeLinearDodge = BlendMode("lddg")
BlendModeLighterColor = BlendMode("lgCl")
BlendModeOverlay = BlendMode("over")
BlendModeSoftLight = BlendMode("sLit")
BlendModeHardLight = BlendMode("hLit")
BlendModeVividLight = BlendMode("vLit")
BlendModeLinearLight = BlendMode("lLit")
BlendModePinLight = BlendMode("pLit")
BlendModeHardMix = BlendMode("hMix")
BlendModeDifference = BlendMode("diff")
BlendModeExclusion = BlendMode("smud")
BlendModeSubtract = BlendMode("fsub")
BlendModeDivide = BlendMode("fdiv")
BlendModeHue = BlendMode("hue ")
BlendModeSaturation = BlendMode("sat ")
BlendModeColor = BlendMode("colr")
BlendModeLuminosity = BlendMode("lum ")
)
// String implements fmt.Stringer interface.
//
// The return value respects blend name that is described in "Compositing and Blending Level 1"(https://www.w3.org/TR/compositing-1/#blending).
func (bm BlendMode) String() string {
switch bm {
case BlendModePassThrough:
return "pass-through"
case BlendModeNormal:
return "normal"
case BlendModeDissolve:
return "dissolve"
case BlendModeDarken:
return "darken"
case BlendModeMultiply:
return "multiply"
case BlendModeColorBurn:
return "color-burn"
case BlendModeLinearBurn:
return "linear-burn"
case BlendModeDarkerColor:
return "darker-color"
case BlendModeLighten:
return "lighten"
case BlendModeScreen:
return "screen"
case BlendModeColorDodge:
return "color-dodge"
case BlendModeLinearDodge:
return "linear-dodge"
case BlendModeLighterColor:
return "lighter-color"
case BlendModeOverlay:
return "overlay"
case BlendModeSoftLight:
return "soft-light"
case BlendModeHardLight:
return "hard-light"
case BlendModeVividLight:
return "vivid-light"
case BlendModeLinearLight:
return "linear-light"
case BlendModePinLight:
return "pin-light"
case BlendModeHardMix:
return "hard-mix"
case BlendModeDifference:
return "difference"
case BlendModeExclusion:
return "exclusion"
case BlendModeSubtract:
return "subtract"
case BlendModeDivide:
return "divide"
case BlendModeHue:
return "hue"
case BlendModeSaturation:
return "saturation"
case BlendModeColor:
return "color"
case BlendModeLuminosity:
return "luminosity"
}
return "unknown-blend-name-" + string(bm)
}