1 /*
2  * Copyright (C) 2000-2017 the xine project
3  *
4  * This file is part of xine, a unix video player.
5  *
6  * xine is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * xine is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
19  *
20  *
21  */
22 
23 #ifndef HAVE_XITK_CONFIG_H
24 #define HAVE_XITK_CONFIG_H
25 
26 #include <stdio.h>
27 
28 typedef struct {
29   FILE             *fd;
30   char             *cfgfilename;
31   char             *ln;
32   char              buf[256];
33 
34   struct {
35     char           *fallback;
36     char           *system;
37     int             xmb;
38   } fonts;
39 
40   struct {
41     int             black;
42     int             white;
43     int             background;
44     int             focus;
45     int             select;
46     int             warn_foreground;
47     int             warn_background;
48   } colors;
49 
50   struct {
51     unsigned long   label_anim;
52     long int        dbl_click;
53   } timers;
54 
55   struct {
56     int             shm;
57     int             oldbarstyle;
58     int             checkstyle;
59     int             cursors;
60   } features;
61 
62   struct {
63     int             shortcuts;
64   } menus;
65 
66 } xitk_config_t;
67 
68 
69 xitk_config_t *xitk_config_init(void);
70 void xitk_config_deinit(xitk_config_t *xtcf);
71 int xitk_config_get_barstyle_feature(xitk_config_t *xtcf);
72 int xitk_config_get_checkstyle_feature(xitk_config_t *xtcf);
73 int xitk_config_get_shm_feature(xitk_config_t *xtcf);
74 int xitk_config_get_cursors_feature(xitk_config_t *xtcf);
75 const char *xitk_config_get_system_font(xitk_config_t *xtcf);
76 const char *xitk_config_get_default_font(xitk_config_t *xtcf);
77 int xitk_config_get_xmb_enability(xitk_config_t *xtcf);
78 void xitk_config_set_xmb_enability(xitk_config_t *xtcf, int value);
79 int xitk_config_get_black_color(xitk_config_t *xtcf);
80 int xitk_config_get_white_color(xitk_config_t *xtcf);
81 int xitk_config_get_background_color(xitk_config_t *xtcf);
82 int xitk_config_get_focus_color(xitk_config_t *xtcf);
83 int xitk_config_get_select_color(xitk_config_t *xtcf);
84 unsigned long xitk_config_get_timer_label_animation(xitk_config_t *xtcf);
85 long xitk_config_get_timer_dbl_click(xitk_config_t *xtcf);
86 unsigned long xitk_config_get_warning_foreground(xitk_config_t *xtcf);
87 unsigned long xitk_config_get_warning_background(xitk_config_t *xtcf);
88 int xitk_config_get_menu_shortcuts_enability(xitk_config_t *xtcf);
89 
90 #endif
91