1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- 2 * 3 * Copyright (C) 2008 Red Hat, Inc. 4 * Copyright (C) 2014 Michal Ratajsky <michal.ratajsky@gmail.com> 5 * Copyright (C) 2019 Victor Kareh <vkareh@vkareh.net> 6 * Copyright (C) 2014-2021 MATE Developers 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, write to the Free Software 20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. 21 * 22 */ 23 24 #ifndef __GVC_STREAM_APPLET_ICON_H 25 #define __GVC_STREAM_APPLET_ICON_H 26 27 #include <glib.h> 28 #include <glib-object.h> 29 #include <libmatemixer/matemixer.h> 30 31 G_BEGIN_DECLS 32 33 #define GVC_TYPE_STREAM_APPLET_ICON (gvc_stream_applet_icon_get_type ()) 34 #define GVC_STREAM_APPLET_ICON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GVC_TYPE_STREAM_APPLET_ICON, GvcStreamAppletIcon)) 35 #define GVC_STREAM_APPLET_ICON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GVC_TYPE_STREAM_APPLET_ICON, GvcStreamAppletIconClass)) 36 #define GVC_IS_STREAM_APPLET_ICON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GVC_TYPE_STREAM_APPLET_ICON)) 37 #define GVC_IS_STREAM_APPLET_ICON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GVC_TYPE_STREAM_APPLET_ICON)) 38 #define GVC_STREAM_APPLET_ICON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GVC_TYPE_STREAM_APPLET_ICON, GvcStreamAppletIconClass)) 39 40 typedef struct _GvcStreamAppletIcon GvcStreamAppletIcon; 41 typedef struct _GvcStreamAppletIconClass GvcStreamAppletIconClass; 42 typedef struct _GvcStreamAppletIconPrivate GvcStreamAppletIconPrivate; 43 44 struct _GvcStreamAppletIcon 45 { 46 GtkEventBox parent; 47 GvcStreamAppletIconPrivate *priv; 48 }; 49 50 struct _GvcStreamAppletIconClass 51 { 52 GtkEventBoxClass parent_class; 53 }; 54 55 GType gvc_stream_applet_icon_get_type (void) G_GNUC_CONST; 56 57 GvcStreamAppletIcon * gvc_stream_applet_icon_new (MateMixerStreamControl *control, 58 const gchar **icon_names); 59 60 void gvc_stream_applet_icon_set_icon_names (GvcStreamAppletIcon *icon, 61 const gchar **icon_names); 62 void gvc_stream_applet_icon_set_display_name (GvcStreamAppletIcon *icon, 63 const gchar *display_name); 64 65 void gvc_stream_applet_icon_set_control (GvcStreamAppletIcon *icon, 66 MateMixerStreamControl *control); 67 68 void gvc_stream_applet_icon_set_size (GvcStreamAppletIcon *icon, 69 guint size); 70 71 void gvc_stream_applet_icon_set_orient (GvcStreamAppletIcon *icon, 72 MatePanelAppletOrient orient); 73 74 gboolean gvc_stream_applet_icon_get_mute (GvcStreamAppletIcon *icon); 75 76 void gvc_stream_applet_icon_set_mute (GvcStreamAppletIcon *icon, 77 gboolean mute); 78 79 void gvc_stream_applet_icon_volume_control (GvcStreamAppletIcon *icon); 80 81 G_END_DECLS 82 83 #endif /* __GVC_STREAM_APPLET_ICON_H */ 84