1 #ifndef TOOLKIT_WINDOW_H
2 #define TOOLKIT_WINDOW_H
5 * Copyright (c) 2019 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
23 #include <dali/public-api/math/rect.h>
24 #include <dali/public-api/object/base-handle.h>
25 #include <dali/public-api/signals/dali-signal.h>
26 #include <dali/integration-api/scene.h>
37 typedef Dali::Rect<int> PositionSize;
47 class Window : public BaseHandle
51 static Window New(PositionSize windowPosition, const std::string& name, bool isTransparent = false);
52 static Window New(PositionSize windowPosition, const std::string& name, const std::string& className, bool isTransparent = false);
56 Window(const Window& handle);
57 Window& operator=(const Window& rhs);
58 Layer GetRootLayer() const;
60 Integration::Scene GetScene();
61 Integration::RenderSurface& GetRenderSurface();
64 explicit Window( Internal::Adaptor::Window* window );
69 typedef Signal< void () > EventProcessingFinishedSignalType;
70 typedef Signal< void (const KeyEvent&) > KeyEventSignalType;
71 typedef Signal< void (const TouchData&) > TouchSignalType;
72 typedef Signal< void (const WheelEvent&) > WheelEventSignalType;
74 Dali::Window Get( Actor actor );
76 EventProcessingFinishedSignalType& EventProcessingFinishedSignal( Window window );
77 KeyEventSignalType& KeyEventSignal( Dali::Window window );
78 TouchSignalType& TouchSignal( Dali::Window window );
79 WheelEventSignalType& WheelEventSignal( Window window );
85 #endif // TOOLKIT_WINDOW_H