2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Apache License, Version 2.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://www.apache.org/licenses/LICENSE-2.0
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
18 * @file FAppIAppFrame.h
19 * @brief This is the header file for the %IAppFrame interface.
21 * This header file contains the declarations of the %IAppFrame interface.
24 #ifndef _FAPP_IAPP_FRAME_H_
25 #define _FAPP_IAPP_FRAME_H_
27 namespace Tizen { namespace Graphics { class Canvas; } }
28 namespace Tizen { namespace Ui { class IKeyEventListener; } }
29 namespace Tizen { namespace Ui { class ITouchEventListener; } }
30 namespace Tizen { namespace Ui { class IWindowEventListener; } }
31 namespace Tizen { namespace Ui { namespace Controls { class Frame; } } }
33 namespace Tizen { namespace App
37 * @interface IAppFrame
38 * @brief This interface provides methods for the application frame.
42 * The %IAppFrame interface provides methods for the application frame.
43 * A frame is the outermost boundary of the application UI.
49 * This polymorphic destructor should be overridden if required. @n
50 * This way, the destructors of the derived classes are called when the destructor of this interface is called.
54 virtual ~IAppFrame(void) {}
57 * Gets the values of the frame's canvas.
61 * @return A pointer to the Tizen::Graphics::Canvas instance
63 virtual Tizen::Graphics::Canvas* GetCanvasN(void) const = 0;
66 * Adds a key event listener to the frame.
70 * @return An error code
71 * @param[in] listener An instance of Tizen::Ui::IKeyEventListener to add
72 * @exception E_SUCCESS The method is successful.
74 virtual result AddKeyEventListener(Tizen::Ui::IKeyEventListener& listener) = 0;
77 * Removes an existing key event listener from the frame.
81 * @return An error code
82 * @param[in] listener An instance of Tizen::Ui::IKeyEventListener to remove
83 * @exception E_SUCCESS The method is successful.
85 virtual result RemoveKeyEventListener(Tizen::Ui::IKeyEventListener& listener) = 0;
88 * Adds a touch event listener to the frame.
92 * @return An error code
93 * @param[in] listener An instance of Tizen::Ui::ITouchEventListener to add
94 * @exception E_SUCCESS The method is successful.
96 virtual result AddTouchEventListener(Tizen::Ui::ITouchEventListener& listener) = 0;
99 * Removes an existing touch event listener from the frame.
103 * @return An error code
104 * @param[in] listener An instance of Tizen::Ui::ITouchEventListener to add
105 * @exception E_SUCCESS The method is successful.
107 virtual result RemoveTouchEventListener(Tizen::Ui::ITouchEventListener& listener) = 0;
110 * Adds a window event listener to the frame.
114 * @return An error code
115 * @param[in] listener An instance of Tizen::Ui::IWindowEventListener to remove
116 * @exception E_SUCCESS The method is successful.
118 virtual result AddWindowEventListener(Tizen::Ui::IWindowEventListener& listener) = 0;
121 * Removes an existing window event listener from the frame.
125 * @return An error code
126 * @param[in] listener An instance of Tizen::Ui::IWindowEventListener to remove
127 * @exception E_SUCCESS The method is successful.
129 virtual result RemoveWindowEventListener(Tizen::Ui::IWindowEventListener& listener) = 0;
132 * Gets the frame of the application.
136 * @return A pointer to the Tizen::Ui::Controls::Frame instance, @n
137 * else @c null if it fails
138 * @exception E_SUCCESS The method is successful.
139 * @exception E_INVALID_STATE This instance is in an invalid state.
140 * @exception E_UNSUPPORTED_OPERATION This method is not supported.
141 * @remarks The specific error code can be accessed using the GetLastResult() method.
143 virtual Tizen::Ui::Controls::Frame* GetFrame(void) = 0;
149 #endif // _FAPP_IAPP_FRAME_H_