2 * Copyright 2012-2013 Samsung Electronics Co., Ltd.
4 * Licensed under the Flora License, Version 1.1 (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://floralicense.org/license/
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.
23 #ifndef __SCL_UIBUILDER_H__
24 #define __SCL_UIBUILDER_H__
32 * @brief The base class to work as a soft-based keyboard
34 * This class implements all functions for working as a soft-based keyboard
35 * In side of ISE developer, they can modify it by their requirements.
39 friend class CSCLFontProxy;
46 static CSCLUIBuilder* get_instance();
48 void init(sclwindow parent);
49 sclboolean show_layout(const sclwindow window, const scl16 x = 0, const scl16 y = 0, const scl16 width = 0, const scl16 height = 0);
50 sclboolean draw_button(const sclwindow window, scldrawctx draw_ctx, const scl16 key_index, const SCLButtonState state, const sclboolean force_draw_bg = FALSE);
51 sclboolean show_magnifier(const sclwindow window, scldrawctx draw_ctx);
52 sclboolean show_autopopup(const sclwindow parent, scldrawctx draw_ctx, const scl16 key_index);
55 sclboolean draw_button_all(const sclwindow window, const scldrawctx draw_ctx, const scl16 x, const scl16 y, const scl16 width, const scl16 height);
56 sclboolean draw_button_bg_by_sw(const sclwindow window, const scldrawctx draw_ctx, const scl16 key_index, const SCLButtonState state);
57 sclboolean draw_window_bg_by_sw(const sclwindow window, const scldrawctx draw_ctx, const SclSize size,
58 const scldouble line_width, const SclColor line_color, const SclColor fill_color);
59 sclboolean draw_button_bg_by_img(const sclwindow window, const scldrawctx draw_ctx, const scl16 key_index,
60 SCLButtonState state, SCLShiftState shift);
61 sclboolean draw_button_bg_by_layoutimg(const sclwindow window, const scldrawctx draw_ctx, const scl16 key_index,
62 const SCLButtonState state, const sclboolean shift);
63 sclboolean draw_button_label(const sclwindow window, const scldrawctx draw_ctx, const scl16 key_index,
64 SCLButtonState state, SCLShiftState shift);
66 sclboolean draw_magnifier_label(const sclwindow window, const scldrawctx draw_ctx, const scl16 label_index, const sclchar* label);
70 /* Backend Primitive */
79 #endif //__SCL_UIBUILDER_H__