comparison src/aosd/aosd_cfg.h @ 569:d401f87f89f7 trunk

[svn] - added Audacious OSD, yet-another-written-from-scratch plugin to display OSD, based on Ghosd library; currently untied from configure, to compile it you have to run make in its directory; will be added to configure after some testing
author giacomo
date Mon, 29 Jan 2007 06:40:04 -0800
parents
children 26519231a4f4
comparison
equal deleted inserted replaced
568:8c64b5abdcda 569:d401f87f89f7
1 /*
2 *
3 * Author: Giacomo Lozito <james@develia.org>, (C) 2005-2007
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 *
19 */
20
21 #ifndef _I_AOSD_CFG_H
22 #define _I_AOSD_CFG_H 1
23
24 #include "aosd_common.h"
25 #include <glib.h>
26
27 /* in this release only one user font is supported */
28 #define AOSD_TEXT_FONTS_NUM 1
29
30 enum
31 {
32 AOSD_POSITION_PLACEMENT_TOPLEFT = 1,
33 AOSD_POSITION_PLACEMENT_TOP,
34 AOSD_POSITION_PLACEMENT_TOPRIGHT,
35 AOSD_POSITION_PLACEMENT_MIDDLELEFT,
36 AOSD_POSITION_PLACEMENT_MIDDLE,
37 AOSD_POSITION_PLACEMENT_MIDDLERIGHT,
38 AOSD_POSITION_PLACEMENT_BOTTOMLEFT,
39 AOSD_POSITION_PLACEMENT_BOTTOM,
40 AOSD_POSITION_PLACEMENT_BOTTOMRIGHT
41 };
42
43
44 typedef struct
45 {
46 guint16 red;
47 guint16 green;
48 guint16 blue;
49 guint16 alpha;
50 }
51 aosd_color_t;
52
53
54 /* config portion containing osd decoration information */
55 typedef struct
56 {
57 gint code;
58 GArray *colors;
59 gchar *skin_file;
60 }
61 aosd_cfg_osd_decoration_t;
62
63
64 /* config portion containing osd text information */
65 typedef struct
66 {
67 gchar *fonts_name[AOSD_TEXT_FONTS_NUM];
68 aosd_color_t fonts_color[AOSD_TEXT_FONTS_NUM];
69 gboolean fonts_draw_shadow[AOSD_TEXT_FONTS_NUM];
70 aosd_color_t fonts_shadow_color[AOSD_TEXT_FONTS_NUM];
71 }
72 aosd_cfg_osd_text_t;
73
74
75 /* config portion containing osd animation information */
76 typedef struct
77 {
78 gint timing_display;
79 gint timing_fadein;
80 gint timing_fadeout;
81 }
82 aosd_cfg_osd_animation_t;
83
84
85 /* config portion containing osd position information */
86 typedef struct
87 {
88 gint placement;
89 gint offset_x;
90 gint offset_y;
91 }
92 aosd_cfg_osd_position_t;
93
94
95 /* config portion containing all information */
96 typedef struct
97 {
98 aosd_cfg_osd_position_t position;
99 aosd_cfg_osd_animation_t animation;
100 aosd_cfg_osd_text_t text;
101 aosd_cfg_osd_decoration_t decoration;
102 }
103 aosd_cfg_osd_t;
104
105
106 /* config portion containing all config information */
107 typedef struct
108 {
109 gboolean set;
110
111 aosd_cfg_osd_t * osd;
112 }
113 aosd_cfg_t;
114
115
116 /* API */
117 aosd_cfg_t * aosd_cfg_new ( void );
118 void aosd_cfg_delete ( aosd_cfg_t * cfg );
119 aosd_cfg_osd_t * aosd_cfg_osd_new( void );
120 void aosd_cfg_osd_delete ( aosd_cfg_osd_t * cfg_osd );
121 aosd_cfg_osd_t * aosd_cfg_osd_copy ( aosd_cfg_osd_t * cfg_osd );
122 gint aosd_cfg_load ( aosd_cfg_t * cfg );
123 gint aosd_cfg_save ( aosd_cfg_t * cfg );
124
125 #endif /* !_I_AOSD_CFG_H */