diff options
Diffstat (limited to 'libtopmenu-common/topmenu-background.h')
-rw-r--r-- | libtopmenu-common/topmenu-background.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/libtopmenu-common/topmenu-background.h b/libtopmenu-common/topmenu-background.h new file mode 100644 index 0000000..aca72f8 --- /dev/null +++ b/libtopmenu-common/topmenu-background.h @@ -0,0 +1,74 @@ +/* + * Copyright 2014-2015 Javier S. Pedro <dev.git@javispedro.com> + * + * This file is part of TopMenu. + * + * TopMenu is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * TopMenu is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with TopMenu. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef _TOPMENU_BACKGROUND_H_ +#define _TOPMENU_BACKGROUND_H_ + +#include <gtk/gtk.h> +#include <gdk/gdkx.h> + +G_BEGIN_DECLS + +#define TOPMENU_TYPE_BACKGROUND topmenu_background_get_type() +#define TOPMENU_BACKGROUND(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), TOPMENU_TYPE_BACKGROUND, TopMenuBackground)) +#define TOPMENU_IS_BACKGROUND(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), TOPMENU_TYPE_BACKGROUND)) +#define TOPMENU_BACKGROUND_CLASS(c) (G_TYPE_CHECK_CLASS_CAST((c), TOPMENU_TYPE_BACKGROUND, TopMenuBackgroundClass)) +#define TOPMENU_IS_BACKGROUND_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE((c), TOPMENU_TYPE_BACKGROUND)) +#define TOPMENU_BACKGROUND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), TOPMENU_TYPE_BACKGROUND, TopMenuBackgroundClass)) + +typedef struct _TopMenuBackground TopMenuBackground; +typedef struct _TopMenuBackgroundClass TopMenuBackgroundClass; +typedef struct _TopMenuBackgroundPrivate TopMenuBackgroundPrivate; + +struct _TopMenuBackground +{ + GObject parent_instance; + TopMenuBackgroundPrivate *priv; +}; + +struct _TopMenuBackgroundClass +{ + GObjectClass parent_class; +}; + +GType topmenu_background_get_type(void) G_GNUC_CONST; + +TopMenuBackground * topmenu_background_new(void); + +void topmenu_background_set_from_color(TopMenuBackground *self, double red, double green, double blue, double alpha); +void topmenu_background_set_from_drawable(TopMenuBackground *self, Drawable drawable); +void topmenu_background_set_from_cairo_pattern(TopMenuBackground *self, cairo_pattern_t *pattern); +void topmenu_background_clear(TopMenuBackground *self); + +gboolean topmenu_background_get_color(TopMenuBackground *self, double *red, double *green, double *blue, double *alpha); +gboolean topmenu_background_get_pixmap(TopMenuBackground *self, Pixmap *pixmap); + +cairo_pattern_t * topmenu_background_get_cairo_pattern(TopMenuBackground *self); + +void topmenu_background_fill_client_message(TopMenuBackground *self, XClientMessageEvent *event); +void topmenu_background_set_from_client_message(TopMenuBackground *self, XClientMessageEvent *event); + +void topmenu_background_apply(TopMenuBackground *self, GtkWidget *widget); + +void topmenu_background_connect(TopMenuBackground *self, GtkWidget *widget); +void topmenu_background_disconnect(TopMenuBackground *self, GtkWidget *widget); + +G_END_DECLS + +#endif |