1 /*
2  * Copyright (C) 2002 Stefan Holst
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA.
17  *
18  * datatypes and defines for events
19  */
20 
21 #ifndef HAVE_EVENT_H
22 #define HAVE_EVENT_H
23 
24 /*
25  * oxine global events and keycodes
26  */
27 
28 #define OXINE_EVENT_KEY             1
29 #define OXINE_EVENT_BUTTON          2
30 #define OXINE_EVENT_MOTION          3
31 #define OXINE_EVENT_FINISH          4
32 #define OXINE_EVENT_FORMAT_CHANGED  5
33 #define OXINE_EVENT_START           6
34 
35 #define OXINE_KEY_NULL      0
36 #define OXINE_KEY_UP        1
37 #define OXINE_KEY_DOWN      2
38 #define OXINE_KEY_LEFT      3
39 #define OXINE_KEY_RIGHT     4
40 #define OXINE_KEY_PRIOR     5
41 #define OXINE_KEY_NEXT      6
42 #define OXINE_KEY_SELECT    7
43 #define OXINE_KEY_PLAY      8
44 #define OXINE_KEY_PAUSE     9
45 #define OXINE_KEY_STOP     10
46 #define OXINE_KEY_FORWARD  11
47 #define OXINE_KEY_REWIND   12
48 #define OXINE_KEY_0        13
49 #define OXINE_KEY_1        14
50 #define OXINE_KEY_2        15
51 #define OXINE_KEY_3        16
52 #define OXINE_KEY_4        17
53 #define OXINE_KEY_5        18
54 #define OXINE_KEY_6        19
55 #define OXINE_KEY_7        20
56 #define OXINE_KEY_8        21
57 #define OXINE_KEY_9        22
58 #define OXINE_KEY_MENU1    23
59 #define OXINE_KEY_MENU2    24
60 #define OXINE_KEY_MENU3    25
61 #define OXINE_KEY_MENU4    26
62 #define OXINE_KEY_MENU5    27
63 #define OXINE_KEY_MENU6    28
64 #define OXINE_KEY_MENU7    29
65 #define OXINE_KEY_ESCAPE   30
66 #define OXINE_KEY_FULLSCREEN 31
67 #define OXINE_KEY_VOLUP    32
68 #define OXINE_KEY_VOLDOWN  33
69 #define OXINE_KEY_VOLMUTE  34
70 #define OXINE_KEY_SEEK     35
71 #define OXINE_KEY_OSD      36
72 #define OXINE_KEY_EJECT    37
73 #define OXINE_KEY_PPLAY    38
74 #define OXINE_KEY_PL_NEXT  39
75 #define OXINE_KEY_PL_PREV  40
76 #define OXINE_KEY_SATURATION  41
77 #define OXINE_KEY_BRIGHTNESS  42
78 #define OXINE_KEY_CONTRAST    43
79 #define OXINE_KEY_HUE         44
80 #define OXINE_KEY_SPU_OFFSET  45
81 #define OXINE_KEY_SPU_CHANNEL   46
82 #define OXINE_KEY_AUDIO_CHANNEL_LOGICAL  47
83 #define OXINE_KEY_AV_OFFSET     48
84 #define OXINE_KEY_SPEED     49
85 #define OXINE_KEY_TOGGLE_ASPECT_RATIO     50
86 #define OXINE_KEY_VO_DEINTERLACE      51
87 #define OXINE_KEY_STREAM_POSITION     52
88 
89 #define OXINE_BUTTON1       1
90 #define OXINE_BUTTON2       2
91 #define OXINE_BUTTON3       3
92 #define OXINE_BUTTON4       4
93 #define OXINE_BUTTON5       5
94 
95 typedef struct {
96 
97   int              type;
98   int              key, x, y;
99   int              repeat;
100   char             *data;
101 
102 } oxine_event_t;
103 
104 #endif
105