1 /*****************************************************************************/
2 // Copyright 2007 Adobe Systems Incorporated
3 // All Rights Reserved.
4 //
5 // NOTICE:  Adobe permits you to use, modify, and distribute this file in
6 // accordance with the terms of the Adobe license agreement accompanying it.
7 /*****************************************************************************/
8 
9 /* $Id: //mondo/dng_sdk_1_4/dng_sdk/source/dng_tone_curve.h#2 $ */
10 /* $DateTime: 2012/07/31 22:04:34 $ */
11 /* $Change: 840853 $ */
12 /* $Author: tknoll $ */
13 
14 /** \file
15  * Representation of 1-dimensional tone curve.
16  */
17 
18 /*****************************************************************************/
19 
20 #ifndef __dng_tone_curve__
21 #define __dng_tone_curve__
22 
23 /*****************************************************************************/
24 
25 #include "dng_classes.h"
26 #include "dng_memory.h"
27 #include "dng_point.h"
28 
29 /*****************************************************************************/
30 
31 class dng_tone_curve
32 	{
33 
34 	public:
35 
36 		dng_std_vector<dng_point_real64> fCoord;
37 
38 	public:
39 
40 		dng_tone_curve ();
41 
42 		bool operator== (const dng_tone_curve &curve) const;
43 
44 		bool operator!= (const dng_tone_curve &curve) const
45 			{
46 			return !(*this == curve);
47 			}
48 
49 		void SetNull ();
50 
51 		bool IsNull () const;
52 
53 		void SetInvalid ();
54 
55 		bool IsValid () const;
56 
57 		void Solve (dng_spline_solver &solver) const;
58 
59 	};
60 
61 /*****************************************************************************/
62 
63 #endif
64 
65 /*****************************************************************************/
66