diff --git a/src/lib/tvgPicture.cpp b/src/lib/tvgPicture.cpp index 74c4b608..254d940f 100644 --- a/src/lib/tvgPicture.cpp +++ b/src/lib/tvgPicture.cpp @@ -22,6 +22,39 @@ #include "tvgPictureImpl.h" +/************************************************************************/ +/* Internal Class Implementation */ +/************************************************************************/ + +RenderUpdateFlag Picture::Impl::load() +{ + if (loader) { + if (!paint) { + if (auto p = loader->paint()) { + paint = p.release(); + loader->close(); + if (w != loader->w || h != loader->h) { + if (!resizing) { + w = loader->w; + h = loader->h; + } + loader->resize(paint, w, h); + resizing = false; + } + if (paint) return RenderUpdateFlag::None; + } + } else loader->sync(); + + if (!surface) { + if ((surface = loader->bitmap().release())) { + loader->close(); + return RenderUpdateFlag::Image; + } + } + } + return RenderUpdateFlag::None; +} + /************************************************************************/ /* External Class Implementation */ /************************************************************************/ diff --git a/src/lib/tvgPictureImpl.h b/src/lib/tvgPictureImpl.h index 5c769033..18dde649 100644 --- a/src/lib/tvgPictureImpl.h +++ b/src/lib/tvgPictureImpl.h @@ -90,35 +90,6 @@ struct Picture::Impl return !animated; } - RenderUpdateFlag load() - { - if (loader) { - if (!paint) { - if (auto p = loader->paint()) { - paint = p.release(); - loader->close(); - if (w != loader->w || h != loader->h) { - if (!resizing) { - w = loader->w; - h = loader->h; - } - loader->resize(paint, w, h); - resizing = false; - } - if (paint) return RenderUpdateFlag::None; - } - } else loader->sync(); - - if (!surface) { - if ((surface = loader->bitmap().release())) { - loader->close(); - return RenderUpdateFlag::Image; - } - } - } - return RenderUpdateFlag::None; - } - RenderTransform resizeTransform(const RenderTransform* pTransform) { //Overriding Transformation by the desired image size @@ -334,6 +305,8 @@ struct Picture::Impl if (surface) return surface->buf32; else return nullptr; } + + RenderUpdateFlag load(); }; #endif //_TVG_PICTURE_IMPL_H_