1 /*****************************************************************
2  * gmerlin - a general purpose multimedia framework and applications
3  *
4  * Copyright (c) 2001 - 2011 Members of the Gmerlin project
5  * gmerlin-general@lists.sourceforge.net
6  * http://gmerlin.sourceforge.net
7  *
8  * This program is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
20  * *****************************************************************/
21 
22 
23 #include <libxml/tree.h>
24 #include <libxml/parser.h>
25 
26 
27 #define DISPLAY_WIDTH  232
28 #define DISPLAY_HEIGHT  59
29 
30 typedef struct display_s display_t;
31 
32 typedef struct display_skin_s
33   {
34   int x, y;
35   float background[3];
36   float foreground_normal[3];
37   float foreground_error[3];
38   } display_skin_t;
39 
40 display_t * display_create(gmerlin_t * gmerlin);
41 
42 const bg_parameter_info_t * display_get_parameters(display_t * display);
43 
44 void display_set_parameter(void * data, const char * name,
45                            const bg_parameter_value_t * v);
46 
47 int display_get_parameter(void * data, const char * name,
48                            bg_parameter_value_t * v);
49 
50 void display_destroy(display_t *);
51 
52 void display_set_playlist_times(display_t *,
53                                 gavl_time_t duration_before,
54                                 gavl_time_t duration_current,
55                                 gavl_time_t duration_after);
56 
57 void display_set_time(display_t *, gavl_time_t time);
58 
59 void display_set_mute(display_t *, int mute);
60 
61 GtkWidget * display_get_widget(display_t *);
62 
63 void display_get_coords(display_t *, int * x, int * y);
64 
65 
66 /* Set state to something defined in playermsg.h */
67 
68 void display_set_state(display_t *, int state,
69                        const void * arg);
70 
71 /* Set track name to be displayed */
72 
73 void display_set_track_name(display_t * d, char * name);
74 
75 void display_set_error_msg(display_t * d, char * msg);
76 
77 void display_set_skin(display_t * d, display_skin_t * s);
78 
79 void display_skin_load(display_skin_t * s,
80                        xmlDocPtr doc, xmlNodePtr node);
81