2 * Copyright (c) 2014 - 2015 Samsung Electronics Co., Ltd All Rights Reserved
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 #ifndef __SCL_CORE_UI_H__
19 #define __SCL_CORE_UI_H__
25 #include "sclcorecallback.h"
30 enum KEYBOARD_UI_STATE
32 KEYBOARD_UI_STATE_DID_HIDE,
33 KEYBOARD_UI_STATE_WILL_HIDE,
34 KEYBOARD_UI_STATE_DID_SHOW,
35 KEYBOARD_UI_STATE_WILL_SHOW,
39 * @brief The base class that provides features for a soft-keyboard
41 * This class implements all functions for working as a soft-based keyboard
47 virtual ~CSCLCoreUI();
49 std::string get_backend_indentifier();
51 virtual sclboolean init();
54 virtual void run(const sclchar *display);
57 * @brief This API returns the pointer to main keyboard window
59 virtual sclwindow get_main_window();
62 * @brief This API returns the rotation angle of the current screen
64 virtual int get_screen_rotation_degree();
67 * @brief This API updates the keyboard window's geometry information
69 virtual void set_keyboard_size_hints(SclSize portrait, SclSize landscape);
72 * @brief Requests to create an option window
74 virtual sclwindow create_option_window(SCLOptionWindowType type);
77 * @brief Requests to show existing option window
79 virtual bool show_option_window(SCLOptionWindowType type);
82 * @brief Requests to destroy an option window
84 virtual void destroy_option_window(sclwindow window);
87 * @brief This API requests each SCLCoreUI backends to process keyboard UI state change event
89 virtual void process_keyboard_ui_state_change(KEYBOARD_UI_STATE state);
92 std::string m_backend_identifier;
102 #endif //__SCL_CORE_UI_H__