Fix Rasterize not works when SetTransform is first time 63/303763/2
authorEunki, Hong <eunkiki.hong@samsung.com>
Thu, 4 Jan 2024 11:05:55 +0000 (20:05 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Thu, 4 Jan 2024 11:11:40 +0000 (20:11 +0900)
It is possible that SVG load complete, and after than layout executed.

If then, mDefaultSize of SVG is not zero, and rasterize task not requested.

Unfortunatly, if fitting mode settup into image view, the required size
of resterize might not correct. So, ImageView try to re-layout once again
at it's OnResourceReady signal.

This patch make we send rasterize signal at least one time, So let we ensure
the ImageView resource ready signal comes at least one time.

Change-Id: I3edb6a1a681898b007ef1b70470993da5c68c289
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
dali-toolkit/internal/visuals/svg/svg-visual.cpp

index 8d64c8f..49d62ab 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -71,7 +71,7 @@ SvgVisual::SvgVisual(VisualFactoryCache& factoryCache, ImageVisualShaderFactory&
   mDefaultWidth(0),
   mDefaultHeight(0),
   mPlacementActor(),
-  mRasterizedSize(Vector2::ZERO),
+  mRasterizedSize(-Vector2::ONE), ///< Let we don't use zero since visual size could be zero after trasnform
   mDesiredSize(size),
   mLoadFailed(false),
   mAttemptAtlasing(false)