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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/* Marco theme widget (displays themed draw operations) */
/*
* Copyright (C) 2002 Havoc Pennington
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program 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
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include "theme.h"
#include <gtk/gtk.h>
#ifndef META_THEME_WIDGET_H
#define META_THEME_WIDGET_H
#define META_TYPE_AREA (meta_area_get_type ())
#define META_AREA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_AREA, MetaArea))
#define META_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_AREA, MetaAreaClass))
#define META_IS_AREA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_AREA))
#define META_IS_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_AREA))
#define META_AREA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_AREA, MetaAreaClass))
typedef struct _MetaArea MetaArea;
typedef struct _MetaAreaClass MetaAreaClass;
typedef void (* MetaAreaSizeFunc) (MetaArea *area,
int *width,
int *height,
void *user_data);
#if GTK_CHECK_VERSION(3, 0, 0)
typedef void (* MetaAreaDrawFunc) (MetaArea *area,
cairo_t *cr,
void *user_data);
#else
typedef void (* MetaAreaExposeFunc) (MetaArea *area,
GdkEventExpose *event,
int x_offset,
int y_offset,
void *user_data);
#endif
#define parent_class meta_area_parent_class
struct _MetaArea
{
GtkMisc misc;
MetaAreaSizeFunc size_func;
#if GTK_CHECK_VERSION(3, 0, 0)
MetaAreaDrawFunc draw_func;
#else
MetaAreaExposeFunc expose_func;
#endif
void *user_data;
GDestroyNotify dnotify;
};
struct _MetaAreaClass
{
GtkMiscClass parent_class;
};
GType meta_area_get_type (void) G_GNUC_CONST;
GtkWidget* meta_area_new (void);
void meta_area_setup (MetaArea *area,
MetaAreaSizeFunc size_func,
#if GTK_CHECK_VERSION(3, 0, 0)
MetaAreaDrawFunc draw_func,
#else
MetaAreaExposeFunc expose_func,
#endif
void *user_data,
GDestroyNotify dnotify);
#endif
|