png_loader(static): Move the colortype check code to open() 05/289905/1
authorJunsuChoi <jsuya.choi@samsung.com>
Fri, 10 Feb 2023 04:46:06 +0000 (13:46 +0900)
committerMichal Szczecinski <m.szczecinsk@partner.samsung.com>
Wed, 15 Mar 2023 07:31:09 +0000 (08:31 +0100)
Change-Id: I6711b294b24e3e89bf93f96e0c78f8026ac75375

src/loaders/png/tvgPngLoader.cpp

index d415332..2d8f78b 100644 (file)
@@ -125,6 +125,8 @@ bool PngLoader::open(const string& path)
     h = static_cast<float>(height);
     ret = true;
 
+    if (state.info_png.color.colortype == LCT_RGBA) colorSpace = SwCanvas::ABGR8888;
+
     goto finalize;
 
 failure:
@@ -159,6 +161,8 @@ bool PngLoader::open(const char* data, uint32_t size, bool copy)
     h = static_cast<float>(height);
     this->size = size;
 
+    if (state.info_png.color.colortype == LCT_RGBA) colorSpace = SwCanvas::ABGR8888;
+
     return true;
 }
 
@@ -213,7 +217,5 @@ void PngLoader::run(unsigned tid)
 
     lodepng_decode(&image, &width, &height, &state, data, size);
 
-    if (state.info_png.color.colortype == LCT_RGBA) colorSpace = SwCanvas::ABGR8888;
-
     _premultiply((uint32_t*)(image), width, height);
 }