1efd19d641af2d97aecd43619214949623f002f0
[profile/ivi/ico-uxf-homescreen.git] / src / homescreen / CicoHSWindow.h
1 /*
2  * Copyright (c) 2013, TOYOTA MOTOR CORPORATION.
3  *
4  * This program is licensed under the terms and conditions of the
5  * Apache License, version 2.0.  The full text of the Apache License is at
6  * http://www.apache.org/licenses/LICENSE-2.0
7  *
8  */
9 /**
10  * @brief   Window class
11  *
12  * @date    Aug-08-2013
13  */
14 #ifndef __CICO_HSWINDOW_H__
15 #define __CICO_HSWINDOW_H__
16
17 #include <stdio.h>
18 #include <pthread.h>
19 #include <libwebsockets.h>
20 #include <string.h>
21 #include <unistd.h>
22
23 #include <Eina.h>
24 #include <Evas.h>
25 #include <Ecore.h>
26 #include <Ecore_Wayland.h>
27 #include <Ecore_Evas.h>
28 #include <Edje.h>
29
30 #include "CicoHomeScreenCommon.h"
31
32 #define ICO_ORIENTATION_VERTICAL (1) 
33 #define ICO_ORIENTATION_HORIZONTAL (2)
34
35 #define ICO_MAX_TITLE_NAME_LEN 64
36
37 struct created_window_name  {
38     struct created_window_name  *next;
39     char    winname[ICO_MAX_TITLE_NAME_LEN];
40 };
41
42 class CicoHSWindow
43 {
44   public:
45     CicoHSWindow(void);
46     virtual ~CicoHSWindow(void);
47     int CreateWindow(const char *title,int pos_x,int pos_y,int width,int height,int alpha);
48     void FreeWindow(void);
49     void WindowSetting(int pos_x,int pos_y,int width,int height,int alpha);
50     void ShowWindow(void);
51     void HideWindow(void);
52
53     static const char *getWindowName(const int index);
54   private:
55
56   protected:
57     CicoHSWindow operator=(const CicoHSWindow&);
58     CicoHSWindow(const CicoHSWindow&);
59
60     char title[ICO_MAX_TITLE_NAME_LEN];
61     int pos_x;
62     int pos_y;
63     int width; /*width*/
64     int height; /*height*/
65     Ecore_Evas *window; /* ecore-evas object */
66
67     static struct created_window_name   *created_window_title;
68 };
69 #endif
70 // vim:set expandtab ts=4 sw=4: