X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcolorcurve.h;h=3f65b04916897c6d85bde7ec4f33fece160a3cd1;hb=860aec7bfaabbad139d27dd7f4738984276e6676;hp=608af44888ce9edcc3030d135cac98abb3728772;hpb=444151a0c0c31eac99663c19dda87a7c543bee84;p=libs%2Fgl.git diff --git a/source/colorcurve.h b/source/colorcurve.h index 608af448..3f65b049 100644 --- a/source/colorcurve.h +++ b/source/colorcurve.h @@ -21,12 +21,37 @@ space and converting to sRGB for display. */ class ColorCurve: public PostProcessor { +public: + struct Template: public PostProcessor::Template + { + class Loader: public DataFile::DerivedObjectLoader + { + public: + Loader(Template &); + + private: + void gamma(float); + void srgb(); + }; + + float exposure_adjust; + float brightness_response; + float gamma; + bool srgb; + + Template(); + + virtual ColorCurve *create(unsigned, unsigned) const; + }; + private: Program shprog; ProgramData shdata; Texture1D curve; Texturing texturing; - const Mesh &quad; + RefPtr quad; + RefPtr linear_sampler; + RefPtr nearest_sampler; public: ColorCurve(); @@ -38,10 +63,6 @@ public: /** Sets the exponent of the */ void set_brightness_response(float); - // Deprecated functions - void set_peak(float); - void set_brightness(float); - /** Sets the gamma value used for mapping output colors. Allowed range is from 0.1 to 10. */ void set_gamma(float);