Updated ImageVisual to handle CPU Image Masking 64/130964/8
authorDavid Steele <david.steele@samsung.com>
Mon, 27 Mar 2017 13:24:36 +0000 (14:24 +0100)
committerDavid Steele <david.steele@samsung.com>
Wed, 7 Jun 2017 19:48:16 +0000 (20:48 +0100)
commit305b42da3085e8b4682ddadebdab7661148a0cb6
tree070f64009a4a85eacf0e3580fdc21f427d338fc8
parenteaebf2e8aa5903e4acbb37ae46050e009863146c
Updated ImageVisual to handle CPU Image Masking

Updated ImageVisual to add a URL for an alpha mask image. If this is present
in the initialization map, then the mask is loaded and stored in CPU (it
may be used by other textures). On triggering the Async image loading in
TextureManager, the alpha mask's textureId can be passed in.

Added new state machine to TextureManager to handle loading a mask and
and an image; and to apply the mask to the image when both have loaded.

Image masks are applied in CPU side, so they are stored in CPU memory.
All other images are uploaded to GPU ( after optional mask has been applied )

Change-Id: I6cce7f62d6d6765dc6199bb25891791333533dea
automated-tests/resources/mask.png [new file with mode: 0644]
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-compare-types.h
automated-tests/src/dali-toolkit/utc-Dali-ImageVisual.cpp
dali-toolkit/devel-api/visuals/image-visual-properties-devel.h
dali-toolkit/internal/visuals/image/image-visual.cpp
dali-toolkit/internal/visuals/image/image-visual.h
dali-toolkit/internal/visuals/texture-manager.cpp
dali-toolkit/internal/visuals/texture-manager.h