summaryrefslogtreecommitdiff
path: root/include/grid/grid.h
blob: bc92b73034cc107acb430934f58cb6d4c192ba34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/*
 * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
 *
 * Licensed under the Apache License, Version 2.0 (the License);
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an AS IS BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef __AIR_MEDIAHUB_GRID_H__
#define __AIR_MEDIAHUB_GRID_H__

enum movie_grid_type {
	E_MOVIE_NAME = 0,
	E_MOVIE_GENRE,
	E_MOVIE_DATE,
	E_MOVIE_FOLDER,
	E_MOVIE_MAX
};

enum gallery_grid_type {
	E_GALLERY_EVENT,
	E_GALLERY_VIDEO,
	E_GALLERY_PLACE,
	E_GALLERY_FOLDER,
	E_GALLERY_MAX
};

enum music_grid_type {
	E_MUSIC_SONG,
	E_MUSIC_ALBUM,
	E_MUSIC_ARTIST,
	E_MUSIC_GENRE,
	E_MUSIC_FOLDER,
	E_MUSIC_MAX
};

struct grid_data {
	int item_x;
	int item_y;
	int item_num;
	int grid_padding;
	struct grid_class *gclass;
	void *data;
	Eina_List *(*get_item_list)(struct datamgr *dmgr);
	void (*free_item_list)(struct datamgr *dmgr, Eina_List *list);
	void (*get_item_info)(struct datamgr *dmgr, Eina_List *list,
				char *str, int size);
	void (*key_down_cb)(void *data, Elm_Object_Item *it,
				Evas_Event_Key_Down *ev);
	void (*selected_cb)(void *data, Elm_Object_Item *it);
};

struct grid_data *get_movie_grid_data(int type);
struct grid_data *get_gallery_grid_data(int type);
struct grid_data *get_music_grid_data(int type);

#define STYLE_MOVIE_NAME "movie_item"
#define MOVIE_NAME_ITEM_PADDING 26
#define MOVIE_NAME_ITEM_X (378 + MOVIE_NAME_ITEM_PADDING)
#define MOVIE_NAME_ITEM_Y (294 + MOVIE_NAME_ITEM_PADDING)
#define MOVIE_NAME_ITEM_NUM 2
#define MOVIE_NAME_GRID_PADDING (62 - MOVIE_NAME_ITEM_PADDING)

/* Padding is modified as 7 to fit height with play info */
#define STYLE_GALLERY_EVENT "gallery_item"
#define GALLERY_EVENT_ITEM_PADDING 7
#define GALLERY_EVENT_ITEM_X (200 + GALLERY_EVENT_ITEM_PADDING)
#define GALLERY_EVENT_ITEM_Y (200 + GALLERY_EVENT_ITEM_PADDING)
#define GALLERY_EVENT_ITEM_NUM 3
#define GALLERY_EVENT_GRID_PADDING (62 - GALLERY_EVENT_ITEM_PADDING)

#define STYLE_MUSIC_SONG "song_item"
#define MUSIC_SONG_ITEM_PADDING 26
#define MUSIC_SONG_ITEM_X (488 + MUSIC_SONG_ITEM_PADDING)
#define MUSIC_SONG_ITEM_Y (134 + MUSIC_SONG_ITEM_PADDING)
#define MUSIC_SONG_ITEM_NUM 4
#define MUSIC_SONG_GRID_PADDING (62 - MUSIC_SONG_ITEM_PADDING)

#define STYLE_MOVIE_GENRE "genre_item"
#define MOVIE_GENRE_ITEM_PADDING GALLERY_EVENT_ITEM_PADDING
#define MOVIE_GENRE_ITEM_X GALLERY_EVENT_ITEM_X
#define MOVIE_GENRE_ITEM_Y GALLERY_EVENT_ITEM_Y
#define MOVIE_GENRE_ITEM_NUM GALLERY_EVENT_ITEM_NUM
#define MOVIE_GENRE_GRID_PADDING GALLERY_EVENT_GRID_PADDING

#define STYLE_MOVIE_FOLDER "movie_item"
#define MOVIE_FOLDER_ITEM_PADDING MOVIE_NAME_ITEM_PADDING
#define MOVIE_FOLDER_ITEM_X MOVIE_NAME_ITEM_X
#define MOVIE_FOLDER_ITEM_Y MOVIE_NAME_ITEM_Y
#define MOVIE_FOLDER_ITEM_NUM MOVIE_NAME_ITEM_NUM
#define MOVIE_FOLDER_GRID_PADDING MOVIE_NAME_GRID_PADDING

#define STYLE_GALLERY_PLACE "place_item"
#define GALLERY_PLACE_ITEM_PADDING GALLERY_EVENT_ITEM_PADDING
#define GALLERY_PLACE_ITEM_X GALLERY_EVENT_ITEM_X
#define GALLERY_PLACE_ITEM_Y GALLERY_EVENT_ITEM_Y
#define GALLERY_PLACE_ITEM_NUM GALLERY_EVENT_ITEM_NUM
#define GALLERY_PLACE_GRID_PADDING GALLERY_EVENT_GRID_PADDING

#define STYLE_MUSIC_ALBUM "album_item"
#define MUSIC_ALBUM_ITEM_PADDING 26
#define MUSIC_ALBUM_ITEM_X (212 + MUSIC_ALBUM_ITEM_PADDING)
#define MUSIC_ALBUM_ITEM_Y (294 + MUSIC_ALBUM_ITEM_PADDING)
#define MUSIC_ALBUM_ITEM_NUM 2
#define MUSIC_ALBUM_GRID_PADDING (62 - MUSIC_ALBUM_ITEM_PADDING)

#define STYLE_MUSIC_ARTIST "album_item"
#define MUSIC_ARTIST_ITEM_PADDING MUSIC_ALBUM_ITEM_PADDING
#define MUSIC_ARTIST_ITEM_X MUSIC_ALBUM_ITEM_X
#define MUSIC_ARTIST_ITEM_Y MUSIC_ALBUM_ITEM_Y
#define MUSIC_ARTIST_ITEM_NUM MUSIC_ALBUM_ITEM_NUM
#define MUSIC_ARTIST_GRID_PADDING MUSIC_ALBUM_GRID_PADDING

#define STYLE_MUSIC_GENRE "genre_item"
#define MUSIC_GENRE_ITEM_PADDING MOVIE_GENRE_ITEM_PADDING
#define MUSIC_GENRE_ITEM_X MOVIE_GENRE_ITEM_X
#define MUSIC_GENRE_ITEM_Y MOVIE_GENRE_ITEM_Y
#define MUSIC_GENRE_ITEM_NUM MOVIE_GENRE_ITEM_NUM
#define MUSIC_GENRE_GRID_PADDING MOVIE_GENRE_GRID_PADDING

#define STYLE_MUSIC_SONG_DETAIL "song_item_detail"

#endif /* __AIR_MEDIAHUB_GRID_H__ */