Commit c034e9f65dff83e38861979d442eb2c46b4f9cb2
[dali_1.4.3] Merge branch 'devel/master'
Change-Id: I63cedb954638d4acb4e00a58da7f6b56d230b4b6
Showing
2 changed files
with
46 additions
and
48 deletions
examples/animated-vector-images/animated-vector-images-example.cpp
| @@ -21,6 +21,8 @@ | @@ -21,6 +21,8 @@ | ||
| 21 | #include <dali-toolkit/dali-toolkit.h> | 21 | #include <dali-toolkit/dali-toolkit.h> |
| 22 | #include <dali-toolkit/devel-api/controls/control-devel.h> | 22 | #include <dali-toolkit/devel-api/controls/control-devel.h> |
| 23 | #include <dali-toolkit/devel-api/visuals/animated-vector-image-visual-actions-devel.h> | 23 | #include <dali-toolkit/devel-api/visuals/animated-vector-image-visual-actions-devel.h> |
| 24 | +#include <dali-toolkit/devel-api/visuals/animated-vector-image-visual-signals-devel.h> | ||
| 25 | +#include <dali-toolkit/devel-api/visuals/image-visual-properties-devel.h> | ||
| 24 | 26 | ||
| 25 | using namespace Dali; | 27 | using namespace Dali; |
| 26 | using namespace Dali::Toolkit; | 28 | using namespace Dali::Toolkit; |
| @@ -48,14 +50,14 @@ enum CellPlacement | @@ -48,14 +50,14 @@ enum CellPlacement | ||
| 48 | NUMBER_OF_ROWS | 50 | NUMBER_OF_ROWS |
| 49 | }; | 51 | }; |
| 50 | 52 | ||
| 51 | -unsigned int GetButtonIndex( Button button ) | 53 | +unsigned int GetControlIndex( Control control ) |
| 52 | { | 54 | { |
| 53 | - std::string buttonName = button.GetName(); | 55 | + std::string controlName = control.GetName(); |
| 54 | unsigned int index = 0; | 56 | unsigned int index = 0; |
| 55 | 57 | ||
| 56 | - if ( buttonName != "") | 58 | + if ( controlName != "") |
| 57 | { | 59 | { |
| 58 | - index = std::stoul( buttonName ); | 60 | + index = std::stoul( controlName ); |
| 59 | } | 61 | } |
| 60 | 62 | ||
| 61 | return index; | 63 | return index; |
| @@ -114,31 +116,31 @@ class AnimatedVectorImageViewController: public ConnectionTracker | @@ -114,31 +116,31 @@ class AnimatedVectorImageViewController: public ConnectionTracker | ||
| 114 | mPlayButtons[x].SetName( s ); | 116 | mPlayButtons[x].SetName( s ); |
| 115 | mTable.AddChild( mPlayButtons[x], TableView::CellPosition( CellPlacement::TOP_BUTTON, x ) ); | 117 | mTable.AddChild( mPlayButtons[x], TableView::CellPosition( CellPlacement::TOP_BUTTON, x ) ); |
| 116 | 118 | ||
| 117 | - mPauseButtons[x] = PushButton::New(); | ||
| 118 | - mPauseButtons[x].SetProperty( Button::Property::LABEL, "Pause" ); | ||
| 119 | - mPauseButtons[x].SetParentOrigin( ParentOrigin::BOTTOM_CENTER ); | ||
| 120 | - mPauseButtons[x].SetAnchorPoint( AnchorPoint::BOTTOM_CENTER ); | ||
| 121 | - mPauseButtons[x].ClickedSignal().Connect( this, &AnimatedVectorImageViewController::OnPauseButtonClicked ); | ||
| 122 | - mPauseButtons[x].SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH ); | ||
| 123 | - mPauseButtons[x].SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT ); | ||
| 124 | - mPauseButtons[x].SetName( s ); | ||
| 125 | - mTable.AddChild( mPauseButtons[x], TableView::CellPosition( CellPlacement::LOWER_BUTTON, x ) ); | 119 | + mStopButtons[x] = PushButton::New(); |
| 120 | + mStopButtons[x].SetProperty( Button::Property::LABEL, "Stop" ); | ||
| 121 | + mStopButtons[x].SetParentOrigin( ParentOrigin::BOTTOM_CENTER ); | ||
| 122 | + mStopButtons[x].SetAnchorPoint( AnchorPoint::BOTTOM_CENTER ); | ||
| 123 | + mStopButtons[x].ClickedSignal().Connect( this, &AnimatedVectorImageViewController::OnStopButtonClicked ); | ||
| 124 | + mStopButtons[x].SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH ); | ||
| 125 | + mStopButtons[x].SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT ); | ||
| 126 | + mStopButtons[x].SetName( s ); | ||
| 127 | + mTable.AddChild( mStopButtons[x], TableView::CellPosition( CellPlacement::LOWER_BUTTON, x ) ); | ||
| 126 | 128 | ||
| 127 | mImageViews[x] = ImageView::New( ); | 129 | mImageViews[x] = ImageView::New( ); |
| 128 | Property::Map imagePropertyMap; | 130 | Property::Map imagePropertyMap; |
| 129 | - imagePropertyMap.Insert( Visual::Property::TYPE, Visual::IMAGE ); | ||
| 130 | - imagePropertyMap.Insert( ImageVisual::Property::URL, IMAGE_PATH[ x ] ); | ||
| 131 | - mImageViews[x].SetProperty( ImageView::Property::IMAGE , imagePropertyMap ); | 131 | + imagePropertyMap.Insert( Visual::Property::TYPE, Visual::IMAGE ); |
| 132 | + imagePropertyMap.Insert( ImageVisual::Property::URL, IMAGE_PATH[ x ] ); | ||
| 133 | + imagePropertyMap.Insert( DevelImageVisual::Property::LOOP_COUNT, 3 ); | ||
| 134 | + mImageViews[x].SetProperty( ImageView::Property::IMAGE, imagePropertyMap ); | ||
| 132 | 135 | ||
| 133 | mImageViews[x].SetParentOrigin( ParentOrigin::CENTER ); | 136 | mImageViews[x].SetParentOrigin( ParentOrigin::CENTER ); |
| 134 | mImageViews[x].SetAnchorPoint( AnchorPoint::CENTER ); | 137 | mImageViews[x].SetAnchorPoint( AnchorPoint::CENTER ); |
| 135 | mImageViews[x].SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS ); | 138 | mImageViews[x].SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS ); |
| 139 | + mImageViews[x].SetName( s ); | ||
| 136 | 140 | ||
| 137 | - mTable.AddChild( mImageViews[x], TableView::CellPosition( CellPlacement::IMAGE, x ) ); | 141 | + DevelControl::VisualEventSignal( mImageViews[x] ).Connect( this, &AnimatedVectorImageViewController::OnVisualEvent ); |
| 138 | 142 | ||
| 139 | - // Set changeable counter and toggle for each ImageView | ||
| 140 | - mImageViewPlayStatus[x] = false; | ||
| 141 | - mImageViewPauseStatus[x] = false; | 143 | + mTable.AddChild( mImageViews[x], TableView::CellPosition( CellPlacement::IMAGE, x ) ); |
| 142 | } | 144 | } |
| 143 | 145 | ||
| 144 | Stage::GetCurrent().KeyEventSignal().Connect(this, &AnimatedVectorImageViewController::OnKeyEvent); | 146 | Stage::GetCurrent().KeyEventSignal().Connect(this, &AnimatedVectorImageViewController::OnKeyEvent); |
| @@ -148,48 +150,46 @@ private: | @@ -148,48 +150,46 @@ private: | ||
| 148 | 150 | ||
| 149 | bool OnPlayButtonClicked( Button button ) | 151 | bool OnPlayButtonClicked( Button button ) |
| 150 | { | 152 | { |
| 151 | - unsigned int buttonIndex = GetButtonIndex( button ); | 153 | + unsigned int controlIndex = GetControlIndex( button ); |
| 154 | + | ||
| 155 | + ImageView imageView = mImageViews[controlIndex]; | ||
| 152 | 156 | ||
| 153 | - ImageView imageView = mImageViews[buttonIndex]; | ||
| 154 | - if( !mImageViewPlayStatus[buttonIndex] ) | 157 | + Property::Map map = imageView.GetProperty< Property::Map >( ImageView::Property::IMAGE ); |
| 158 | + Property::Value* value = map.Find( DevelImageVisual::Property::PLAY_STATE ); | ||
| 159 | + | ||
| 160 | + if( value->Get< int >() != static_cast< int >( DevelImageVisual::PlayState::PLAYING ) ) | ||
| 155 | { | 161 | { |
| 156 | - mPlayButtons[buttonIndex].SetProperty( Button::Property::LABEL, "Stop" ); | 162 | + mPlayButtons[controlIndex].SetProperty( Button::Property::LABEL, "Pause" ); |
| 157 | 163 | ||
| 158 | DevelControl::DoAction( imageView, ImageView::Property::IMAGE, DevelAnimatedVectorImageVisual::Action::PLAY, Property::Value() ); | 164 | DevelControl::DoAction( imageView, ImageView::Property::IMAGE, DevelAnimatedVectorImageVisual::Action::PLAY, Property::Value() ); |
| 159 | } | 165 | } |
| 160 | else | 166 | else |
| 161 | { | 167 | { |
| 162 | - mPlayButtons[buttonIndex].SetProperty( Button::Property::LABEL, "Play" ); | 168 | + mPlayButtons[controlIndex].SetProperty( Button::Property::LABEL, "Play" ); |
| 163 | 169 | ||
| 164 | - DevelControl::DoAction( imageView, ImageView::Property::IMAGE, DevelAnimatedVectorImageVisual::Action::STOP, Property::Value() ); | 170 | + DevelControl::DoAction( imageView, ImageView::Property::IMAGE, DevelAnimatedVectorImageVisual::Action::PAUSE, Property::Value() ); |
| 165 | } | 171 | } |
| 166 | 172 | ||
| 167 | - mImageViewPlayStatus[buttonIndex] = !mImageViewPlayStatus[buttonIndex]; | ||
| 168 | - | ||
| 169 | return true; | 173 | return true; |
| 170 | } | 174 | } |
| 171 | 175 | ||
| 172 | - bool OnPauseButtonClicked( Button button ) | 176 | + bool OnStopButtonClicked( Button button ) |
| 173 | { | 177 | { |
| 174 | - unsigned int buttonIndex = GetButtonIndex( button ); | 178 | + unsigned int controlIndex = GetControlIndex( button ); |
| 179 | + ImageView imageView = mImageViews[controlIndex]; | ||
| 180 | + DevelControl::DoAction( imageView, ImageView::Property::IMAGE, DevelAnimatedVectorImageVisual::Action::STOP, Property::Value() ); | ||
| 175 | 181 | ||
| 176 | - ImageView imageView = mImageViews[buttonIndex]; | ||
| 177 | - if( !mImageViewPauseStatus[buttonIndex] ) | ||
| 178 | - { | ||
| 179 | - mPauseButtons[buttonIndex].SetProperty( Button::Property::LABEL, "Resume" ); | 182 | + return true; |
| 183 | + } | ||
| 180 | 184 | ||
| 181 | - DevelControl::DoAction( imageView, ImageView::Property::IMAGE, DevelAnimatedVectorImageVisual::Action::PAUSE, Property::Value() ); | ||
| 182 | - } | ||
| 183 | - else | ||
| 184 | - { | ||
| 185 | - mPauseButtons[buttonIndex].SetProperty( Button::Property::LABEL, "Pause" ); | 185 | + void OnVisualEvent( Control control, Dali::Property::Index visualIndex, Dali::Property::Index signalId ) |
| 186 | + { | ||
| 187 | + unsigned int controlIndex = GetControlIndex( control ); | ||
| 186 | 188 | ||
| 187 | - DevelControl::DoAction( imageView, ImageView::Property::IMAGE, DevelAnimatedVectorImageVisual::Action::RESUME, Property::Value() ); | 189 | + if( visualIndex == ImageView::Property::IMAGE && signalId == DevelAnimatedVectorImageVisual::Signal::ANIMATION_FINISHED ) |
| 190 | + { | ||
| 191 | + mPlayButtons[controlIndex].SetProperty( Button::Property::LABEL, "Play" ); | ||
| 188 | } | 192 | } |
| 189 | - | ||
| 190 | - mImageViewPauseStatus[buttonIndex] = !mImageViewPauseStatus[buttonIndex]; | ||
| 191 | - | ||
| 192 | - return true; | ||
| 193 | } | 193 | } |
| 194 | 194 | ||
| 195 | /** | 195 | /** |
| @@ -215,9 +215,7 @@ private: | @@ -215,9 +215,7 @@ private: | ||
| 215 | TableView mTable; | 215 | TableView mTable; |
| 216 | ImageView mImageViews[ NUMBER_OF_IMAGES ]; | 216 | ImageView mImageViews[ NUMBER_OF_IMAGES ]; |
| 217 | PushButton mPlayButtons[ NUMBER_OF_IMAGES ]; | 217 | PushButton mPlayButtons[ NUMBER_OF_IMAGES ]; |
| 218 | - PushButton mPauseButtons[ NUMBER_OF_IMAGES ]; | ||
| 219 | - bool mImageViewPlayStatus[ NUMBER_OF_IMAGES ]; | ||
| 220 | - bool mImageViewPauseStatus[ NUMBER_OF_IMAGES ]; | 218 | + PushButton mStopButtons[ NUMBER_OF_IMAGES ]; |
| 221 | 219 | ||
| 222 | }; | 220 | }; |
| 223 | 221 |
packaging/com.samsung.dali-demo.spec
| @@ -2,7 +2,7 @@ | @@ -2,7 +2,7 @@ | ||
| 2 | 2 | ||
| 3 | Name: com.samsung.dali-demo | 3 | Name: com.samsung.dali-demo |
| 4 | Summary: The OpenGLES Canvas Core Demo | 4 | Summary: The OpenGLES Canvas Core Demo |
| 5 | -Version: 1.4.2 | 5 | +Version: 1.4.3 |
| 6 | Release: 1 | 6 | Release: 1 |
| 7 | Group: System/Libraries | 7 | Group: System/Libraries |
| 8 | License: Apache-2.0 | 8 | License: Apache-2.0 |