From d2ce3d279c684b39d0b37edda70792e34c26b31a Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Tue, 3 Oct 2017 10:24:00 +0200 Subject: [PATCH] [DEBUG] correct image sizing --- ewol/compositing/Image.cpp | 1 + ewol/resource/Image.cpp | 4 ++-- ewol/resource/Image.hpp | 2 -- ewol/resource/Texture.cpp | 1 + ewol/resource/Texture.hpp | 6 ++++-- ewol/widget/Image.cpp | 3 ++- ewol/widget/Widget.cpp | 2 +- 7 files changed, 11 insertions(+), 8 deletions(-) diff --git a/ewol/compositing/Image.cpp b/ewol/compositing/Image.cpp index 7e85970b..b61c0d20 100644 --- a/ewol/compositing/Image.cpp +++ b/ewol/compositing/Image.cpp @@ -180,6 +180,7 @@ void ewol::compositing::Image::printPart(const vec2& _size, vec2 ratio = usefullSize/openGLSize; _sourcePosStart *= ratio; _sourcePosStop *= ratio; + EWOL_VERBOSE(" openGLSize=" << openGLSize << " usableSize=" << usefullSize << " start=" << _sourcePosStart << " stop=" << _sourcePosStop); //EWOL_ERROR("Debug image " << m_filename << " ==> " << m_position << " " << _size << " " << _sourcePosStart << " " << _sourcePosStop); if (m_angle == 0.0f) { diff --git a/ewol/resource/Image.cpp b/ewol/resource/Image.cpp index ca708aec..0bc54e4f 100644 --- a/ewol/resource/Image.cpp +++ b/ewol/resource/Image.cpp @@ -58,10 +58,10 @@ void ewol::resource::TextureFile::init(etk::String _genName, const etk::String& m_realImageSize = vec2(tmp.x(), tmp.y()); vec2 compatibilityHWSize = vec2(nextP2(tmp.x()), nextP2(tmp.y())); if (m_realImageSize != compatibilityHWSize) { - EWOL_ERROR("RESIZE Image for HArwareCompatibility:" << m_realImageSize << " => " << compatibilityHWSize); + EWOL_DEBUG("RESIZE Image for HArwareCompatibility:" << m_realImageSize << " => " << compatibilityHWSize); m_data.resize(ivec2(compatibilityHWSize.x(),compatibilityHWSize.y())); } - m_lastSize = m_realImageSize; + //m_lastSize = m_realImageSize; #ifdef GENERATE_DISTANCE_FIELD_MODE //egami::generateDistanceFieldFile(_tmpFilename, etk::String(_tmpFilename, 0, _tmpFilename.size()-4) + ".bmp"); egami::generateDistanceFieldFile(_tmpFilename, etk::String(_tmpFilename, 0, _tmpFilename.size()-4) + ".edf"); diff --git a/ewol/resource/Image.hpp b/ewol/resource/Image.hpp index 33f93667..7e262544 100644 --- a/ewol/resource/Image.hpp +++ b/ewol/resource/Image.hpp @@ -19,8 +19,6 @@ namespace ewol { public: static const ivec2 sizeAuto; static const ivec2 sizeDefault; - private: - vec2 m_realImageSize; protected: TextureFile(); void init(); diff --git a/ewol/resource/Texture.cpp b/ewol/resource/Texture.cpp index 72f0110f..9c24f615 100644 --- a/ewol/resource/Texture.cpp +++ b/ewol/resource/Texture.cpp @@ -45,6 +45,7 @@ ewol::resource::Texture::Texture() : m_texPboId(0), #endif m_data(ivec2(32,32),egami::colorType::RGBA8), + m_realImageSize(1,1), m_lastSize(1,1), m_loaded(false), m_lastTypeObject(0), diff --git a/ewol/resource/Texture.hpp b/ewol/resource/Texture.hpp index 3357cbd2..cbc5e3ae 100644 --- a/ewol/resource/Texture.hpp +++ b/ewol/resource/Texture.hpp @@ -26,8 +26,10 @@ namespace ewol { #endif // openGl Context propoerties : egami::Image m_data; - // some image are not square == > we need to sqared it to prevent some openGl api error the the displayable size is not all the time 0.0 -> 1.0 + //! Last loaded size in the system openGL vec2 m_lastSize; + //! some image are not square == > we need to sqared it to prevent some openGl api error the the displayable size is not all the time 0.0 -> 1.0 + vec2 m_realImageSize; // internal state of the openGl system : bool m_loaded; int32_t m_lastTypeObject; @@ -72,7 +74,7 @@ namespace ewol { return m_data.getSize(); }; const vec2& getUsableSize() const { - return m_lastSize; + return m_realImageSize; }; uint32_t getRendererId() const { return m_texId; diff --git a/ewol/widget/Image.cpp b/ewol/widget/Image.cpp index 40e5839c..4c6eee9a 100644 --- a/ewol/widget/Image.cpp +++ b/ewol/widget/Image.cpp @@ -113,7 +113,8 @@ void ewol::widget::Image::onRegenerateDisplay() { } m_compositing.printPart(imageRealSize, *propertyPosStart, *propertyPosStop); //EWOL_DEBUG("Paint Image at : " << origin << " size=" << imageRealSize << " origin=" << origin); - EWOL_VERBOSE("Paint Image :" << *propertySource << " realsize=" << *m_compositing.getRealSize() << " size=" << imageRealSize); + EWOL_WARNING("Paint Image :" << *propertySource << " realsize=" << m_compositing.getRealSize() << " size=" << imageRealSize); + EWOL_WARNING(" start=" << *propertyPosStart << " stop=" << *propertyPosStop); } void ewol::widget::Image::calculateMinMaxSize() { diff --git a/ewol/widget/Widget.cpp b/ewol/widget/Widget.cpp index e191b3c9..98d64986 100644 --- a/ewol/widget/Widget.cpp +++ b/ewol/widget/Widget.cpp @@ -12,7 +12,7 @@ #include #include #include -ETK_DECLARE_TYPE(ewol::Widget::Widget); +ETK_DECLARE_TYPE(ewol::Widget); ewol::Widget::Widget() : propertyMinSize(this, "min-size",