+Window::Window(const Window& copy) = default;
+
+Window& Window::operator=(const Window& rhs) = default;
+
+Window::Window(Window&& rhs) = default;
+
+Window& Window::operator=(Window&& rhs) = default;
+
+Dali::Window Window::New(PositionSize windowPosition, const std::string& name, bool isTransparent)
+{
+ return New(windowPosition, name, "", isTransparent);
+}
+
+Dali::Window Window::New(PositionSize windowPosition, const std::string& name, const std::string& className, bool isTransparent)
+{
+ Internal::Adaptor::Window* window = Internal::Adaptor::Window::New(windowPosition, name, className, isTransparent);
+
+ Dali::Window result(window);
+
+ // This will also emit the window created signals
+ AdaptorImpl::GetImpl(AdaptorImpl::Get()).AddWindow(window);
+
+ return result;
+}
+
+Window Window::DownCast(BaseHandle handle)