#define TOOLKIT_WINDOW_H
/*
- * Copyright (c) 2019 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.
class Actor;
class Layer;
-struct KeyEvent;
-class TouchData;
-struct WheelEvent;
+class RenderSurfaceInterface;
+class KeyEvent;
+class TouchEvent;
+class WheelEvent;
typedef Dali::Rect<int> PositionSize;
}
}
+class Window;
+typedef Signal< void (Window,bool) > FocusChangeSignalType;
+
class Window : public BaseHandle
{
public:
+ using KeyEventSignalType = Signal< void (const KeyEvent&) >;
+ using TouchEventSignalType = Signal< void (const TouchEvent&) >;
static Window New(PositionSize windowPosition, const std::string& name, bool isTransparent = false);
static Window New(PositionSize windowPosition, const std::string& name, const std::string& className, bool isTransparent = false);
~Window();
Window(const Window& handle);
Window& operator=(const Window& rhs);
- Layer GetRootLayer() const;
+ Window( Window&& rhs );
+ Window& operator=( Window&& rhs );
Integration::Scene GetScene();
- Integration::RenderSurface& GetRenderSurface();
+ Dali::RenderSurfaceInterface& GetRenderSurface();
+ void Add( Dali::Actor actor );
+ void Remove( Dali::Actor actor );
+ Dali::Layer GetRootLayer() const;
+ void SetBackgroundColor( const Vector4& color );
+ Vector4 GetBackgroundColor() const;
+ void Raise();
+ void Hide();
+ FocusChangeSignalType& FocusChangeSignal();
+ KeyEventSignalType& KeyEventSignal();
+ TouchEventSignalType& TouchedSignal();
public:
explicit Window( Internal::Adaptor::Window* window );
};
+Internal::Adaptor::Window& GetImplementation(Dali::Window& window);
+const Internal::Adaptor::Window& GetImplementation(const Dali::Window& window);
+
namespace DevelWindow
{
typedef Signal< void () > EventProcessingFinishedSignalType;
-typedef Signal< void (const KeyEvent&) > KeyEventSignalType;
-typedef Signal< void (const TouchData&) > TouchSignalType;
+typedef Signal< bool (const KeyEvent&) > KeyEventGeneratedSignalType;
typedef Signal< void (const WheelEvent&) > WheelEventSignalType;
+typedef Signal< void ( Window, bool ) > VisibilityChangedSignalType;
Dali::Window Get( Actor actor );
+Dali::Window DownCast( BaseHandle handle );
+void AddFrameRenderedCallback( Window window, std::unique_ptr< CallbackBase > callback, int32_t frameId );
+void AddFramePresentedCallback( Window window, std::unique_ptr< CallbackBase > callback, int32_t frameId );
EventProcessingFinishedSignalType& EventProcessingFinishedSignal( Window window );
-KeyEventSignalType& KeyEventSignal( Dali::Window window );
-TouchSignalType& TouchSignal( Dali::Window window );
+KeyEventGeneratedSignalType& KeyEventGeneratedSignal( Dali::Window window );
WheelEventSignalType& WheelEventSignal( Window window );
-
+VisibilityChangedSignalType& VisibilityChangedSignal( Window window );
}
} // namespace Dali