summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rwxr-xr-xindra/integration_tests/llimage_libtest/llimage_libtest.cpp14
-rwxr-xr-xindra/llimage/llimagefilter.cpp33
-rwxr-xr-xindra/llimage/llimagefilter.h6
-rw-r--r--indra/newview/llfloaterflickr.cpp2
-rw-r--r--indra/newview/llsnapshotlivepreview.cpp6
5 files changed, 21 insertions, 40 deletions
diff --git a/indra/integration_tests/llimage_libtest/llimage_libtest.cpp b/indra/integration_tests/llimage_libtest/llimage_libtest.cpp
index d3373a61f2..3d27b4a5b5 100755
--- a/indra/integration_tests/llimage_libtest/llimage_libtest.cpp
+++ b/indra/integration_tests/llimage_libtest/llimage_libtest.cpp
@@ -578,7 +578,10 @@ int main(int argc, char** argv)
fast_timer_log_thread = new LogThread(LLFastTimer::sLogName);
fast_timer_log_thread->start();
}
-
+
+ // Load the filter once and for all
+ LLImageFilter filter(filter_name);
+
// Perform action on each input file
std::list<std::string>::iterator in_file = input_filenames.begin();
std::list<std::string>::iterator out_file = output_filenames.begin();
@@ -594,13 +597,8 @@ int main(int argc, char** argv)
continue;
}
- if (filter_name != "")
- {
- // We're interpreting the filter as a filter file name
- LLImageFilter filter;
- filter.loadFromFile(filter_name);
- filter.executeFilter(raw_image);
- }
+ // Apply the filter
+ filter.executeFilter(raw_image);
// Save file
if (out_file != out_end)
diff --git a/indra/llimage/llimagefilter.cpp b/indra/llimage/llimagefilter.cpp
index 5c969001b7..cd03454cdd 100755
--- a/indra/llimage/llimagefilter.cpp
+++ b/indra/llimage/llimagefilter.cpp
@@ -39,7 +39,7 @@
// LLImageFilter
//---------------------------------------------------------------------------
-LLImageFilter::LLImageFilter() :
+LLImageFilter::LLImageFilter(const std::string& file_path) :
mFilterData(LLSD::emptyArray()),
mImage(NULL),
mHistoRed(NULL),
@@ -50,6 +50,15 @@ LLImageFilter::LLImageFilter() :
mVignetteGamma(1.0),
mVignetteMin(0.0)
{
+ // Load filter description from file
+ llifstream filter_xml(file_path);
+ if (filter_xml.is_open())
+ {
+ // Load and parse the file
+ LLPointer<LLSDParser> parser = new LLSDXMLParser();
+ parser->parse(filter_xml, mFilterData, LLSDSerialize::SIZE_UNLIMITED);
+ filter_xml.close();
+ }
}
LLImageFilter::~LLImageFilter()
@@ -114,28 +123,6 @@ LLImageFilter::~LLImageFilter()
*/
//============================================================================
-// Load filter from file
-//============================================================================
-
-void LLImageFilter::loadFromFile(const std::string& file_path)
-{
- //std::cout << "Loading filter settings from : " << file_path << std::endl;
- llifstream filter_xml(file_path);
- if (filter_xml.is_open())
- {
- // Load and parse the file
- LLPointer<LLSDParser> parser = new LLSDXMLParser();
- parser->parse(filter_xml, mFilterData, LLSDSerialize::SIZE_UNLIMITED);
- filter_xml.close();
- }
- else
- {
- // File couldn't be open, reset the filter data
- mFilterData = LLSD();
- }
-}
-
-//============================================================================
// Apply the filter data to the image passed as parameter
//============================================================================
diff --git a/indra/llimage/llimagefilter.h b/indra/llimage/llimagefilter.h
index c67789ede0..dc092a47a5 100755
--- a/indra/llimage/llimagefilter.h
+++ b/indra/llimage/llimagefilter.h
@@ -54,15 +54,15 @@ typedef enum e_screen_mode
} EScreenMode;
//============================================================================
-// Image Filter
+// LLImageFilter
+//============================================================================
class LLImageFilter
{
public:
- LLImageFilter();
+ LLImageFilter(const std::string& file_path);
~LLImageFilter();
- void loadFromFile(const std::string& file_path);
void executeFilter(LLPointer<LLImageRaw> raw_image);
private:
diff --git a/indra/newview/llfloaterflickr.cpp b/indra/newview/llfloaterflickr.cpp
index cff57bfa13..c34124caf5 100644
--- a/indra/newview/llfloaterflickr.cpp
+++ b/indra/newview/llfloaterflickr.cpp
@@ -334,7 +334,6 @@ void LLFlickrPhotoPanel::updateResolution(BOOL do_update)
S32 height = sdres[1];
const std::string& filter_name = filterbox->getSimple();
- llinfos << "Merov : filter name is : " << filter_name << llendl;
LLSnapshotLivePreview * previewp = static_cast<LLSnapshotLivePreview *>(mPreviewHandle.get());
if (previewp && combobox->getCurrentIndex() >= 0)
@@ -358,7 +357,6 @@ void LLFlickrPhotoPanel::updateResolution(BOOL do_update)
checkAspectRatio(width);
previewp->getSize(width, height);
- // Merov :
// Get the old filter, compare to the current one "filter_name" and set if changed
// If changed, also force the updateSnapshot() here under
std::string original_filter = previewp->getFilter();
diff --git a/indra/newview/llsnapshotlivepreview.cpp b/indra/newview/llsnapshotlivepreview.cpp
index 21abdd2675..ee74dbdb0f 100644
--- a/indra/newview/llsnapshotlivepreview.cpp
+++ b/indra/newview/llsnapshotlivepreview.cpp
@@ -594,8 +594,7 @@ void LLSnapshotLivePreview::generateThumbnailImage(BOOL force_update)
std::string filter_path = LLImageFiltersManager::getInstance()->getFilterPath(getFilter());
if (filter_path != "")
{
- LLImageFilter filter;
- filter.loadFromFile(filter_path);
+ LLImageFilter filter(filter_path);
filter.executeFilter(raw);
}
else
@@ -713,8 +712,7 @@ BOOL LLSnapshotLivePreview::onIdle( void* snapshot_preview )
std::string filter_path = LLImageFiltersManager::getInstance()->getFilterPath(previewp->getFilter());
if (filter_path != "")
{
- LLImageFilter filter;
- filter.loadFromFile(filter_path);
+ LLImageFilter filter(filter_path);
filter.executeFilter(previewp->mPreviewImage);
}
else