1 /*
2  *  Copyright (C) 2005-2018 Team Kodi
3  *  This file is part of Kodi - https://kodi.tv
4  *
5  *  SPDX-License-Identifier: GPL-2.0-or-later
6  *  See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 // Window ID defines to make the code a bit more readable
12 #define WINDOW_INVALID                     9999 // do not change. value is used to avoid include in headers.
13 #define WINDOW_HOME                       10000
14 #define WINDOW_PROGRAMS                   10001
15 #define WINDOW_PICTURES                   10002
16 #define WINDOW_FILES                      10003
17 #define WINDOW_SETTINGS_MENU              10004
18 #define WINDOW_SYSTEM_INFORMATION         10007
19 #define WINDOW_SCREEN_CALIBRATION         10011
20 
21 #define WINDOW_SETTINGS_START             10016
22 #define WINDOW_SETTINGS_SYSTEM            10016
23 #define WINDOW_SETTINGS_SERVICE           10018
24 
25 #define WINDOW_SETTINGS_MYPVR             10021
26 #define WINDOW_SETTINGS_MYGAMES           10022
27 
28 #define WINDOW_VIDEO_NAV                  10025
29 #define WINDOW_VIDEO_PLAYLIST             10028
30 
31 #define WINDOW_LOGIN_SCREEN               10029
32 
33 #define WINDOW_SETTINGS_PLAYER            10030
34 #define WINDOW_SETTINGS_MEDIA             10031
35 #define WINDOW_SETTINGS_INTERFACE         10032
36 
37 #define WINDOW_SETTINGS_PROFILES          10034
38 #define WINDOW_SKIN_SETTINGS              10035
39 
40 #define WINDOW_ADDON_BROWSER              10040
41 
42 #define WINDOW_EVENT_LOG                  10050
43 
44 #define WINDOW_SCREENSAVER_DIM               97
45 #define WINDOW_DEBUG_INFO                    98
46 #define WINDOW_DIALOG_POINTER             10099
47 #define WINDOW_DIALOG_YES_NO              10100
48 #define WINDOW_DIALOG_PROGRESS            10101
49 #define WINDOW_DIALOG_KEYBOARD            10103
50 #define WINDOW_DIALOG_VOLUME_BAR          10104
51 #define WINDOW_DIALOG_SUB_MENU            10105
52 #define WINDOW_DIALOG_CONTEXT_MENU        10106
53 #define WINDOW_DIALOG_KAI_TOAST           10107
54 #define WINDOW_DIALOG_NUMERIC             10109
55 #define WINDOW_DIALOG_GAMEPAD             10110
56 #define WINDOW_DIALOG_BUTTON_MENU         10111
57 #define WINDOW_DIALOG_PLAYER_CONTROLS     10114
58 #define WINDOW_DIALOG_SEEK_BAR            10115
59 #define WINDOW_DIALOG_PLAYER_PROCESS_INFO 10116
60 #define WINDOW_DIALOG_MUSIC_OSD           10120
61 #define WINDOW_DIALOG_VIS_SETTINGS        10121
62 #define WINDOW_DIALOG_VIS_PRESET_LIST     10122
63 #define WINDOW_DIALOG_VIDEO_OSD_SETTINGS  10123
64 #define WINDOW_DIALOG_AUDIO_OSD_SETTINGS  10124
65 #define WINDOW_DIALOG_VIDEO_BOOKMARKS     10125
66 #define WINDOW_DIALOG_FILE_BROWSER        10126
67 #define WINDOW_DIALOG_NETWORK_SETUP       10128
68 #define WINDOW_DIALOG_MEDIA_SOURCE        10129
69 #define WINDOW_DIALOG_PROFILE_SETTINGS    10130
70 #define WINDOW_DIALOG_LOCK_SETTINGS       10131
71 #define WINDOW_DIALOG_CONTENT_SETTINGS    10132
72 #define WINDOW_DIALOG_LIBEXPORT_SETTINGS  10133
73 #define WINDOW_DIALOG_FAVOURITES          10134
74 #define WINDOW_DIALOG_SONG_INFO           10135
75 #define WINDOW_DIALOG_SMART_PLAYLIST_EDITOR 10136
76 #define WINDOW_DIALOG_SMART_PLAYLIST_RULE   10137
77 #define WINDOW_DIALOG_BUSY                10138
78 #define WINDOW_DIALOG_PICTURE_INFO        10139
79 #define WINDOW_DIALOG_ADDON_SETTINGS      10140
80 #define WINDOW_DIALOG_FULLSCREEN_INFO     10142
81 #define WINDOW_DIALOG_SLIDER              10145
82 #define WINDOW_DIALOG_ADDON_INFO          10146
83 #define WINDOW_DIALOG_TEXT_VIEWER         10147
84 #define WINDOW_DIALOG_PLAY_EJECT          10148
85 #define WINDOW_DIALOG_PERIPHERALS         10149
86 #define WINDOW_DIALOG_PERIPHERAL_SETTINGS 10150
87 #define WINDOW_DIALOG_EXT_PROGRESS        10151
88 #define WINDOW_DIALOG_MEDIA_FILTER        10152
89 #define WINDOW_DIALOG_SUBTITLES           10153
90 #define WINDOW_DIALOG_KEYBOARD_TOUCH      10156
91 #define WINDOW_DIALOG_CMS_OSD_SETTINGS    10157
92 #define WINDOW_DIALOG_INFOPROVIDER_SETTINGS 10158
93 #define WINDOW_DIALOG_SUBTITLE_OSD_SETTINGS  10159
94 #define WINDOW_DIALOG_BUSY_NOCANCEL       10160
95 
96 #define WINDOW_MUSIC_PLAYLIST             10500
97 #define WINDOW_MUSIC_NAV                  10502
98 #define WINDOW_MUSIC_PLAYLIST_EDITOR      10503
99 
100 #define WINDOW_DIALOG_OSD_TELETEXT        10550
101 
102 // PVR related Window and Dialog ID's
103 
104 #define WINDOW_DIALOG_PVR_ID_START        10600
105 #define WINDOW_DIALOG_PVR_GUIDE_INFO      (WINDOW_DIALOG_PVR_ID_START)
106 #define WINDOW_DIALOG_PVR_RECORDING_INFO  (WINDOW_DIALOG_PVR_ID_START+1)
107 #define WINDOW_DIALOG_PVR_TIMER_SETTING   (WINDOW_DIALOG_PVR_ID_START+2)
108 #define WINDOW_DIALOG_PVR_GROUP_MANAGER   (WINDOW_DIALOG_PVR_ID_START+3)
109 #define WINDOW_DIALOG_PVR_CHANNEL_MANAGER (WINDOW_DIALOG_PVR_ID_START+4)
110 #define WINDOW_DIALOG_PVR_GUIDE_SEARCH    (WINDOW_DIALOG_PVR_ID_START+5)
111 #define WINDOW_DIALOG_PVR_CHANNEL_SCAN    (WINDOW_DIALOG_PVR_ID_START+6)
112 #define WINDOW_DIALOG_PVR_UPDATE_PROGRESS (WINDOW_DIALOG_PVR_ID_START+7)
113 #define WINDOW_DIALOG_PVR_OSD_CHANNELS    (WINDOW_DIALOG_PVR_ID_START+8)
114 #define WINDOW_DIALOG_PVR_CHANNEL_GUIDE   (WINDOW_DIALOG_PVR_ID_START+9)
115 #define WINDOW_DIALOG_PVR_RADIO_RDS_INFO  (WINDOW_DIALOG_PVR_ID_START+10)
116 #define WINDOW_DIALOG_PVR_RECORDING_SETTING (WINDOW_DIALOG_PVR_ID_START+11)
117 #define WINDOW_DIALOG_PVR_CLIENT_PRIORITIES (WINDOW_DIALOG_PVR_ID_START+12)
118 #define WINDOW_DIALOG_PVR_GUIDE_CONTROLS  (WINDOW_DIALOG_PVR_ID_START+13)
119 #define WINDOW_DIALOG_PVR_ID_END          WINDOW_DIALOG_PVR_GUIDE_CONTROLS
120 
121 #define WINDOW_PVR_ID_START               10700
122 #define WINDOW_TV_CHANNELS                (WINDOW_PVR_ID_START)
123 #define WINDOW_TV_RECORDINGS              (WINDOW_PVR_ID_START+1)
124 #define WINDOW_TV_GUIDE                   (WINDOW_PVR_ID_START+2)
125 #define WINDOW_TV_TIMERS                  (WINDOW_PVR_ID_START+3)
126 #define WINDOW_TV_SEARCH                  (WINDOW_PVR_ID_START+4)
127 #define WINDOW_RADIO_CHANNELS             (WINDOW_PVR_ID_START+5)
128 #define WINDOW_RADIO_RECORDINGS           (WINDOW_PVR_ID_START+6)
129 #define WINDOW_RADIO_GUIDE                (WINDOW_PVR_ID_START+7)
130 #define WINDOW_RADIO_TIMERS               (WINDOW_PVR_ID_START+8)
131 #define WINDOW_RADIO_SEARCH               (WINDOW_PVR_ID_START+9)
132 #define WINDOW_TV_TIMER_RULES             (WINDOW_PVR_ID_START+10)
133 #define WINDOW_RADIO_TIMER_RULES          (WINDOW_PVR_ID_START+11)
134 #define WINDOW_PVR_ID_END                 WINDOW_RADIO_TIMER_RULES
135 
136 // virtual windows for PVR specific keymap bindings in fullscreen playback
137 #define WINDOW_FULLSCREEN_LIVETV          10800
138 #define WINDOW_FULLSCREEN_RADIO           10801
139 #define WINDOW_FULLSCREEN_LIVETV_PREVIEW  10802
140 #define WINDOW_FULLSCREEN_RADIO_PREVIEW   10803
141 #define WINDOW_FULLSCREEN_LIVETV_INPUT    10804
142 #define WINDOW_FULLSCREEN_RADIO_INPUT     10805
143 
144 #define WINDOW_DIALOG_GAME_CONTROLLERS    10820
145 #define WINDOW_GAMES                      10821
146 #define WINDOW_DIALOG_GAME_OSD            10822
147 #define WINDOW_DIALOG_GAME_VIDEO_FILTER   10823
148 #define WINDOW_DIALOG_GAME_STRETCH_MODE   10824
149 #define WINDOW_DIALOG_GAME_VOLUME         10825
150 #define WINDOW_DIALOG_GAME_ADVANCED_SETTINGS 10826
151 #define WINDOW_DIALOG_GAME_VIDEO_ROTATION 10827
152 
153 //#define WINDOW_VIRTUAL_KEYBOARD           11000
154 // WINDOW_ID's from 11100 to 11199 reserved for Skins
155 
156 #define WINDOW_DIALOG_SELECT              12000
157 #define WINDOW_DIALOG_MUSIC_INFO          12001
158 #define WINDOW_DIALOG_OK                  12002
159 #define WINDOW_DIALOG_VIDEO_INFO          12003
160 #define WINDOW_FULLSCREEN_VIDEO           12005
161 #define WINDOW_VISUALISATION              12006
162 #define WINDOW_SLIDESHOW                  12007
163 #define WINDOW_WEATHER                    12600
164 #define WINDOW_SCREENSAVER                12900
165 #define WINDOW_DIALOG_VIDEO_OSD           12901
166 
167 #define WINDOW_VIDEO_MENU                 12902
168 #define WINDOW_VIDEO_TIME_SEEK            12905 // virtual window for time seeking during fullscreen video
169 
170 #define WINDOW_FULLSCREEN_GAME            12906
171 
172 #define WINDOW_SPLASH                     12997 // splash window
173 #define WINDOW_START                      12998 // first window to load
174 #define WINDOW_STARTUP_ANIM               12999 // for startup animations
175 
176 // WINDOW_ID's from 13000 to 13099 reserved for Python
177 
178 #define WINDOW_PYTHON_START               13000
179 #define WINDOW_PYTHON_END                 13099
180 
181 // WINDOW_ID's from 14000 to 14099 reserved for Addons
182 
183 #define WINDOW_ADDON_START                14000
184 #define WINDOW_ADDON_END                  14099
185 
186