diff options
| -rwxr-xr-x | indra/integration_tests/llimage_libtest/llimage_libtest.cpp | 14 | ||||
| -rwxr-xr-x | indra/llimage/llimagefilter.cpp | 33 | ||||
| -rwxr-xr-x | indra/llimage/llimagefilter.h | 6 | ||||
| -rw-r--r-- | indra/newview/llfloaterflickr.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llsnapshotlivepreview.cpp | 6 | 
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 | 
