1/////////////////////////////////////////////////////////////////////////// 
2// 
3// Copyright (c) 2004, Industrial Light & Magic, a division of Lucas 
4// Digital Ltd. LLC 
5//  
6// All rights reserved. 
7//  
8// Redistribution and use in source and binary forms, with or without 
9// modification, are permitted provided that the following conditions are 
10// met: 
11// * Redistributions of source code must retain the above copyright 
12// notice, this list of conditions and the following disclaimer. 
13// * Redistributions in binary form must reproduce the above 
14// copyright notice, this list of conditions and the following disclaimer 
15// in the documentation and/or other materials provided with the 
16// distribution. 
17// * Neither the name of Industrial Light & Magic nor the names of 
18// its contributors may be used to endorse or promote products derived 
19// from this software without specific prior written permission.  
20//  
21// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
22// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
23// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 
24// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
25// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
26// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
27// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
28// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
29// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
30// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
31// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
32// 
33/////////////////////////////////////////////////////////////////////////// 
34 
35 
36#ifndef INCLUDED_IMF_RGBA_H 
37#define INCLUDED_IMF_RGBA_H 
38 
39//----------------------------------------------------------------------------- 
40// 
41// class Rgba 
42// 
43//----------------------------------------------------------------------------- 
44 
45#include "half.h" 
46#include "ImfNamespace.h" 
47 
48OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER 
49 
50 
51// 
52// RGBA pixel 
53// 
54 
55struct Rgba 
56
57 half r
58 half g
59 half b
60 half a
61  
62 Rgba () {} 
63 Rgba (half r, half g, half b, half a = 1.f): r (r), g (g), b (b), a (a) {} 
64}; 
65 
66 
67// 
68// Channels in an RGBA file 
69// 
70 
71enum RgbaChannels 
72
73 WRITE_R = 0x01, // Red 
74 WRITE_G = 0x02, // Green 
75 WRITE_B = 0x04, // Blue 
76 WRITE_A = 0x08, // Alpha 
77 
78 WRITE_Y = 0x10, // Luminance, for black-and-white images, 
79 // or in combination with chroma 
80 
81 WRITE_C = 0x20, // Chroma (two subsampled channels, RY and BY, 
82 // supported only for scanline-based files) 
83 
84 WRITE_RGB = 0x07, // Red, green, blue 
85 WRITE_RGBA = 0x0f, // Red, green, blue, alpha 
86 
87 WRITE_YC = 0x30, // Luminance, chroma 
88 WRITE_YA = 0x18, // Luminance, alpha 
89 WRITE_YCA = 0x38 // Luminance, chroma, alpha 
90}; 
91 
92 
93OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT 
94 
95 
96 
97 
98 
99#endif 
100