Tizen 2.0 Release
[profile/ivi/libscl-ui.git] / scl / gwes / gtk / sclwindows-gtk.h
1 /*
2  * Copyright 2012-2013 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Flora License, Version 1.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
7  *
8  * http://floralicense.org/license/
9  *
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.
15  *
16  */
17
18 #include "sclwindows.h"
19 #include <gtk/gtk.h>
20
21 #ifndef __SCL_WINDOWS_GTK_H__
22 #define __SCL_WINDOWS_GTK_H__
23
24 namespace scl
25 {
26 class CSCLWindowsImplGtk : public CSCLWindowsImpl
27 {
28 public :
29     CSCLWindowsImplGtk();
30     ~CSCLWindowsImplGtk();
31
32     sclwindow create_base_window(const sclwindow parent, SclWindowContext *winctx, const scl16 width, const scl16 height);
33     sclwindow create_window(const sclwindow parent, SclWindowContext *winctx, const scl16 width, const scl16 height);
34     sclwindow create_dim_window(const sclwindow parent, SclWindowContext *winctx, const scl16 width, const scl16 height);
35     bool destroy_window(sclwindow window);
36     void show_window(const sclwindow window, sclboolean queue);
37     void hide_window(const sclwindow window,  const sclboolean fForce = FALSE);
38     void move_window(const sclwindow window, const scl16 x, const scl16 y);
39     void resize_window(const sclwindow window, const scl16 width, const scl16 height);
40     void move_resize_window(const sclwindow window, const scl16 x, const scl16 y, const scl16 width, const scl16 height);
41     void update_window(const sclwindow window, const scl16 x = 0, const scl16 y = 0, const scl16 width = 0, const scl16 height = 0);
42     void set_window_rotation(const sclwindow window, const sclint degree);
43     void show_message_box(const sclwindow parent, const scl8 msgType, sclchar* title, sclchar* msg);
44     sclboolean get_window_rect(const sclwindow window, SclRectangle *rect);
45     void set_parent(const sclwindow parentWindow, const sclwindow window);
46     void set_keep_above(const sclwindow window, const sclboolean keepabove);
47 };
48 } /* End of scl namespace */
49 #endif __SCL_WINDOWS_GTK_H__