1 /* -*- Mode: C; tab-width: 3; indent-tabs-mode: nil; c-basic-offset: 3 -*- */
2 
3 /*
4  * Copyright (C) 2002 Takuro Ashie
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19  *
20  * $Id: gimv_cell_pixmap.h,v 1.1 2003/07/06 16:46:21 makeinu Exp $
21  */
22 
23 /*
24  *  These codes are based on gtk/gtkcellrendererpixbuf.h in gtk+-2.0.6
25  *  Copyright (C) 2000  Red Hat, Inc.,  Jonathan Blandford <jrb@redhat.com>
26  */
27 
28 #ifndef __GIMV_CELL_RENDERER_PIXMAP_H__
29 #define __GIMV_CELL_RENDERER_PIXMAP_H__
30 
31 #ifdef HAVE_CONFIG_H
32 #  include <config.h>
33 #endif
34 
35 #include <gtk/gtk.h>
36 
37 #if (GTK_MAJOR_VERSION >= 2)
38 
39 #include <gtk/gtkcellrenderer.h>
40 
41 #ifdef __cplusplus
42 extern "C" {
43 #endif /* __cplusplus */
44 
45 
46 #define GIMV_TYPE_CELL_RENDERER_PIXMAP			     (gimv_cell_renderer_pixmap_get_type ())
47 #define GIMV_CELL_RENDERER_PIXMAP(obj)			     (GTK_CHECK_CAST ((obj), GIMV_TYPE_CELL_RENDERER_PIXMAP, GimvCellRendererPixmap))
48 #define GIMV_CELL_RENDERER_PIXMAP_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GIMV_TYPE_CELL_RENDERER_PIXMAP, GimvCellRendererPixmapClass))
49 #define GIMV_IS_CELL_RENDERER_PIXMAP(obj)		     (GTK_CHECK_TYPE ((obj), GIMV_TYPE_CELL_RENDERER_PIXMAP))
50 #define GIMV_IS_CELL_RENDERER_PIXMAP_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GIMV_TYPE_CELL_RENDERER_PIXMAP))
51 #define GIMV_CELL_RENDERER_PIXMAP_GET_CLASS(obj)  (GTK_CHECK_GET_CLASS ((obj), GIMV_TYPE_CELL_RENDERER_PIXMAP, GimvCellRendererPixmapClass))
52 
53 typedef struct GimvCellRendererPixmap_Tag         GimvCellRendererPixmap;
54 typedef struct GimvCellRendererPixmapClass_Tag    GimvCellRendererPixmapClass;
55 
56 struct GimvCellRendererPixmap_Tag
57 {
58    GtkCellRenderer parent;
59 
60    GdkPixmap *pixmap;
61    GdkBitmap *mask;
62    GdkPixmap *pixmap_expander_open;
63    GdkBitmap *mask_expander_open;
64    GdkPixmap *pixmap_expander_closed;
65    GdkBitmap *mask_expander_closed;
66 };
67 
68 struct GimvCellRendererPixmapClass_Tag
69 {
70    GtkCellRendererClass parent_class;
71 
72    /* Padding for future expansion */
73    void (*_gimv_reserved1) (void);
74    void (*_gimv_reserved2) (void);
75    void (*_gimv_reserved3) (void);
76    void (*_gimv_reserved4) (void);
77 };
78 
79 GtkType          gimv_cell_renderer_pixmap_get_type (void);
80 GtkCellRenderer *gimv_cell_renderer_pixmap_new      (void);
81 
82 #ifdef __cplusplus
83 }
84 #endif /* __cplusplus */
85 
86 #endif /* __GIMV_CELL_RENDERER_PIXMAP_H__ */
87 
88 #endif /* (GTK_MAJOR_VERSION >= 2) */
89