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 77 mLoseContextButton.ClickedSignal().Connect( this, &AtlasController::OnLoseContextButtonClicked );
78 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 82 mAtlas.Upload( DALI_IMAGE_DIR "icon-change.png", 50, 30 );
83 83 mAtlas.Upload( DALI_IMAGE_DIR "icon-cluster-carousel.png", 100, 30 );
84 84 mAtlas.Upload( DALI_IMAGE_DIR "icon-effects-on.png", 150, 30 );
... ... @@ -88,37 +88,28 @@ public:
88 88 mAtlas.Upload( DALI_IMAGE_DIR "icon-item-view-layout-depth.png", 150, 130 );
89 89 mAtlas.Upload( DALI_IMAGE_DIR "icon-item-view-layout-grid.png", 200, 130 );
90 90 mAtlas.Upload( DALI_IMAGE_DIR "icon-item-view-layout-spiral.png", 250, 130 );
  91 +
91 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 108 imageView.SetParentOrigin(ParentOrigin::CENTER);
117 109 mContentLayer.Add( imageView );
118 110  
119 111 mPanGestureDetector = PanGestureDetector::New();
120 112 mPanGestureDetector.DetectedSignal().Connect( this, &AtlasController::OnPanGesture );
121   - mPanGestureDetector.Attach( imageActor1 );
122 113 mPanGestureDetector.Attach( imageView );
123 114  
124 115 stage.ContextLostSignal().Connect( this, &AtlasController::OnContextLost );
... ... @@ -136,10 +127,13 @@ public:
136 127 mAtlas.Upload( CreateBufferImage( Vector4(0.5f, 0.5f, 0.f, 0.5f ), 80, 30 ), 240, 210 );
137 128 mAtlas.Upload( CreateBufferImage( Vector4(0.25f, 0.25f, 0.f, 0.5f ), 80, 20 ), 280, 210 );
138 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 139 static void NewWindow(void)
... ... @@ -183,6 +177,7 @@ public:
183 177 {
184 178 printf("Stage reporting context regain\n");
185 179 UploadBufferImages();
  180 + UploadPixelData();
186 181 }
187 182  
188 183 private:
... ... @@ -202,11 +197,23 @@ private:
202 197 pixbuf[i*4+3] = 0xFF * color.a;
203 198 }
204 199  
205   - imageData.Update();
206   -
207 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 218 private:
212 219 Application& mApplication;
... ...