TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_HISTOGRAMKEYER_DEFINITIONS_HPP_ 00002 #define _TUTTLE_PLUGIN_HISTOGRAMKEYER_DEFINITIONS_HPP_ 00003 00004 #include <tuttle/plugin/global.hpp> 00005 00006 #include <ofxPixels.h> 00007 00008 #include <boost/scoped_ptr.hpp> 00009 00010 namespace tuttle { 00011 namespace plugin { 00012 namespace histogramKeyer { 00013 00014 const static std::size_t nbCurves = 6; 00015 const static std::size_t nbCurvesRGB = 3; 00016 const static std::size_t nbCurvesHSL = 3; 00017 const static std::size_t curveFromSelection = 40; 00018 00019 //Curves params 00020 const static std::string kParamRGBColorSelection = "colorRGBSelection"; 00021 const static std::string kParamHSLColorSelection = "colorHSLSelection"; 00022 const static std::string kParamColorSelectionRed = "red"; 00023 const static std::string kParamColorSelectionGreen = "green"; 00024 const static std::string kParamColorSelectionBlue = "blue"; 00025 const static std::string kParamColorSelectionHue = "hue"; 00026 const static std::string kParamColorSelectionSaturation = "saturation"; 00027 const static std::string kParamColorSelectionLightness = "lightness"; 00028 00029 //Groups 00030 const static std::string kGroupRGB = "RGB channels"; 00031 const static std::string kGroupRGBLabel = "Red Green Blue"; 00032 const static std::string kGroupHSL = "HSL channels"; 00033 const static std::string kGroupHSLLabel = "Hue Saturation Lightness"; 00034 const static std::string kGroupAdvanced = "Adv"; 00035 const static std::string kGroupAdvancedLabel = "Advanced"; 00036 const static std::string kGroupSelection = "Selec"; 00037 const static std::string kGroupSelectionLabel = "Selection settings"; 00038 const static std::string kGroupHistogramOverlay = "HOverlay"; 00039 const static std::string kGroupHistogramOverlayLabel = "Histogram overlay"; 00040 00041 //Histogram display settings 00042 const static std::string kHistoDisplayListParamLabel = "Histogram adjustment "; 00043 const static std::string kHistoDisplayListParamOpt1 = "by channel"; 00044 const static std::string kHistoDisplayListParamOpt2 = "global"; 00045 00046 //Histogram check box 00047 const static std::string kBoolRed = "Red"; 00048 const static std::string kBoolGreen = "Green"; 00049 const static std::string kBoolBlue = "Blue"; 00050 const static std::string kBoolHue = "Hue"; 00051 const static std::string kBoolSaturation = "Saturation"; 00052 const static std::string kBoolLightness = "Lightness"; 00053 00054 //Display selection check box 00055 const static std::string kBoolSelection = "Display selection"; 00056 00057 //Curve clamp value check box 00058 const static std::string kBoolClampValues = "Clamp curves values"; 00059 00060 //Reverse mask check box 00061 const static std::string kBoolReverseMask = "Reverse mask"; 00062 00063 //Refresh overlay button 00064 const static std::string kButtonResetSelection = "Reset Selection"; 00065 const static std::string kButtonResetSelectionLabel = "Reset selection"; 00066 00067 //Clear buttons 00068 const static std::string kButtonResetRGB = "Reset RGB"; 00069 const static std::string kButtonResetHSL = "Reset HSL"; 00070 const static std::string kButtonResetAll = "Reset All"; 00071 00072 const static std::string kButtonResetRGBLabel = "Reset"; 00073 const static std::string kButtonResetHSLLabel = "Reset"; 00074 const static std::string kButtonResetAllLabel = "Reset all curves"; 00075 00076 //Selection to curves buttons 00077 const static std::string kButtonSelectionToCurveRGB = "SelectionToCurveRGB"; 00078 const static std::string kButtonSelectionToCurveHSL = "SelectionToCurveHSL"; 00079 00080 const static std::string kButtonSelectionToCurveRGBLabel = "From selection"; 00081 const static std::string kButtonSelectionToCurveHSLLabel = "From selection"; 00082 00083 //Append current selection to curve 00084 const static std::string kButtonAppendSelectionToCurveRGB = "AppendSelectionToCurveRGB"; 00085 const static std::string kButtonAppendSelectionToCurveHSL = "AppendSelectionToCurveHSL"; 00086 00087 const static std::string kButtonAppendSelectionToCurveRGBLabel = "Append from selection"; 00088 const static std::string kButtonAppendSelectionToCurveHSLLabel = "Append from selection"; 00089 00090 //Refresh overlay button 00091 const static std::string kButtonRefreshOverlay = "RefreshOverlay"; 00092 const static std::string kButtonRefreshOverlayLabel = "Refresh overlay"; 00093 00094 //nbStep range 00095 const static std::string knbStepRange = "numberOfStep"; 00096 const static std::string knbStepRangeLabel = "Number of steps "; 00097 00098 //Curve from selection precision 00099 const static std::string kprecisionCurveFromSelection = "PrecisionCurvesFromSelection"; 00100 const static std::string kprecisionCurveFromSelectionLabel = "Curves from selection precision"; 00101 //selection multiplier 00102 const static std::string kselectionMultiplier = "SelectionMultiplier"; 00103 const static std::string kselectionMultiplierLabel = "Selection multiplier "; 00104 00105 //Hue indicator 00106 const static int kPrecisionHueIndicator = 360; 00107 00108 //Output settings 00109 const static std::string kOutputListParamLabel = "Output settings "; 00110 const static std::string kOutputListParamOpt1 = "alpha channel"; 00111 const static std::string kOutputListParamOpt2 = "black & white"; 00112 00113 //Selection mode 00114 const static std::string kSelectionModeListParamLabel = "Selection mode"; 00115 const static std::string kSelectionModeListParamOpt1 = "unique"; 00116 const static std::string kSelectionModeListParamOpt2 = "additive"; 00117 const static std::string kSelectionModeListParamOpt3 = "subtractive"; 00118 00119 //Global display check box 00120 const static std::string kGlobalDisplay = "global display"; 00121 00122 typedef OfxRGBColourF Color; 00123 00124 //Histograms color (struct) 00125 struct HistogramColor 00126 { 00127 OfxRGBColourF _colorBorder; // border color 00128 OfxRGBColourF _colorFill; // filling color 00129 }; 00130 00131 //Histograms colors 00132 static const OfxRGBColourF redFilling={1.0f,0.2f,0.2f}; 00133 static const OfxRGBColourF greenFilling={0.2f,1.0f,0.2f}; 00134 static const OfxRGBColourF blueFilling={0.2f,0.2f,1.0f}; 00135 00136 static const OfxRGBColourF redBorder = {0.8f,0.0f,0.0f}; 00137 static const OfxRGBColourF greenBorder = {0.0f,0.8f,0.0f}; 00138 static const OfxRGBColourF blueBorder = {0.0f,0.0f,0.8f}; 00139 00140 static const HistogramColor redHisto = {redBorder,redFilling}; 00141 static const HistogramColor greenHisto = {greenBorder,greenFilling}; 00142 static const HistogramColor blueHisto = {blueBorder,blueFilling}; 00143 00144 //Average bar color 00145 static const OfxRGBColourF averageFilling={0.2f,0.2f,1.0f}; 00146 static const OfxRGBColourF averageBorder={1.0f,0.84f,0.0f}; 00147 static const HistogramColor averageHisto = {averageBorder,averageFilling}; 00148 00149 00150 00151 static const std::string kMultiplierLabel = "Multiplier"; 00152 //Channel multiplier (RGB) 00153 static const std::string kMultiplierRed = "Red multiplier"; 00154 static const std::string kMultiplierGreen = "Green multiplier"; 00155 static const std::string kMultiplierBlue = "Blue multiplier"; 00156 //Channel mutiliplier(HSL) 00157 static const std::string kMultiplierHue = "Hue multiplier"; 00158 static const std::string kMultiplierSaturation = "Saturation multiplier"; 00159 static const std::string kMultiplierLightness = "Lightness multiplier"; 00160 00161 00162 ///@todo: remove when Nuke overlay option works 00163 //Translation (separate HSL from RGB) 00164 const static float kTranslationHSL = 200.0f; 00165 //Translation (separate HSL from RGB) 00166 const static float kTranslationRGB = 200.0f; 00167 00168 00169 } 00170 } 00171 } 00172 00173 #endif