summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
545c9c7)
ColorspaceConversionEffect, DitherEffect, GammaExpansionEffect and GammaCompressionEffect
are all supposed to be used by EffectChain only, so make them private; I've had
reports of users trying to use these directly, leaving the framework in a confused state.
#include "effect_chain.h"
class ColorspaceConversionEffect : public Effect {
#include "effect_chain.h"
class ColorspaceConversionEffect : public Effect {
+private:
+ // Should not be instantiated by end users.
ColorspaceConversionEffect();
ColorspaceConversionEffect();
+ friend class EffectChain;
+
+public:
virtual std::string effect_type_id() const { return "ColorspaceConversionEffect"; }
std::string output_fragment_shader();
virtual std::string effect_type_id() const { return "ColorspaceConversionEffect"; }
std::string output_fragment_shader();
#include "effect.h"
class DitherEffect : public Effect {
#include "effect.h"
class DitherEffect : public Effect {
+private:
+ // Should not be instantiated by end users;
+ // call EffectChain::set_dither_bits() instead.
+ friend class EffectChain;
+
+public:
~DitherEffect();
virtual std::string effect_type_id() const { return "DitherEffect"; }
std::string output_fragment_shader();
~DitherEffect();
virtual std::string effect_type_id() const { return "DitherEffect"; }
std::string output_fragment_shader();
#define COMPRESSION_CURVE_SIZE 4096
class GammaCompressionEffect : public Effect {
#define COMPRESSION_CURVE_SIZE 4096
class GammaCompressionEffect : public Effect {
+private:
+ // Should not be instantiated by end users.
GammaCompressionEffect();
GammaCompressionEffect();
+ friend class EffectChain;
+
+public:
virtual std::string effect_type_id() const { return "GammaCompressionEffect"; }
std::string output_fragment_shader();
virtual std::string effect_type_id() const { return "GammaCompressionEffect"; }
std::string output_fragment_shader();
#define EXPANSION_CURVE_SIZE 256
class GammaExpansionEffect : public Effect {
#define EXPANSION_CURVE_SIZE 256
class GammaExpansionEffect : public Effect {
+private:
+ // Should not be instantiated by end users.
+ friend class EffectChain;
+
+public:
virtual std::string effect_type_id() const { return "GammaExpansionEffect"; }
std::string output_fragment_shader();
virtual std::string effect_type_id() const { return "GammaExpansionEffect"; }
std::string output_fragment_shader();