summaryrefslogtreecommitdiffstats
path: root/docs/doxygen/pages/mainpage.dox
blob: 18ba7e950cafd514dbddb66f294bb6513e02205c (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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
/*! \file   mainpage.dox
    \brief  Introduction page

  \mainpage Introduction
            Welcome to the documentation of Kodi. This starting page is meant to help people find their
            way around the code.

            This documentation is a work in progress - only some of the code has thus far been documented
            and we welcome any and all input to documenting it further. Documentation serves both to help
            newcomers get to grips with the source quickly, and to highlight possible deficiencies in the
            code or interfaces. Due to the projects history you may find XBMC mentioned in the docs, this was
            the previous name of the project.

            Any help/suggestions are more than welcome.

  \section  doxy_whatisxbmc What is Kodi?
            Kodi is a free, open source (GPL) multimedia player that runs on Linux, Mac OS X (10.4 and later),
            Windows, IOS and Android.  See http://kodi.tv for more details.
*/

// Groups definition

/*!
	\defgroup jobs Asynchronous jobs
	Threaded job execution
*/

/*!
	\defgroup guilib Guilib classes
	Guilib classes
*/

/*!
	\defgroup graphics Graphics and Screen
	\ingroup guilib

	Everything around graphics and Screen
*/

^/*!
	\defgroup thumbs Thumbs
	\ingroup graphics
	Everything around the thumbs
*/

/*!
	\defgroup textures Textures and Fonts
	\ingroup graphics

	Everything about textures and fonts
*/

/*!
	\defgroup items Items
	\ingroup guilib
	Everything around items
*/

/*!
	\defgroup labels Labels
	\ingroup guilib
	Everything around labels
*/

/*!
	\defgroup lists Lists
	\ingroup guilib
	Everything around lists
*/

/*!
	\defgroup strings Strings and Localization
	\ingroup guilib

	Everything around Strings and localization
*/

/*!
	\defgroup tinyxml XML Parser
	\ingroup strings
	Tiny XML - XML Parser
*/

/*!
	\defgroup winref Window Reference
	\ingroup guilib
	The window reference
*/

/*!
	\defgroup winmsg Windows and Messages
	\ingroup winref
	Windows and messages
*/

/*!
	\defgroup controls Controls
	\ingroup winref
	Control classes
*/

/*!
	\defgroup winman Window Manager and Callbacks
	\ingroup winref

	Everything about window manager and callbacks
*/

/*!
	\defgroup actionkeys Actions and Keys
	\ingroup winref

	Everything around action mapping and key processing
*/

/*!

	\defgroup database Database

	Everything around the database
*/

/*!
	\defgroup filesystem Filesystem
	Everything around the filesystem
*/

/*!
	\defgroup input Input
	Everything around input
*/

/*! \defgroup keyboard Keyboard
    \ingroup input

    Keyboard input is processed by \ref CInputManager and forwarded to
    registered keyboard handlers (e.g. game clients) or as actions to the UI:

    - If no keyboard handlers are registered or if they don't consume events,
      the keyboard events are forwarded to the UI via \ref CInputManager::OnKey.
    - Clients (e.g. game clients implementing \ref KEYBOARD::IKeyboardHandler) call
      \ref CInputManager::RegisterKeyboardHandler to register themselves as eligible
      for keyboard input events.
    - Keyboards can emulate Joysticks as described in KEYBOARD::CJoystickEmulation.
*/

/*!
	\defgroup mouse Mouse
	\ingroup input
	Everything around mouse

	Mouse input is processed by \ref CInputManager and forwarded to
	registered mouse handlers (e.g. game clients) or as actions to the UI:

	- If no mouse handlers are registered or if they don't consume events,
	  the mouse input events are forwarded to the UI via \ref CInputManager::ProcessMouse.
	- Clients (e.g. game clients implementing \ref MOUSE::IMouseInputHandler) call
	  \ref CInputManager::RegisterMouseHandler to register themselves as eligible
	  for mouse input events.
	- Mouse events (from \ref CInputManager::OnEvent) are collected via implementations of
	  \ref MOUSE::IMouseDriverHandler and transformed into higher level features by
	  \ref MOUSE::IMouseButtonMap instances before they are sent to the handlers.
*/

/*!
	\defgroup joystick Joystick
	\ingroup input
	Everything around joystick
*/

/*!
	\defgroup touch Touch
	\ingroup input
	Everything around touch detection
*/

/*!
	\defgroup touch_generic Touch
	\ingroup touch
	Everything around generic touch detection
*/

/*!
	\defgroup games
	Everything about RetroPlayer.
*/

/*!
	\defgroup interface Interfaces
	Everything around interfaces
*/

/*!
	\defgroup info Info
	\ingroup interface
	Everything around the info interface
*/

/*!
	\defgroup jsonrpc JSON-RPC
	\ingroup interface
	Everything around the json-rpc interface
*/

/*!
	\defgroup jsonrpc JSON-RPC
	\ingroup interface
	Everything around the json-rpc interface
*/

/*!
	\defgroup listproviders Listproviders
	Everything around the listproviders
*/

/*!
	\defgroup music Music info
	Elements used in my music
*/

/*!
	\defgroup settings Settings
	Everything around the settings
*/

/*!
	\defgroup windows Windows
	Kodi windows
*/