summaryrefslogtreecommitdiffstats
path: root/src/widgets/icon.h
blob: 2ed165f7eb463f3b0dd6faedbc1fcec4f65085b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef SEEN_SP_ICON_H
#define SEEN_SP_ICON_H

/*
 * Generic icon widget
 *
 * Author:
 *   Lauris Kaplinski <lauris@kaplinski.com>
 *
 * Copyright (C) 2002 Lauris Kaplinski
 *
 * Released under GNU GPL, read the file 'COPYING' for more information
 */

#include <glib.h>



#define SP_TYPE_ICON (sp_icon_get_type ())
#define SP_ICON(o) (GTK_CHECK_CAST ((o), SP_TYPE_ICON, SPIcon))
#define SP_IS_ICON(o) (GTK_CHECK_TYPE ((o), SP_TYPE_ICON))

#include <gtk/gtkwidget.h>

struct SPIcon {
    GtkWidget widget;

    GtkIconSize lsize;
    int psize;
    gchar *name;

    GdkPixbuf *pb;
    GdkPixbuf *pb_faded;
};

struct SPIconClass {
    GtkWidgetClass parent_class;
};

GType sp_icon_get_type (void);

GtkWidget *sp_icon_new( GtkIconSize size, const gchar *name );

#include <glibmm/ustring.h>
#include <gtkmm/widget.h>

// Might return a wrapped SPIcon, or Gtk::Image
Gtk::Widget *sp_icon_get_icon( const Glib::ustring &oid, GtkIconSize size = GTK_ICON_SIZE_BUTTON );


#endif // SEEN_SP_ICON_H