Updated demos to use DALi clang-format
[platform/core/uifw/dali-demo.git] / examples / rendering-textured-cube / rendering-textured-cube.cpp
index b5f6430..e3df9de 100644 (file)
  *
  */
 
-#include <dali/dali.h>
 #include <dali-toolkit/dali-toolkit.h>
+#include <dali/dali.h>
 
 using namespace Dali;
 using namespace Toolkit;
 
 namespace
 {
+// clang-format off
 
 /*
  * Vertex shader
@@ -56,22 +57,22 @@ void main()\n
   gl_FragColor = texColor;\n
 }\n
 );
+// clang-format on
 
 const char* TEXTURE_URL = DEMO_IMAGE_DIR "wood.png";
 
-}
+} // namespace
 
 // This example shows how to create textured cube
 //
 class TexturedCubeController : public ConnectionTracker
 {
 public:
-
-  TexturedCubeController( Application& application )
-  : mApplication( application )
+  TexturedCubeController(Application& application)
+  : mApplication(application)
   {
     // Connect to the Application's Init signal
-    mApplication.InitSignal().Connect( this, &TexturedCubeController::Create );
+    mApplication.InitSignal().Connect(this, &TexturedCubeController::Create);
   }
 
   ~TexturedCubeController()
@@ -80,11 +81,11 @@ public:
   }
 
   // The Init signal is received once (only) during the Application lifetime
-  void Create( Application& application )
+  void Create(Application& application)
   {
     // Get a handle to the window
     Window window = application.GetWindow();
-    window.SetBackgroundColor( Color::WHITE );
+    window.SetBackgroundColor(Color::WHITE);
 
     // Step 1. Create shader
     CreateCubeShader();
@@ -105,13 +106,13 @@ public:
     PlayAnimation();
 
     // Respond to a click anywhere on the window
-    window.GetRootLayer().TouchedSignal().Connect( this, &TexturedCubeController::OnTouch );
+    window.GetRootLayer().TouchedSignal().Connect(this, &TexturedCubeController::OnTouch);
 
     // Respond to key events
-    window.KeyEventSignal().Connect( this, &TexturedCubeController::OnKeyEvent );
+    window.KeyEventSignal().Connect(this, &TexturedCubeController::OnKeyEvent);
   }
 
-  bool OnTouch( Actor actor, const TouchEvent& touch )
+  bool OnTouch(Actor actor, const TouchEvent& touch)
   {
     // quit the application
     mApplication.Quit();
@@ -124,11 +125,11 @@ public:
    * Will use this to quit the application if Back or the Escape key is received
    * @param[in] event The key event information
    */
-  void OnKeyEvent( const KeyEvent& event )
+  void OnKeyEvent(const KeyEvent& event)
   {
-    if( event.GetState() == KeyEvent::DOWN )
+    if(event.GetState() == KeyEvent::DOWN)
     {
-      if ( IsKey( event, Dali::DALI_KEY_ESCAPE ) || IsKey( event, Dali::DALI_KEY_BACK ) )
+      if(IsKey(event, Dali::DALI_KEY_ESCAPE) || IsKey(event, Dali::DALI_KEY_BACK))
       {
         mApplication.Quit();
       }
@@ -149,69 +150,57 @@ public:
     };
 
     Vertex vertices[] = {
-      { Vector3(  1.0f,-1.0f,-1.0f ), Vector2( 1.0, 1.0 ) },
-      { Vector3( -1.0f, 1.0f,-1.0f ), Vector2( 0.0, 0.0 ) },
-      { Vector3(  1.0f, 1.0f,-1.0f ), Vector2( 0.0, 1.0 ) },
-      { Vector3( -1.0f, 1.0f, 1.0f ), Vector2( 1.0, 1.0 ) },
-      { Vector3(  1.0f,-1.0f, 1.0f ), Vector2( 0.0, 0.0 ) },
-      { Vector3(  1.0f, 1.0f, 1.0f ), Vector2( 0.0, 1.0 ) },
-      { Vector3(  1.0f, 1.0f, 1.0f ), Vector2( 1.0, 1.0 ) },
-      { Vector3(  1.0f,-1.0f,-1.0f ), Vector2( 0.0, 0.0 ) },
-      { Vector3(  1.0f, 1.0f,-1.0f ), Vector2( 0.0, 1.0 ) },
-      { Vector3(  1.0f,-1.0f, 1.0f ), Vector2( 1.0, 1.0 ) },
-      { Vector3( -1.0f,-1.0f,-1.0f ), Vector2( 0.0, 0.0 ) },
-      { Vector3(  1.0f,-1.0f,-1.0f ), Vector2( 0.0, 1.0 ) },
-      { Vector3( -1.0f,-1.0f,-1.0f ), Vector2( 1.0, 1.0 ) },
-      { Vector3( -1.0f, 1.0f, 1.0f ), Vector2( 0.0, 0.0 ) },
-      { Vector3( -1.0f, 1.0f,-1.0f ), Vector2( 0.0, 1.0 ) },
-      { Vector3(  1.0f, 1.0f,-1.0f ), Vector2( 1.0, 1.0 ) },
-      { Vector3( -1.0f, 1.0f, 1.0f ), Vector2( 0.0, 0.0 ) },
-      { Vector3(  1.0f, 1.0f, 1.0f ), Vector2( 0.0, 1.0 ) },
-      { Vector3(  1.0f,-1.0f,-1.0f ), Vector2( 1.0, 1.0 ) },
-      { Vector3( -1.0f,-1.0f,-1.0f ), Vector2( 1.0, 0.0 ) },
-      { Vector3( -1.0f, 1.0f,-1.0f ), Vector2( 0.0, 0.0 ) },
-      { Vector3( -1.0f, 1.0f, 1.0f ), Vector2( 1.0, 1.0 ) },
-      { Vector3( -1.0f,-1.0f, 1.0f ), Vector2( 1.0, 0.0 ) },
-      { Vector3(  1.0f,-1.0f, 1.0f ), Vector2( 0.0, 0.0 ) },
-      { Vector3(  1.0f, 1.0f, 1.0f ), Vector2( 1.0, 1.0 ) },
-      { Vector3(  1.0f,-1.0f, 1.0f ), Vector2( 1.0, 0.0 ) },
-      { Vector3(  1.0f,-1.0f,-1.0f ), Vector2( 0.0, 0.0 ) },
-      { Vector3(  1.0f,-1.0f, 1.0f ), Vector2( 1.0, 1.0 ) },
-      { Vector3( -1.0f,-1.0f, 1.0f ), Vector2( 1.0, 0.0 ) },
-      { Vector3( -1.0f,-1.0f,-1.0f ), Vector2( 0.0, 0.0 ) },
-      { Vector3( -1.0f,-1.0f,-1.0f ), Vector2( 1.0, 1.0 ) },
-      { Vector3( -1.0f,-1.0f, 1.0f ), Vector2( 1.0, 0.0 ) },
-      { Vector3( -1.0f, 1.0f, 1.0f ), Vector2( 0.0, 0.0 ) },
-      { Vector3(  1.0f, 1.0f,-1.0f ), Vector2( 1.0, 1.0 ) },
-      { Vector3( -1.0f, 1.0f,-1.0f ), Vector2( 1.0, 0.0 ) },
-      { Vector3( -1.0f, 1.0f, 1.0f ), Vector2( 0.0, 0.0 ) },
+      {Vector3(1.0f, -1.0f, -1.0f), Vector2(1.0, 1.0)},
+      {Vector3(-1.0f, 1.0f, -1.0f), Vector2(0.0, 0.0)},
+      {Vector3(1.0f, 1.0f, -1.0f), Vector2(0.0, 1.0)},
+      {Vector3(-1.0f, 1.0f, 1.0f), Vector2(1.0, 1.0)},
+      {Vector3(1.0f, -1.0f, 1.0f), Vector2(0.0, 0.0)},
+      {Vector3(1.0f, 1.0f, 1.0f), Vector2(0.0, 1.0)},
+      {Vector3(1.0f, 1.0f, 1.0f), Vector2(1.0, 1.0)},
+      {Vector3(1.0f, -1.0f, -1.0f), Vector2(0.0, 0.0)},
+      {Vector3(1.0f, 1.0f, -1.0f), Vector2(0.0, 1.0)},
+      {Vector3(1.0f, -1.0f, 1.0f), Vector2(1.0, 1.0)},
+      {Vector3(-1.0f, -1.0f, -1.0f), Vector2(0.0, 0.0)},
+      {Vector3(1.0f, -1.0f, -1.0f), Vector2(0.0, 1.0)},
+      {Vector3(-1.0f, -1.0f, -1.0f), Vector2(1.0, 1.0)},
+      {Vector3(-1.0f, 1.0f, 1.0f), Vector2(0.0, 0.0)},
+      {Vector3(-1.0f, 1.0f, -1.0f), Vector2(0.0, 1.0)},
+      {Vector3(1.0f, 1.0f, -1.0f), Vector2(1.0, 1.0)},
+      {Vector3(-1.0f, 1.0f, 1.0f), Vector2(0.0, 0.0)},
+      {Vector3(1.0f, 1.0f, 1.0f), Vector2(0.0, 1.0)},
+      {Vector3(1.0f, -1.0f, -1.0f), Vector2(1.0, 1.0)},
+      {Vector3(-1.0f, -1.0f, -1.0f), Vector2(1.0, 0.0)},
+      {Vector3(-1.0f, 1.0f, -1.0f), Vector2(0.0, 0.0)},
+      {Vector3(-1.0f, 1.0f, 1.0f), Vector2(1.0, 1.0)},
+      {Vector3(-1.0f, -1.0f, 1.0f), Vector2(1.0, 0.0)},
+      {Vector3(1.0f, -1.0f, 1.0f), Vector2(0.0, 0.0)},
+      {Vector3(1.0f, 1.0f, 1.0f), Vector2(1.0, 1.0)},
+      {Vector3(1.0f, -1.0f, 1.0f), Vector2(1.0, 0.0)},
+      {Vector3(1.0f, -1.0f, -1.0f), Vector2(0.0, 0.0)},
+      {Vector3(1.0f, -1.0f, 1.0f), Vector2(1.0, 1.0)},
+      {Vector3(-1.0f, -1.0f, 1.0f), Vector2(1.0, 0.0)},
+      {Vector3(-1.0f, -1.0f, -1.0f), Vector2(0.0, 0.0)},
+      {Vector3(-1.0f, -1.0f, -1.0f), Vector2(1.0, 1.0)},
+      {Vector3(-1.0f, -1.0f, 1.0f), Vector2(1.0, 0.0)},
+      {Vector3(-1.0f, 1.0f, 1.0f), Vector2(0.0, 0.0)},
+      {Vector3(1.0f, 1.0f, -1.0f), Vector2(1.0, 1.0)},
+      {Vector3(-1.0f, 1.0f, -1.0f), Vector2(1.0, 0.0)},
+      {Vector3(-1.0f, 1.0f, 1.0f), Vector2(0.0, 0.0)},
     };
 
-    VertexBuffer vertexBuffer = VertexBuffer::New( Property::Map()
-                                                   .Add( "aPosition", Property::VECTOR3 )
-                                                   .Add( "aTexCoord", Property::VECTOR2 ) );
-    vertexBuffer.SetData( vertices, sizeof(vertices) / sizeof(Vertex) );
+    VertexBuffer vertexBuffer = VertexBuffer::New(Property::Map()
+                                                    .Add("aPosition", Property::VECTOR3)
+                                                    .Add("aTexCoord", Property::VECTOR2));
+    vertexBuffer.SetData(vertices, sizeof(vertices) / sizeof(Vertex));
 
     // create indices
     const unsigned short INDEX_CUBE[] = {
-      2, 1, 0,
-      5, 4, 3,
-      8, 7, 6,
-      11, 10, 9,
-      14, 13, 12,
-      17, 16, 15,
-      20, 19, 18,
-      23, 22, 21,
-      26, 25, 24,
-      29, 28, 27,
-      32, 31, 30,
-      35, 34, 33
-    };
+      2, 1, 0, 5, 4, 3, 8, 7, 6, 11, 10, 9, 14, 13, 12, 17, 16, 15, 20, 19, 18, 23, 22, 21, 26, 25, 24, 29, 28, 27, 32, 31, 30, 35, 34, 33};
     mGeometry = Geometry::New();
-    mGeometry.AddVertexBuffer( vertexBuffer );
-    mGeometry.SetIndexBuffer( INDEX_CUBE,
-                              sizeof(INDEX_CUBE)/sizeof(INDEX_CUBE[0]) );
-    mGeometry.SetType( Geometry::TRIANGLES );
+    mGeometry.AddVertexBuffer(vertexBuffer);
+    mGeometry.SetIndexBuffer(INDEX_CUBE,
+                             sizeof(INDEX_CUBE) / sizeof(INDEX_CUBE[0]));
+    mGeometry.SetType(Geometry::TRIANGLES);
   }
 
   /**
@@ -222,7 +211,7 @@ public:
    */
   void CreateCubeShader()
   {
-    mShader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER );
+    mShader = Shader::New(VERTEX_SHADER, FRAGMENT_SHADER);
   }
 
   /**
@@ -233,14 +222,14 @@ public:
   void CreateTexture()
   {
     // Load image from file
-    PixelData pixels = SyncImageLoader::Load( TEXTURE_URL );
+    PixelData pixels = SyncImageLoader::Load(TEXTURE_URL);
 
-    Texture texture = Texture::New( TextureType::TEXTURE_2D, pixels.GetPixelFormat(), pixels.GetWidth(), pixels.GetHeight() );
-    texture.Upload( pixels, 0, 0, 0, 0, pixels.GetWidth(), pixels.GetHeight() );
+    Texture texture = Texture::New(TextureType::TEXTURE_2D, pixels.GetPixelFormat(), pixels.GetWidth(), pixels.GetHeight());
+    texture.Upload(pixels, 0, 0, 0, 0, pixels.GetWidth(), pixels.GetHeight());
 
     // create TextureSet
     mTextureSet = TextureSet::New();
-    mTextureSet.SetTexture( 0, texture );
+    mTextureSet.SetTexture(0, texture);
   }
 
   /**
@@ -248,12 +237,12 @@ public:
    */
   void CreateRenderer()
   {
-    mRenderer = Renderer::New( mGeometry, mShader );
-    mRenderer.SetTextures( mTextureSet );
+    mRenderer = Renderer::New(mGeometry, mShader);
+    mRenderer.SetTextures(mTextureSet);
 
     // Face culling is enabled to hide the backwards facing sides of the cube
     // This is sufficient to render a single object; for more complex scenes depth-testing might be required
-    mRenderer.SetProperty( Renderer::Property::FACE_CULLING_MODE, FaceCullingMode::BACK );
+    mRenderer.SetProperty(Renderer::Property::FACE_CULLING_MODE, FaceCullingMode::BACK);
   }
 
   /**
@@ -264,13 +253,13 @@ public:
     Window window = mApplication.GetWindow();
 
     float quarterWindowWidth = window.GetSize().GetWidth() * 0.25f;
-    mActor = Actor::New();
-    mActor.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER );
-    mActor.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
-    mActor.SetProperty( Actor::Property::POSITION, Vector3( 0.0f, 0.0f, 0.0f ) );
-    mActor.SetProperty( Actor::Property::SIZE, Vector3( quarterWindowWidth, quarterWindowWidth, quarterWindowWidth ) );
-    mActor.AddRenderer( mRenderer );
-    window.Add( mActor );
+    mActor                   = Actor::New();
+    mActor.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER);
+    mActor.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER);
+    mActor.SetProperty(Actor::Property::POSITION, Vector3(0.0f, 0.0f, 0.0f));
+    mActor.SetProperty(Actor::Property::SIZE, Vector3(quarterWindowWidth, quarterWindowWidth, quarterWindowWidth));
+    mActor.AddRenderer(mRenderer);
+    window.Add(mActor);
   }
 
   /**
@@ -278,29 +267,29 @@ public:
    */
   void PlayAnimation()
   {
-    mAnimation = Animation::New( 5.0f );
-    mAnimation.SetLooping( true );
-    mAnimation.AnimateBy( Property( mActor, Actor::Property::ORIENTATION ), Quaternion( Radian( Degree( 360 )), Vector3::ZAXIS ) );
-    mAnimation.AnimateBy( Property( mActor, Actor::Property::ORIENTATION ), Quaternion( Radian( Degree( 360 )), Vector3::YAXIS ) );
-    mAnimation.AnimateBy( Property( mActor, Actor::Property::ORIENTATION ), Quaternion( Radian( Degree( 360 )), Vector3::XAXIS ) );
+    mAnimation = Animation::New(5.0f);
+    mAnimation.SetLooping(true);
+    mAnimation.AnimateBy(Property(mActor, Actor::Property::ORIENTATION), Quaternion(Radian(Degree(360)), Vector3::ZAXIS));
+    mAnimation.AnimateBy(Property(mActor, Actor::Property::ORIENTATION), Quaternion(Radian(Degree(360)), Vector3::YAXIS));
+    mAnimation.AnimateBy(Property(mActor, Actor::Property::ORIENTATION), Quaternion(Radian(Degree(360)), Vector3::XAXIS));
     mAnimation.Play();
   }
 
 private:
-  Application&  mApplication;
+  Application& mApplication;
 
-  Renderer mRenderer;
-  Shader mShader;
-  Geometry mGeometry;
+  Renderer   mRenderer;
+  Shader     mShader;
+  Geometry   mGeometry;
   TextureSet mTextureSet;
-  Actor mActor;
-  Animation mAnimation;
+  Actor      mActor;
+  Animation  mAnimation;
 };
 
-int DALI_EXPORT_API main( int argc, char **argv )
+int DALI_EXPORT_API main(int argc, char** argv)
 {
-  Application application = Application::New( &argc, &argv );
-  TexturedCubeController test( application );
+  Application            application = Application::New(&argc, &argv);
+  TexturedCubeController test(application);
   application.MainLoop();
   return 0;
 }