#include <dali/dali.h>
#include <dali-toolkit/dali-toolkit.h>
#include <dali/devel-api/images/atlas.h>
+#include <dali/devel-api/rendering/cull-face.h>
using namespace Dali;
using namespace Dali::Toolkit;
{
Stage stage = Dali::Stage::GetCurrent();
stage.KeyEventSignal().Connect(this, &ItemViewExample::OnKeyEvent);
+ stage.GetRootLayer().SetBehavior(Layer::LAYER_3D);
Vector2 stageSize = Stage::GetCurrent().GetSize();
// Create an edit mode button. (left of toolbar)
Toolkit::PushButton editButton = Toolkit::PushButton::New();
- editButton.SetButtonImage( ResourceImage::New( EDIT_IMAGE ) );
- editButton.SetSelectedImage( ResourceImage::New( EDIT_IMAGE_SELECTED ) );
+ editButton.SetUnselectedImage( EDIT_IMAGE );
+ editButton.SetSelectedImage( EDIT_IMAGE_SELECTED );
editButton.ClickedSignal().Connect( this, &ItemViewExample::OnModeButtonClicked);
editButton.SetLeaveRequired( true );
mToolBar.AddControl( editButton, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarButtonPercentage, Toolkit::Alignment::HorizontalLeft, DemoHelper::DEFAULT_MODE_SWITCH_PADDING );
// Create a layout toggle button. (right of toolbar)
mLayoutButton = Toolkit::PushButton::New();
- mLayoutButton.SetButtonImage( ResourceImage::New( SPIRAL_LAYOUT_IMAGE ) );
- mLayoutButton.SetSelectedImage( ResourceImage::New( SPIRAL_LAYOUT_IMAGE_SELECTED ) );
+ mLayoutButton.SetUnselectedImage( SPIRAL_LAYOUT_IMAGE );
+ mLayoutButton.SetSelectedImage(SPIRAL_LAYOUT_IMAGE_SELECTED );
mLayoutButton.ClickedSignal().Connect( this, &ItemViewExample::OnLayoutButtonClicked);
mLayoutButton.SetLeaveRequired( true );
mToolBar.AddControl( mLayoutButton, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarButtonPercentage, Toolkit::Alignment::HorizontalRight, DemoHelper::DEFAULT_MODE_SWITCH_PADDING );
mDeleteButton.SetAnchorPoint(AnchorPoint::BOTTOM_RIGHT);
mDeleteButton.SetPosition( BUTTON_BORDER, BUTTON_BORDER );
mDeleteButton.SetDrawMode( DrawMode::OVERLAY_2D );
- mDeleteButton.SetButtonImage( ResourceImage::New( DELETE_IMAGE ) );
- mDeleteButton.SetSelectedImage( ResourceImage::New( DELETE_IMAGE_SELECTED ) );
- mDeleteButton.SetBackgroundImage( ResourceImage::New( TOOLBAR_IMAGE ) );
+ mDeleteButton.SetUnselectedImage( DELETE_IMAGE );
+ mDeleteButton.SetSelectedImage( DELETE_IMAGE_SELECTED );
+ mDeleteButton.SetBackgroundImage( TOOLBAR_IMAGE );
mDeleteButton.SetSize( Vector2( stageSize.width * 0.15f, stageSize.width * 0.15f ) );
mDeleteButton.ClickedSignal().Connect( this, &ItemViewExample::OnDeleteButtonClicked);
mDeleteButton.SetLeaveRequired( true );
mInsertButton.SetAnchorPoint(AnchorPoint::BOTTOM_RIGHT);
mInsertButton.SetPosition( BUTTON_BORDER, BUTTON_BORDER );
mInsertButton.SetDrawMode( DrawMode::OVERLAY_2D );
- mInsertButton.SetButtonImage( ResourceImage::New( INSERT_IMAGE ) );
- mInsertButton.SetSelectedImage( ResourceImage::New( INSERT_IMAGE_SELECTED ) );
- mInsertButton.SetBackgroundImage( ResourceImage::New( TOOLBAR_IMAGE ) );
+ mInsertButton.SetUnselectedImage( INSERT_IMAGE );
+ mInsertButton.SetSelectedImage( INSERT_IMAGE_SELECTED );
+ mInsertButton.SetBackgroundImage( TOOLBAR_IMAGE );
mInsertButton.SetSize( stageSize.width * 0.15f, stageSize.width * 0.15f );
mInsertButton.ClickedSignal().Connect( this, &ItemViewExample::OnInsertButtonClicked);
mInsertButton.SetLeaveRequired( true );
mReplaceButton.SetAnchorPoint(AnchorPoint::BOTTOM_RIGHT);
mReplaceButton.SetPosition( BUTTON_BORDER, BUTTON_BORDER );
mReplaceButton.SetDrawMode( DrawMode::OVERLAY_2D );
- mReplaceButton.SetButtonImage( ResourceImage::New( REPLACE_IMAGE ) );
- mReplaceButton.SetSelectedImage( ResourceImage::New( REPLACE_IMAGE_SELECTED ) );
- mReplaceButton.SetBackgroundImage( ResourceImage::New( TOOLBAR_IMAGE ) );
+ mReplaceButton.SetUnselectedImage( REPLACE_IMAGE );
+ mReplaceButton.SetSelectedImage( REPLACE_IMAGE_SELECTED );
+ mReplaceButton.SetBackgroundImage( TOOLBAR_IMAGE );
mReplaceButton.SetSize( stageSize.width * 0.15f, stageSize.width * 0.15f );
mReplaceButton.ClickedSignal().Connect( this, &ItemViewExample::OnReplaceButtonClicked);
mReplaceButton.SetLeaveRequired( true );
mReplaceButton.SetVisible( false );
stage.Add( mReplaceButton );
+ // Store one 1x1 white image for multiple items to share for backgrounds:
+ mWhiteImage = BufferImage::WHITE();
+
// Create the item view actor
mImageAtlas = CreateImageAtlas();
mItemView = ItemView::New(*this);
// Display item view on the stage
stage.Add( mItemView );
+ stage.GetRootLayer().SetBehavior( Layer::LAYER_3D );
// Create the layouts
mSpiralLayout = DefaultItemLayout::New( DefaultItemLayout::SPIRAL );
// Set the title and icon to the current layout
SetLayoutTitle();
SetLayoutImage();
-
- // Store one 1x1 white image for multiple items to share for backgrounds:
- mWhiteImage = BufferImage::WHITE();
}
Actor OnKeyboardPreFocusChange( Actor current, Actor proposed, Control::KeyboardFocus::Direction direction )
{
case SPIRAL_LAYOUT:
{
- mLayoutButton.SetButtonImage( ResourceImage::New( SPIRAL_LAYOUT_IMAGE ) );
- mLayoutButton.SetSelectedImage( ResourceImage::New( SPIRAL_LAYOUT_IMAGE_SELECTED ) );
+ mLayoutButton.SetUnselectedImage( SPIRAL_LAYOUT_IMAGE );
+ mLayoutButton.SetSelectedImage( SPIRAL_LAYOUT_IMAGE_SELECTED );
break;
}
case GRID_LAYOUT:
{
- mLayoutButton.SetButtonImage( ResourceImage::New( GRID_LAYOUT_IMAGE ) );
- mLayoutButton.SetSelectedImage( ResourceImage::New( GRID_LAYOUT_IMAGE_SELECTED ) );
+ mLayoutButton.SetUnselectedImage( GRID_LAYOUT_IMAGE );
+ mLayoutButton.SetSelectedImage( GRID_LAYOUT_IMAGE_SELECTED );
break;
}
case DEPTH_LAYOUT:
{
- mLayoutButton.SetButtonImage( ResourceImage::New( DEPTH_LAYOUT_IMAGE ) );
- mLayoutButton.SetSelectedImage( ResourceImage::New( DEPTH_LAYOUT_IMAGE_SELECTED ) );
+ mLayoutButton.SetUnselectedImage( DEPTH_LAYOUT_IMAGE );
+ mLayoutButton.SetSelectedImage( DEPTH_LAYOUT_IMAGE_SELECTED );
break;
}
checkbox.SetSize( spiralItemSize.width * 0.2f, spiralItemSize.width * 0.2f );
checkbox.SetPosition( -SELECTION_BORDER_WIDTH, SELECTION_BORDER_WIDTH );
checkbox.SetZ( 1.0f );
+ SetCullFace(checkbox, Dali::CullBack);
+ checkbox.SetSortModifier( 150.0f );
if( MODE_REMOVE_MANY != mMode &&
MODE_INSERT_MANY != mMode &&
MODE_REPLACE_MANY != mMode )
tick.SetAnchorPoint( AnchorPoint::TOP_RIGHT );
tick.SetSize( spiralItemSize.width * 0.2f, spiralItemSize.width * 0.2f );
tick.SetZ( 1.0f );
+ tick.SetSortModifier( 150.0f );
tick.SetVisible( false );
+ SetCullFace(tick, Dali::CullBack);
checkbox.Add( tick );
// Connect new items for various editing modes