diff --git a/include/eepp/graphics/cimage.hpp b/include/eepp/graphics/cimage.hpp index bdeb605d8..3dab16171 100644 --- a/include/eepp/graphics/cimage.hpp +++ b/include/eepp/graphics/cimage.hpp @@ -15,6 +15,12 @@ namespace EE { namespace Graphics { class EE_API cImage { public: + /** @return The current Jpeg save quality */ + static Uint32 JpegQuality(); + + /** Set the save quality of Jpeg files ( between 0 and 100 ) */ + static void JpegQuality( Uint32 level ); + /** @return The File Extension of a Save Type */ static std::string SaveTypeToExtension( const Int32& Format ); @@ -125,6 +131,8 @@ class EE_API cImage { /** Set as true if you dont want to free the image data ( false as default ). */ void AvoidFreeImage( const bool& AvoidFree ) { mAvoidFree = AvoidFree; } protected: + static Uint32 sJpegQuality; + Uint8 * mPixels; eeUint mWidth; eeUint mHeight; diff --git a/projects/linux/ee.creator.user b/projects/linux/ee.creator.user index 255b60acf..7b0a6b73a 100644 --- a/projects/linux/ee.creator.user +++ b/projects/linux/ee.creator.user @@ -1,6 +1,6 @@ - + ProjectExplorer.Project.ActiveTarget diff --git a/src/eepp/graphics/cconsole.cpp b/src/eepp/graphics/cconsole.cpp index 55e16db84..8306297c5 100755 --- a/src/eepp/graphics/cconsole.cpp +++ b/src/eepp/graphics/cconsole.cpp @@ -485,7 +485,7 @@ void cConsole::CmdGetTextureMemory ( const std::vector < String >& params ) { void cConsole::CmdCmdList ( const std::vector < String >& params ) { std::map < String, ConsoleCallback >::iterator itr; for (itr = mCallbacks.begin(); itr != mCallbacks.end(); itr++) { - PushText( itr->first ); + PushText( "\t" + itr->first ); } } diff --git a/src/eepp/graphics/cimage.cpp b/src/eepp/graphics/cimage.cpp index 8d86bba7d..7074b6f53 100644 --- a/src/eepp/graphics/cimage.cpp +++ b/src/eepp/graphics/cimage.cpp @@ -6,6 +6,17 @@ namespace EE { namespace Graphics { +Uint32 cImage::sJpegQuality = 85; + +Uint32 cImage::JpegQuality() { + return sJpegQuality; +} + +void cImage::JpegQuality( Uint32 level ) { + level = eemin( level, (Uint32)100 ); + sJpegQuality = level; +} + std::string cImage::SaveTypeToExtension( const Int32& Format ) { switch( Format ) { case EE_SAVE_TYPE_TGA: return "tga"; @@ -272,6 +283,7 @@ bool cImage::SaveToFile( const std::string& filepath, const EE_SAVE_TYPE& Format Res = 0 != ( SOIL_save_image ( filepath.c_str(), Format, (Int32)mWidth, (Int32)mHeight, mChannels, GetPixelsPtr() ) ); } else { jpge::params params; + params.m_quality = JpegQuality(); Res = jpge::compress_image_to_jpeg_file( filepath.c_str(), mWidth, mHeight, mChannels, GetPixelsPtr(), params); } } diff --git a/src/eepp/graphics/csubtexture.cpp b/src/eepp/graphics/csubtexture.cpp index 9380d78ad..23da75fc0 100644 --- a/src/eepp/graphics/csubtexture.cpp +++ b/src/eepp/graphics/csubtexture.cpp @@ -393,6 +393,7 @@ bool cSubTexture::SaveToFile(const std::string& filepath, const EE_SAVE_TYPE& Fo Res = 0 != ( SOIL_save_image ( filepath.c_str(), Format, RealSize().Width(), RealSize().Height(), 4, GetPixelsPtr() ) ); } else { jpge::params params; + params.m_quality = cImage::JpegQuality(); Res = jpge::compress_image_to_jpeg_file( filepath.c_str(), RealSize().Width(), RealSize().Height(), 4, GetPixelsPtr(), params); } } diff --git a/src/eepp/graphics/ctexturefactory.cpp b/src/eepp/graphics/ctexturefactory.cpp index b5c3365af..123688823 100755 --- a/src/eepp/graphics/ctexturefactory.cpp +++ b/src/eepp/graphics/ctexturefactory.cpp @@ -252,6 +252,7 @@ bool cTextureFactory::SaveImage( const std::string& filepath, const EE_SAVE_TYPE Res = 0 != SOIL_save_image ( filepath.c_str(), Format, Width, Height, Channels, data ); } else { jpge::params params; + params.m_quality = cImage::JpegQuality(); Res = jpge::compress_image_to_jpeg_file( filepath.c_str(), Width, Height, Channels, data, params); }