Make NPatchData receive LoadComplete call from TextureManager. 92/248592/18
authorSeungho Baek <sbsh.baek@samsung.com>
Mon, 30 Nov 2020 05:45:41 +0000 (14:45 +0900)
committerSeungho Baek <sbsh.baek@samsung.com>
Wed, 16 Dec 2020 08:12:05 +0000 (17:12 +0900)
commite9ce8b35ce64531e5c6c6214527a5bf9b9747a36
treebbff8fc60a1c68735397bad52db9c9d673fd4d67
parent6ecc4c026c8e398c1a13cba2584c62092f4cf014
Make NPatchData receive LoadComplete call from TextureManager.

 - If an NPatchVisual is destroyed before it receives LoadComplete,
   the loading process of the npatch image is never completed.
 - At that time, because the cache data is already created, every request of the image after that is ignored.
 - In this patch, NPatchData is separated from NpatchLoader and NPatchData request npatch loading to Texture Manager instead of NPatchVisual as a representative.
 - After the loading is completed, NPatchData receives LoadComplete call and makes textureSet.
 - And, The NpatchData sends UploadComplete call to the each NPatchVisuals those originally request it.

 + Additionally, this patch includes an method to remove unused cached data.

Change-Id: I0879a9eaa62aac8533fbc6b8d9416805ab7a0675
Signed-off-by: Seungho Baek <sbsh.baek@samsung.com>
12 files changed:
automated-tests/src/dali-toolkit-internal/addons/test-rendering-addon.cpp
automated-tests/src/dali-toolkit/utc-Dali-VisualFactory.cpp
dali-toolkit/internal/controls/control/control-data-impl.cpp
dali-toolkit/internal/file.list
dali-toolkit/internal/visuals/npatch-data.cpp [new file with mode: 0644]
dali-toolkit/internal/visuals/npatch-data.h [new file with mode: 0644]
dali-toolkit/internal/visuals/npatch-loader.cpp
dali-toolkit/internal/visuals/npatch-loader.h
dali-toolkit/internal/visuals/npatch/npatch-visual.cpp
dali-toolkit/internal/visuals/npatch/npatch-visual.h
dali-toolkit/internal/visuals/texture-manager-impl.cpp
dali-toolkit/internal/visuals/texture-manager-impl.h