Merge "Updates following rename of PropertyBuffer" into devel/master
[platform/core/uifw/dali-demo.git] / builder / dali-builder.cpp
index 0a693a7..2ffdaaa 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,6 +27,7 @@
 //------------------------------------------------------------------------------
 
 #include <dali/dali.h>
+#include <dali/devel-api/adaptor-framework/file-loader.h>
 #include <dali-toolkit/dali-toolkit.h>
 #include <dali-toolkit/devel-api/builder/builder.h>
 #include <dali-toolkit/devel-api/builder/tree-node.h>
@@ -102,10 +103,16 @@ private:
   std::time_t mLastTime;
   std::string mstringPath;
 
-  std::string GetFileContents(const std::string &fn)
+  std::string GetFileContents(const std::string &filename)
   {
-    std::ifstream t(fn.c_str());
-    return std::string((std::istreambuf_iterator<char>(t)), std::istreambuf_iterator<char>());
+    std::streampos bufferSize = 0;
+    Dali::Vector<char> fileBuffer;
+    if( !Dali::FileLoader::ReadFile( filename, bufferSize, fileBuffer, FileLoader::FileType::BINARY ) )
+    {
+      return std::string();
+    }
+
+    return std::string( &fileBuffer[0], bufferSize );
   };
 };
 
@@ -180,7 +187,7 @@ public:
     mTimer.Start();
 
     // Connect to key events in order to exit
-    Stage::GetCurrent().KeyEventSignal().Connect(this, &ExampleApp::OnKeyEvent);
+    app.GetWindow().KeyEventSignal().Connect(this, &ExampleApp::OnKeyEvent);
   }
 
 private:
@@ -192,28 +199,29 @@ private:
 
   void ReloadJsonFile(Builder& builder, Layer& layer)
   {
-    Stage stage = Stage::GetCurrent();
+    Window window = mApp.GetWindow();
+    window.SetBackgroundColor( Color::WHITE );
 
     builder = Builder::New();
     builder.QuitSignal().Connect( this, &ExampleApp::OnBuilderQuit );
 
     Property::Map defaultDirs;
-    defaultDirs[ TOKEN_STRING(DALI_IMAGE_DIR) ]  = DALI_IMAGE_DIR;
-    defaultDirs[ TOKEN_STRING(DALI_MODEL_DIR) ]  = DALI_MODEL_DIR;
-    defaultDirs[ TOKEN_STRING(DALI_SCRIPT_DIR) ] = DALI_SCRIPT_DIR;
+    defaultDirs[ TOKEN_STRING(DEMO_IMAGE_DIR) ]  = DEMO_IMAGE_DIR;
+    defaultDirs[ TOKEN_STRING(DEMO_MODEL_DIR) ]  = DEMO_MODEL_DIR;
+    defaultDirs[ TOKEN_STRING(DEMO_SCRIPT_DIR) ] = DEMO_SCRIPT_DIR;
 
     builder.AddConstants( defaultDirs );
 
     if(!layer)
     {
       layer = Layer::New();
-      layer.SetParentOrigin(ParentOrigin::CENTER);
-      layer.SetAnchorPoint(AnchorPoint::CENTER);
-      layer.SetSize( stage.GetRootLayer().GetCurrentSize() );
-      stage.GetRootLayer().Add(layer);
+      layer.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
+      layer.SetProperty( Actor::Property::ANCHOR_POINT,AnchorPoint::CENTER);
+      layer.SetProperty( Actor::Property::SIZE, window.GetRootLayer().GetCurrentProperty< Vector3 >( Actor::Property::SIZE ) );
+      window.GetRootLayer().Add(layer);
 
       // render tasks may have been setup last load so remove them
-      RenderTaskList taskList = stage.GetRenderTaskList();
+      RenderTaskList taskList = window.GetRenderTaskList();
       if( taskList.GetTaskCount() > 1 )
       {
         typedef std::vector<RenderTask> Collection;
@@ -231,8 +239,8 @@ private:
         }
 
         RenderTask defaultTask = taskList.GetTask(0);
-        defaultTask.SetSourceActor( stage.GetRootLayer() );
-        defaultTask.SetTargetFrameBuffer( FrameBufferImage() );
+        defaultTask.SetSourceActor( window.GetRootLayer() );
+        defaultTask.SetFrameBuffer( FrameBuffer() );
       }
     }
 
@@ -272,7 +280,7 @@ private:
   // Process Key events to Quit on back-key
   void OnKeyEvent( const KeyEvent& event )
   {
-    if( event.state == KeyEvent::Down )
+    if( event.GetState() == KeyEvent::Down )
     {
       if( IsKey( event, Dali::DALI_KEY_ESCAPE ) || IsKey( event, Dali::DALI_KEY_BACK ) )
       {
@@ -294,13 +302,12 @@ private:
 //
 //
 //------------------------------------------------------------------------------
-int main(int argc, char **argv)
+int DALI_EXPORT_API main(int argc, char **argv)
 {
-  Application dali_app = Application::New(&argc, &argv);
 
+  Application dali_app = Application::New(&argc, &argv, DEMO_THEME_PATH);
   ExampleApp app(dali_app);
 
-
   if(argc > 1)
   {
     std::cout << "Loading file:" << argc << " " << argv[1] << std::endl;