summaryrefslogtreecommitdiff
path: root/indra/llimage/llimagefilter.h
diff options
context:
space:
mode:
authorBrad Linden <brad@lindenlab.com>2024-05-23 11:31:19 -0700
committerBrad Linden <brad@lindenlab.com>2024-05-23 11:31:19 -0700
commita1f49564d670a2c41bfa25c833bba2564b9b7f48 (patch)
tree1d205e51bc37621916a17d459ad83782fe41f975 /indra/llimage/llimagefilter.h
parent6af5db09faf5ea33a2d4c47b64e76f42edae178a (diff)
parent6377610f6587989c126b00f490dfc8d527a1c2ce (diff)
Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into brad/merge-maint-a-to-dev
Diffstat (limited to 'indra/llimage/llimagefilter.h')
-rw-r--r--indra/llimage/llimagefilter.h48
1 files changed, 24 insertions, 24 deletions
diff --git a/indra/llimage/llimagefilter.h b/indra/llimage/llimagefilter.h
index 16ec395f76..94fe92b205 100644
--- a/indra/llimage/llimagefilter.h
+++ b/indra/llimage/llimagefilter.h
@@ -1,25 +1,25 @@
-/**
+/**
* @file llimagefilter.h
* @brief Simple Image Filtering. See https://wiki.lindenlab.com/wiki/SL_Viewer_Image_Filters for complete documentation.
*
* $LicenseInfo:firstyear=2000&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2014, Linden Research, Inc.
- *
+ *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
+ *
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -37,28 +37,28 @@ class LLMatrix3;
typedef enum e_stencil_blend_mode
{
- STENCIL_BLEND_MODE_BLEND = 0,
- STENCIL_BLEND_MODE_ADD = 1,
- STENCIL_BLEND_MODE_ABACK = 2,
- STENCIL_BLEND_MODE_FADE = 3
+ STENCIL_BLEND_MODE_BLEND = 0,
+ STENCIL_BLEND_MODE_ADD = 1,
+ STENCIL_BLEND_MODE_ABACK = 2,
+ STENCIL_BLEND_MODE_FADE = 3
} EStencilBlendMode;
typedef enum e_stencil_shape
{
- STENCIL_SHAPE_UNIFORM = 0,
- STENCIL_SHAPE_GRADIENT = 1,
- STENCIL_SHAPE_VIGNETTE = 2,
- STENCIL_SHAPE_SCAN_LINES = 3
+ STENCIL_SHAPE_UNIFORM = 0,
+ STENCIL_SHAPE_GRADIENT = 1,
+ STENCIL_SHAPE_VIGNETTE = 2,
+ STENCIL_SHAPE_SCAN_LINES = 3
} EStencilShape;
typedef enum e_screen_mode
{
- SCREEN_MODE_2DSINE = 0,
- SCREEN_MODE_LINE = 1
+ SCREEN_MODE_2DSINE = 0,
+ SCREEN_MODE_LINE = 1
} EScreenMode;
//============================================================================
-// LLImageFilter
+// LLImageFilter
//============================================================================
class LLImageFilter
@@ -66,16 +66,16 @@ class LLImageFilter
public:
LLImageFilter(const std::string& file_path);
~LLImageFilter();
-
+
void executeFilter(LLPointer<LLImageRaw> raw_image);
-
+
private:
// Filter Operations : Transforms
void filterGrayScale(); // Convert to grayscale
void filterSepia(); // Convert to sepia
void filterSaturate(F32 saturation); // < 1.0 desaturates, > 1.0 saturates
void filterRotate(F32 angle); // Rotates hue according to angle, angle in degrees
-
+
// Filter Operations : Color Corrections
// When specified, the LLColor3 alpha parameter indicates the intensity of the effect for each color channel
// acting in effect as an alpha blending factor different for each channel. For instance (1.0,0.0,0.0) will apply
@@ -86,7 +86,7 @@ private:
void filterColorize(const LLColor3& color, const LLColor3& alpha); // Colorize with color and alpha per channel
void filterContrast(F32 slope, const LLColor3& alpha); // Change contrast according to slope: > 1.0 more contrast, < 1.0 less contrast
void filterBrightness(F32 add, const LLColor3& alpha); // Change brightness according to add: > 0 brighter, < 0 darker
-
+
// Filter Primitives
void colorTransform(const LLMatrix3 &transform);
void colorCorrect(const U8* lut_red, const U8* lut_green, const U8* lut_blue);
@@ -110,22 +110,22 @@ private:
U32 *mHistoGreen;
U32 *mHistoBlue;
U32 *mHistoBrightness;
-
+
// Current Stencil Settings
EStencilBlendMode mStencilBlendMode;
EStencilShape mStencilShape;
F32 mStencilMin;
F32 mStencilMax;
-
+
S32 mStencilCenterX;
S32 mStencilCenterY;
S32 mStencilWidth;
F32 mStencilGamma;
-
+
F32 mStencilWavelength;
F32 mStencilSine;
F32 mStencilCosine;
-
+
F32 mStencilStartX;
F32 mStencilStartY;
F32 mStencilGradX;