Mostly minor fixes up until version 0.8.10.
[irreco.git] / irreco / src / core / irreco_theme_button.h
blob5803ebd828d05a23e3a43a269efcc9de20907513
1 /*
2 * irreco - Ir Remote Control
3 * Copyright (C) 2008 Joni Kokko (t5kojo01@students.oamk.fi)
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 /**
21 * @addtogroup IrrecoThemeButton
22 * @{
25 /**
26 * @file
27 * Header file of @ref IrrecoThemeButton.
30 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
31 /* Typedef */
32 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
34 * Make sure that typedefs are available before we include anything elese.
36 * This makes sure that whatever other structures that depend on structures
37 * defined in this file will compile OK recardles of header inclusion order.
39 #ifndef __IRRECO_THEME_BUTTON_H_TYPEDEF__
40 #define __IRRECO_THEME_BUTTON_H_TYPEDEF__
41 typedef struct _IrrecoThemeButton IrrecoThemeButton;
42 #endif /* __IRRECO_THEME_BUTTON_H_TYPEDEF__ */
46 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
47 /* Include */
48 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
49 #ifndef __IRRECO_THEME_BUTTON_H__
50 #define __IRRECO_THEME_BUTTON_H__
51 #include "irreco.h"
55 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
56 /* Datatypes */
57 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
59 struct _IrrecoThemeButton
61 GString *theme_name;
62 GString *style_name;
63 GString *name;
64 gboolean allow_text;
65 GString *image_up;
66 GString *image_down;
67 GString *text_format_up;
68 GString *text_format_down;
69 gint text_padding;
70 gfloat text_h_align;
71 gfloat text_v_align;
74 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
75 /* Macro */
76 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
80 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
81 /* Prototypes */
82 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
84 IrrecoThemeButton *irreco_theme_button_new(const char *theme_name);
85 void irreco_theme_button_free(IrrecoThemeButton *self);
87 void irreco_theme_button_set(IrrecoThemeButton *self,
88 const char *style_name,
89 const char *name,
90 gboolean allow_text,
91 const char *image_up,
92 const char *image_down,
93 const char *text_format_up,
94 const char *text_format_down,
95 gint text_padding,
96 gfloat text_h_align,
97 gfloat text_v_align);
98 void irreco_theme_button_set_from_button(IrrecoThemeButton *self,
99 IrrecoThemeButton *button);
100 IrrecoThemeButton *
101 irreco_theme_button_new_from_dir(const gchar *dir, const gchar *theme_name);
102 void irreco_theme_button_read(IrrecoThemeButton *self, const gchar *dir);
103 void irreco_theme_button_print(IrrecoThemeButton *self);
104 IrrecoThemeButton *irreco_theme_button_copy(IrrecoThemeButton *self);
105 gboolean
106 irreco_theme_button_save(IrrecoThemeButton *self, const gchar *path);
107 #endif /* __IRRECO_THEME_BUTTON_H__ */
109 /** @} */