1package psd
2
3// ColorMode represents color mode that is used in psd file.
4type ColorMode int16
5
6// These color modes are defined in this document.
7//
8// http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577409_19840
9const (
10	ColorModeBitmap       = ColorMode(0)
11	ColorModeGrayscale    = ColorMode(1)
12	ColorModeIndexed      = ColorMode(2)
13	ColorModeRGB          = ColorMode(3)
14	ColorModeCMYK         = ColorMode(4)
15	ColorModeMultichannel = ColorMode(7)
16	ColorModeDuotone      = ColorMode(8)
17	ColorModeLab          = ColorMode(9)
18)
19
20// Channels returns the number of channels for the color mode.
21// The return value is not including alpha channel.
22func (c ColorMode) Channels() int {
23	switch c {
24	case ColorModeBitmap,
25		ColorModeGrayscale,
26		ColorModeIndexed:
27		return 1
28	case ColorModeRGB:
29		return 3
30	case ColorModeCMYK:
31		return 4
32	}
33	return -1
34}
35