Commit 4f18c49f3b0e724e336240f8f7f291ab2127655b

Authored by Xiangyin Ma
1 parent 33c47f51

Update Atlas demo

Change-Id: Iccdf7248363a76cb264a5559c11dbed4edbf73bd
Showing 1 changed file with 39 additions and 32 deletions
examples/atlas/atlas-example.cpp
@@ -77,8 +77,8 @@ public: @@ -77,8 +77,8 @@ public:
77 mLoseContextButton.ClickedSignal().Connect( this, &AtlasController::OnLoseContextButtonClicked ); 77 mLoseContextButton.ClickedSignal().Connect( this, &AtlasController::OnLoseContextButtonClicked );
78 mToolBar.AddControl( mLoseContextButton, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarButtonPercentage, Toolkit::Alignment::HorizontalRight, DemoHelper::DEFAULT_MODE_SWITCH_PADDING ); 78 mToolBar.AddControl( mLoseContextButton, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarButtonPercentage, Toolkit::Alignment::HorizontalRight, DemoHelper::DEFAULT_MODE_SWITCH_PADDING );
79 79
80 - mAtlas = Atlas::New( 400,300, Pixel::RGBA8888);  
81 - mAtlas.Clear(Vector4(0.f,0.5f,0.5f,0.5f)); 80 + mAtlas = Atlas::New( 400,700, Pixel::RGBA8888);
  81 + mAtlas.Clear(Vector4(0.f,0.5f,0.5f,0.25f));
82 mAtlas.Upload( DALI_IMAGE_DIR "icon-change.png", 50, 30 ); 82 mAtlas.Upload( DALI_IMAGE_DIR "icon-change.png", 50, 30 );
83 mAtlas.Upload( DALI_IMAGE_DIR "icon-cluster-carousel.png", 100, 30 ); 83 mAtlas.Upload( DALI_IMAGE_DIR "icon-cluster-carousel.png", 100, 30 );
84 mAtlas.Upload( DALI_IMAGE_DIR "icon-effects-on.png", 150, 30 ); 84 mAtlas.Upload( DALI_IMAGE_DIR "icon-effects-on.png", 150, 30 );
@@ -88,37 +88,28 @@ public: @@ -88,37 +88,28 @@ public:
88 mAtlas.Upload( DALI_IMAGE_DIR "icon-item-view-layout-depth.png", 150, 130 ); 88 mAtlas.Upload( DALI_IMAGE_DIR "icon-item-view-layout-depth.png", 150, 130 );
89 mAtlas.Upload( DALI_IMAGE_DIR "icon-item-view-layout-grid.png", 200, 130 ); 89 mAtlas.Upload( DALI_IMAGE_DIR "icon-item-view-layout-grid.png", 200, 130 );
90 mAtlas.Upload( DALI_IMAGE_DIR "icon-item-view-layout-spiral.png", 250, 130 ); 90 mAtlas.Upload( DALI_IMAGE_DIR "icon-item-view-layout-spiral.png", 250, 130 );
  91 +
91 UploadBufferImages(); 92 UploadBufferImages();
  93 + UploadPixelData();
  94 +
  95 + mAtlas.Upload( DALI_IMAGE_DIR "gallery-small-1.jpg", 4, 304 );
  96 + mAtlas.Upload( DALI_IMAGE_DIR "gallery-small-2.jpg", 136, 304 );
  97 + mAtlas.Upload( DALI_IMAGE_DIR "gallery-small-3.jpg", 268, 304 );
  98 + mAtlas.Upload( DALI_IMAGE_DIR "gallery-small-4.jpg", 4, 436 );
  99 + mAtlas.Upload( DALI_IMAGE_DIR "gallery-small-5.jpg", 136, 436 );
  100 + mAtlas.Upload( DALI_IMAGE_DIR "gallery-small-6.jpg", 268, 436 );
  101 + mAtlas.Upload( DALI_IMAGE_DIR "gallery-small-7.jpg", 4, 568 );
  102 + mAtlas.Upload( DALI_IMAGE_DIR "gallery-small-7.jpg", 136, 568 );
  103 + mAtlas.Upload( DALI_IMAGE_DIR "gallery-small-7.jpg", 268, 568 );
  104 +
  105 +
  106 + Toolkit::ImageView imageView = Toolkit::ImageView::New( mAtlas );
92 107
93 - Toolkit::ImageView imageActor1 = Toolkit::ImageView::New( mAtlas );  
94 - imageActor1.SetY(-170.f);  
95 - imageActor1.SetParentOrigin(ParentOrigin::CENTER);  
96 - mContentLayer.Add( imageActor1 );  
97 -  
98 - Atlas atlas2 = Atlas::New( 400,400, Pixel::RGB888);  
99 - atlas2.Clear( Color::RED );  
100 - atlas2.Upload( DALI_IMAGE_DIR "gallery-small-1.jpg", 4, 4 );  
101 - atlas2.Clear( Color::BLUE );  
102 - atlas2.Upload( DALI_IMAGE_DIR "gallery-small-2.jpg", 136, 4 );  
103 - atlas2.Upload( DALI_IMAGE_DIR "gallery-small-3.jpg", 268, 4 );  
104 - atlas2.Upload( DALI_IMAGE_DIR "gallery-small-4.jpg", 4, 136 );  
105 - atlas2.Upload( DALI_IMAGE_DIR "gallery-small-5.jpg", 136, 136 );  
106 - atlas2.Upload( DALI_IMAGE_DIR "gallery-small-6.jpg", 268, 135 );  
107 - atlas2.Upload( DALI_IMAGE_DIR "gallery-small-7.jpg", 4, 268 );  
108 - atlas2.Upload( DALI_IMAGE_DIR "gallery-small-7.jpg", 136, 268 );  
109 - atlas2.Upload( DALI_IMAGE_DIR "gallery-small-7.jpg", 268, 268 );  
110 -  
111 -  
112 - Toolkit::ImageView imageView = Toolkit::ImageView::New( DALI_IMAGE_DIR "gallery-small-1.jpg" );  
113 -  
114 - imageView.SetY(200.f);  
115 - imageView.SetZ(-1.f);  
116 imageView.SetParentOrigin(ParentOrigin::CENTER); 108 imageView.SetParentOrigin(ParentOrigin::CENTER);
117 mContentLayer.Add( imageView ); 109 mContentLayer.Add( imageView );
118 110
119 mPanGestureDetector = PanGestureDetector::New(); 111 mPanGestureDetector = PanGestureDetector::New();
120 mPanGestureDetector.DetectedSignal().Connect( this, &AtlasController::OnPanGesture ); 112 mPanGestureDetector.DetectedSignal().Connect( this, &AtlasController::OnPanGesture );
121 - mPanGestureDetector.Attach( imageActor1 );  
122 mPanGestureDetector.Attach( imageView ); 113 mPanGestureDetector.Attach( imageView );
123 114
124 stage.ContextLostSignal().Connect( this, &AtlasController::OnContextLost ); 115 stage.ContextLostSignal().Connect( this, &AtlasController::OnContextLost );
@@ -136,10 +127,13 @@ public: @@ -136,10 +127,13 @@ public:
136 mAtlas.Upload( CreateBufferImage( Vector4(0.5f, 0.5f, 0.f, 0.5f ), 80, 30 ), 240, 210 ); 127 mAtlas.Upload( CreateBufferImage( Vector4(0.5f, 0.5f, 0.f, 0.5f ), 80, 30 ), 240, 210 );
137 mAtlas.Upload( CreateBufferImage( Vector4(0.25f, 0.25f, 0.f, 0.5f ), 80, 20 ), 280, 210 ); 128 mAtlas.Upload( CreateBufferImage( Vector4(0.25f, 0.25f, 0.f, 0.5f ), 80, 20 ), 280, 210 );
138 mAtlas.Upload( CreateBufferImage( Vector4(0.1f, 0.1f, 0.f, 0.5f ), 80, 10 ), 320, 210 ); 129 mAtlas.Upload( CreateBufferImage( Vector4(0.1f, 0.1f, 0.f, 0.5f ), 80, 10 ), 320, 210 );
139 - BufferImage redBlock = CreateBufferImage( Color::RED, 40, 40 );  
140 - mAtlas.Upload(redBlock, 320, 30);  
141 - mAtlas.Upload(redBlock, 320, 80);  
142 - mAtlas.Upload(redBlock, 320, 130); 130 + }
  131 +
  132 + void UploadPixelData()
  133 + {
  134 + mAtlas.Upload( CreatePixelData( Vector3(1.f, 1.f, 0.f ), 40, 40 ), 320, 30 );
  135 + mAtlas.Upload( CreatePixelData( Vector3(0.f, 1.f, 1.f ), 40, 40 ), 320, 80 );
  136 + mAtlas.Upload( CreatePixelData( Vector3(1.f, 0.f, 1.f ), 40, 40 ), 320, 130 );
143 } 137 }
144 138
145 static void NewWindow(void) 139 static void NewWindow(void)
@@ -183,6 +177,7 @@ public: @@ -183,6 +177,7 @@ public:
183 { 177 {
184 printf("Stage reporting context regain\n"); 178 printf("Stage reporting context regain\n");
185 UploadBufferImages(); 179 UploadBufferImages();
  180 + UploadPixelData();
186 } 181 }
187 182
188 private: 183 private:
@@ -202,11 +197,23 @@ private: @@ -202,11 +197,23 @@ private:
202 pixbuf[i*4+3] = 0xFF * color.a; 197 pixbuf[i*4+3] = 0xFF * color.a;
203 } 198 }
204 199
205 - imageData.Update();  
206 -  
207 return imageData; 200 return imageData;
208 } 201 }
209 202
  203 + PixelDataPtr CreatePixelData( const Vector3& color, const unsigned int width, const unsigned int height )
  204 + {
  205 + unsigned int size = width*height;
  206 + unsigned char* pixels = new unsigned char [size*3u];
  207 + for( unsigned int i = 0; i < size; i++ )
  208 + {
  209 + pixels[i*3u] = 0xFF * color.x;
  210 + pixels[i*3u+1u] = 0xFF * color.y;
  211 + pixels[i*3u+2u] = 0xFF * color.z;
  212 + }
  213 +
  214 + return PixelData::New( pixels, width, height, Pixel::RGB888, PixelData::DELETE_ARRAY );
  215 + }
  216 +
210 217
211 private: 218 private:
212 Application& mApplication; 219 Application& mApplication;