source: trunk/third/gtk/gtk/gtkprivate.h @ 14482

Revision 14482, 3.2 KB checked in by ghudson, 25 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r14481, which included commits to RCS files with non-trunk default branches.
RevLine 
[14481]1/* GTK - The GIMP Toolkit
2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 * Library General Public License for more details.
13 *
14 * You should have received a copy of the GNU Library General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
18 */
19
20/*
21 * Modified by the GTK+ Team and others 1997-1999.  See the AUTHORS
22 * file for a list of people on the GTK+ Team.  See the ChangeLog
23 * files for a list of changes.  These files are distributed with
24 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
25 */
26
27#ifndef __GTK_PRIVATE_H__
28#define __GTK_PRIVATE_H__
29
30
31#include <gtk/gtkobject.h>
32#include <gtk/gtkwidget.h>
33
34
35#ifdef __cplusplus
36extern "C" {
37#endif /* __cplusplus */
38
39
40/* The private flags that are used in the private_flags member of GtkWidget.
41 */
42typedef enum
43{
44  PRIVATE_GTK_USER_STYLE        = 1 <<  0,
45  PRIVATE_GTK_REDRAW_PENDING    = 1 <<  1,
46  PRIVATE_GTK_RESIZE_PENDING    = 1 <<  2,
47  PRIVATE_GTK_RESIZE_NEEDED     = 1 <<  3,
48  PRIVATE_GTK_LEAVE_PENDING     = 1 <<  4,
49  PRIVATE_GTK_HAS_SHAPE_MASK    = 1 <<  5,
50  PRIVATE_GTK_IN_REPARENT       = 1 <<  6,
51  PRIVATE_GTK_IS_OFFSCREEN      = 1 <<  7,
52  PRIVATE_GTK_FULLDRAW_PENDING  = 1 <<  8
53} GtkPrivateFlags;
54
55/* Macros for extracting a widgets private_flags from GtkWidget.
56 */
57#define GTK_PRIVATE_FLAGS(wid)            (GTK_WIDGET (wid)->private_flags)
58#define GTK_WIDGET_USER_STYLE(obj)        ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_USER_STYLE) != 0)
59#define GTK_WIDGET_REDRAW_PENDING(obj)    ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_REDRAW_PENDING) != 0)
60#define GTK_CONTAINER_RESIZE_PENDING(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_RESIZE_PENDING) != 0)
61#define GTK_WIDGET_RESIZE_NEEDED(obj)     ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_RESIZE_NEEDED) != 0)
62#define GTK_WIDGET_LEAVE_PENDING(obj)     ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_LEAVE_PENDING) != 0)
63#define GTK_WIDGET_HAS_SHAPE_MASK(obj)    ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_HAS_SHAPE_MASK) != 0)
64#define GTK_WIDGET_IN_REPARENT(obj)       ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_IN_REPARENT) != 0)
65#define GTK_WIDGET_IS_OFFSCREEN(obj)      ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_IS_OFFSCREEN) != 0)
66#define GTK_WIDGET_FULLDRAW_PENDING(obj)  ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_FULLDRAW_PENDING) != 0)
67
68/* Macros for setting and clearing private widget flags.
69 * we use a preprocessor string concatenation here for a clear
70 * flags/private_flags distinction at the cost of single flag operations.
71 */
72#define GTK_PRIVATE_SET_FLAG(wid,flag)    G_STMT_START{ (GTK_PRIVATE_FLAGS (wid) |= (PRIVATE_ ## flag)); }G_STMT_END
73#define GTK_PRIVATE_UNSET_FLAG(wid,flag)  G_STMT_START{ (GTK_PRIVATE_FLAGS (wid) &= ~(PRIVATE_ ## flag)); }G_STMT_END
74
75#ifdef __cplusplus
76}
77#endif /* __cplusplus */
78
79
80#endif /* __GTK_PRIVATE_H__ */
Note: See TracBrowser for help on using the repository browser.