summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorTim Janik <timj@gtk.org>1998-08-18 03:59:41 +0000
committerTim Janik <timj@src.gnome.org>1998-08-18 03:59:41 +0000
commit7f2909bbab8294c98338ee5512db520c48ced929 (patch)
tree86bc09d36566944710fc7dd6c1ea5e2cbd59ede9 /gdk
parentfdc36ada3f64bb1e9f2afa4c4cfe6c4a56565109 (diff)
downloadgtk+-7f2909bbab8294c98338ee5512db520c48ced929.tar.gz
restricted the --g*fatal-* arguments to --g-fatal-warnings again. this
Tue Aug 18 03:54:43 1998 Tim Janik <timj@gtk.org> * gtk/gtkmain.c (gtk_init): restricted the --g*fatal-* arguments to --g-fatal-warnings again. this option now causes log levels of WARNING and CRITICAL to abort(). * gdk/gdk.c: * gdk/gdkdnd.c: * gdk/gdkcc.c: * gdk/gdkfont.c: * gdk/gdkwindow.c: * gdk/gdkvisual.c: * gtk/gtkwidget.c: * gtk/gtktypeutils.c: * gtk/gtktree.c: * gtk/gtkfontsel.c: * gtk/gtkmain.c: * gtk/gtkobject.c: * gtk/gtkpreview.c: * gtk/gtkselection.c: * gtk/gtktext.c: * gtk/gtktree.c: * gtk/gtktreeitem.c: did a global search&replace to substitute g_print() calls with g_message(). libraries shouldn't use printf(), g_print() or g_printerr() at all. a bunch of the replacements should probably be wrapped into the G{D|T}K_NOTE() macros, so they are special cased for debugging purposes in a sane way, avoiding all the nasty #ifdef DEBUG_MY_TEDDY things. * gdk/gdkrgb.c: left this out currently. * gdk/gdkdnd.c: added copyright notice.
Diffstat (limited to 'gdk')
-rw-r--r--gdk/gdk.c1686
-rw-r--r--gdk/gdkcc.c954
-rw-r--r--gdk/gdkdnd.c44
-rw-r--r--gdk/gdkfont.c4
-rw-r--r--gdk/gdkvisual.c6
-rw-r--r--gdk/gdkwindow.c9
-rw-r--r--gdk/x11/gdkcc-x11.c954
-rw-r--r--gdk/x11/gdkdnd-x11.c44
-rw-r--r--gdk/x11/gdkfont-x11.c4
-rw-r--r--gdk/x11/gdkmain-x11.c1686
-rw-r--r--gdk/x11/gdkvisual-x11.c6
-rw-r--r--gdk/x11/gdkwindow-x11.c9
12 files changed, 2720 insertions, 2686 deletions
diff --git a/gdk/gdk.c b/gdk/gdk.c
index 9dd96da943..a4438cb6d2 100644
--- a/gdk/gdk.c
+++ b/gdk/gdk.c
@@ -8,7 +8,7 @@
*
* This library 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
@@ -68,7 +68,7 @@
# define SELECT_MASK fd_set
#else
# ifndef _AIX
- typedef long fd_mask;
+typedef long fd_mask;
# endif
# if defined(_IBMR2)
# define SELECT_MASK void
@@ -101,120 +101,120 @@ struct _GdkPredicate
* Private function declarations
*/
-static GdkEvent *gdk_event_new (void);
-static gint gdk_event_wait (void);
-static gint gdk_event_apply_filters (XEvent *xevent,
+static GdkEvent *gdk_event_new (void);
+static gint gdk_event_wait (void);
+static gint gdk_event_apply_filters (XEvent *xevent,
GdkEvent *event,
GList *filters);
-static gint gdk_event_translate (GdkEvent *event,
- XEvent *xevent);
+static gint gdk_event_translate (GdkEvent *event,
+ XEvent *xevent);
#if 0
-static Bool gdk_event_get_type (Display *display,
- XEvent *xevent,
+static Bool gdk_event_get_type (Display *display,
+ XEvent *xevent,
XPointer arg);
#endif
-static void gdk_synthesize_click (GdkEvent *event,
- gint nclicks);
+static void gdk_synthesize_click (GdkEvent *event,
+ gint nclicks);
-static void gdk_dnd_drag_begin (GdkWindow *initial_window);
-static void gdk_dnd_drag_enter (Window dest);
-static void gdk_dnd_drag_leave (Window dest);
-static void gdk_dnd_drag_end (Window dest,
+static void gdk_dnd_drag_begin (GdkWindow *initial_window);
+static void gdk_dnd_drag_enter (Window dest);
+static void gdk_dnd_drag_leave (Window dest);
+static void gdk_dnd_drag_end (Window dest,
GdkPoint coords);
-static GdkAtom gdk_dnd_check_types (GdkWindow *window,
- XEvent *xevent);
+static GdkAtom gdk_dnd_check_types (GdkWindow *window,
+ XEvent *xevent);
#ifdef DEBUG_DND
-static void gdk_print_atom (GdkAtom anatom);
+static void gdk_print_atom (GdkAtom anatom);
#endif
#ifndef HAVE_XCONVERTCASE
-static void gdkx_XConvertCase (KeySym symbol,
- KeySym *lower,
- KeySym *upper);
+static void gdkx_XConvertCase (KeySym symbol,
+ KeySym *lower,
+ KeySym *upper);
#define XConvertCase gdkx_XConvertCase
#endif
/*
* old junk from offix, we might use it though so leave it
*/
-Window gdk_get_client_window (Display *dpy,
- Window win);
+Window gdk_get_client_window (Display *dpy,
+ Window win);
#ifdef WE_HAVE_MOTIF_DROPS_DONE
-static GdkWindow * gdk_drop_get_real_window (GdkWindow *w,
+static GdkWindow * gdk_drop_get_real_window (GdkWindow *w,
guint16 *x,
guint16 *y);
#endif
-static void gdk_exit_func (void);
-static int gdk_x_error (Display *display,
+static void gdk_exit_func (void);
+static int gdk_x_error (Display *display,
XErrorEvent *error);
-static int gdk_x_io_error (Display *display);
-static RETSIGTYPE gdk_signal (int signum);
+static int gdk_x_io_error (Display *display);
+static RETSIGTYPE gdk_signal (int signum);
#ifdef USE_XIM
-static guint gdk_im_va_count (va_list list);
+static guint gdk_im_va_count (va_list list);
static XVaNestedList gdk_im_va_to_nested (va_list list,
- guint count);
+ guint count);
static GdkIM gdk_im_get (void);
static gint gdk_im_open (XrmDatabase db,
gchar* res_name,
gchar* rec_class);
static void gdk_im_close (void);
-static void gdk_ic_cleanup (void);
+static void gdk_ic_cleanup (void);
#endif /* USE_XIM */
/* Private variable declarations
*/
-static int gdk_initialized = 0; /* 1 if the library is initialized,
+static int gdk_initialized = 0; /* 1 if the library is initialized,
* 0 otherwise.
*/
-static int connection_number = 0; /* The file descriptor number of our
- * connection to the X server. This
- * is used so that we may determine
- * when events are pending by using
- * the "select" system call.
+static int connection_number = 0; /* The file descriptor number of our
+ * connection to the X server. This
+ * is used so that we may determine
+ * when events are pending by using
+ * the "select" system call.
*/
-static struct timeval start; /* The time at which the library was
- * last initialized.
+static struct timeval start; /* The time at which the library was
+ * last initialized.
*/
-static struct timeval timer; /* Timeout interval to use in the call
- * to "select". This is used in
- * conjunction with "timerp" to create
- * a maximum time to wait for an event
- * to arrive.
+static struct timeval timer; /* Timeout interval to use in the call
+ * to "select". This is used in
+ * conjunction with "timerp" to create
+ * a maximum time to wait for an event
+ * to arrive.
*/
-static struct timeval *timerp; /* The actual timer passed to "select"
- * This may be NULL, in which case
- * "select" will block until an event
- * arrives.
+static struct timeval *timerp; /* The actual timer passed to "select"
+ * This may be NULL, in which case
+ * "select" will block until an event
+ * arrives.
*/
-static guint32 timer_val; /* The timeout length as specified by
- * the user in milliseconds.
+static guint32 timer_val; /* The timeout length as specified by
+ * the user in milliseconds.
*/
-static GList *inputs; /* A list of the input file descriptors
- * that we care about. Each list node
- * contains a GdkInput struct that describes
- * when we are interested in the specified
- * file descriptor. That is, when it is
- * available for read, write or has an
- * exception pending.
+static GList *inputs; /* A list of the input file descriptors
+ * that we care about. Each list node
+ * contains a GdkInput struct that describes
+ * when we are interested in the specified
+ * file descriptor. That is, when it is
+ * available for read, write or has an
+ * exception pending.
*/
-static guint32 button_click_time[2]; /* The last 2 button click times. Used
- * to determine if the latest button click
- * is part of a double or triple click.
+static guint32 button_click_time[2]; /* The last 2 button click times. Used
+ * to determine if the latest button click
+ * is part of a double or triple click.
*/
-static GdkWindow *button_window[2]; /* The last 2 windows to receive button presses.
- * Also used to determine if the latest button
- * click is part of a double or triple click.
+static GdkWindow *button_window[2]; /* The last 2 windows to receive button presses.
+ * Also used to determine if the latest button
+ * click is part of a double or triple click.
*/
-static guint button_number[2]; /* The last 2 buttons to be pressed.
+static guint button_number[2]; /* The last 2 buttons to be pressed.
*/
static GdkWindowPrivate *xgrab_window = NULL; /* Window that currently holds the
- * x pointer grab
+ * x pointer grab
*/
#ifdef USE_XIM
@@ -235,11 +235,11 @@ static gint autorepeat;
#ifdef G_ENABLE_DEBUG
static GDebugKey gdk_debug_keys[] = {
- {"events", GDK_DEBUG_EVENTS},
- {"misc", GDK_DEBUG_MISC},
- {"dnd", GDK_DEBUG_DND},
+ {"events", GDK_DEBUG_EVENTS},
+ {"misc", GDK_DEBUG_MISC},
+ {"dnd", GDK_DEBUG_DND},
{"color-context", GDK_DEBUG_COLOR_CONTEXT},
- {"xim", GDK_DEBUG_XIM}
+ {"xim", GDK_DEBUG_XIM}
};
static const int gdk_ndebug_keys = sizeof(gdk_debug_keys)/sizeof(GDebugKey);
@@ -268,7 +268,7 @@ static const int gdk_ndebug_keys = sizeof(gdk_debug_keys)/sizeof(GDebugKey);
*/
void
-gdk_init (int *argc,
+gdk_init (int *argc,
char ***argv)
{
XKeyboardState keyboard_state;
@@ -277,10 +277,10 @@ gdk_init (int *argc,
XClassHint *class_hint;
gchar **argv_orig = NULL;
gint argc_orig = 0;
-
+
if (gdk_initialized)
return;
-
+
if (argc && argv)
{
argc_orig = *argc;
@@ -290,9 +290,9 @@ gdk_init (int *argc,
argv_orig[i] = g_strdup ((*argv)[i]);
argv_orig[argc_orig] = NULL;
}
-
+
X_GETTIMEOFDAY (&start);
-
+
#ifndef I_NEED_TO_ACTUALLY_DEBUG_MY_PROGRAMS
signal (SIGHUP, gdk_signal);
signal (SIGINT, gdk_signal);
@@ -302,14 +302,14 @@ gdk_init (int *argc,
signal (SIGPIPE, gdk_signal);
signal (SIGTERM, gdk_signal);
#endif
-
+
gdk_display_name = NULL;
-
+
XSetErrorHandler (gdk_x_error);
XSetIOErrorHandler (gdk_x_io_error);
-
+
synchronize = FALSE;
-
+
#ifdef G_ENABLE_DEBUG
{
gchar *debug_string = getenv("GDK_DEBUG");
@@ -319,20 +319,20 @@ gdk_init (int *argc,
gdk_ndebug_keys);
}
#endif /* G_ENABLE_DEBUG */
-
+
if (argc && argv)
{
if (*argc > 0)
{
gchar *d;
-
+
d = strrchr((*argv)[0],'/');
if (d != NULL)
gdk_progname = g_strdup (d + 1);
else
gdk_progname = g_strdup ((*argv)[0]);
}
-
+
for (i = 1; i < *argc;)
{
#ifdef G_ENABLE_DEBUG
@@ -361,7 +361,7 @@ gdk_init (int *argc,
(strncmp ("--gdk-no-debug=", (*argv)[i], 15) == 0))
{
gchar *equal_pos = strchr ((*argv)[i], '=');
-
+
if (equal_pos != NULL)
{
gdk_debug_flags &= ~g_parse_debug_string (equal_pos+1,
@@ -381,108 +381,108 @@ gdk_init (int *argc,
else
#endif /* G_ENABLE_DEBUG */
if (strcmp ("--display", (*argv)[i]) == 0)
- {
- (*argv)[i] = NULL;
-
- if ((i + 1) < *argc && (*argv)[i + 1])
- {
- gdk_display_name = g_strdup ((*argv)[i + 1]);
- (*argv)[i + 1] = NULL;
- i += 1;
- }
- }
- else if (strcmp ("--sync", (*argv)[i]) == 0)
- {
- (*argv)[i] = NULL;
- synchronize = TRUE;
- }
- else if (strcmp ("--no-xshm", (*argv)[i]) == 0)
- {
- (*argv)[i] = NULL;
- gdk_use_xshm = FALSE;
- }
- else if (strcmp ("--name", (*argv)[i]) == 0)
- {
- if ((i + 1) < *argc && (*argv)[i + 1])
- {
- (*argv)[i++] = NULL;
- gdk_progname = (*argv)[i];
- (*argv)[i] = NULL;
- }
- }
- else if (strcmp ("--class", (*argv)[i]) == 0)
- {
- if ((i + 1) < *argc && (*argv)[i + 1])
- {
- (*argv)[i++] = NULL;
- gdk_progclass = (*argv)[i];
- (*argv)[i] = NULL;
- }
- }
+ {
+ (*argv)[i] = NULL;
+
+ if ((i + 1) < *argc && (*argv)[i + 1])
+ {
+ gdk_display_name = g_strdup ((*argv)[i + 1]);
+ (*argv)[i + 1] = NULL;
+ i += 1;
+ }
+ }
+ else if (strcmp ("--sync", (*argv)[i]) == 0)
+ {
+ (*argv)[i] = NULL;
+ synchronize = TRUE;
+ }
+ else if (strcmp ("--no-xshm", (*argv)[i]) == 0)
+ {
+ (*argv)[i] = NULL;
+ gdk_use_xshm = FALSE;
+ }
+ else if (strcmp ("--name", (*argv)[i]) == 0)
+ {
+ if ((i + 1) < *argc && (*argv)[i + 1])
+ {
+ (*argv)[i++] = NULL;
+ gdk_progname = (*argv)[i];
+ (*argv)[i] = NULL;
+ }
+ }
+ else if (strcmp ("--class", (*argv)[i]) == 0)
+ {
+ if ((i + 1) < *argc && (*argv)[i + 1])
+ {
+ (*argv)[i++] = NULL;
+ gdk_progclass = (*argv)[i];
+ (*argv)[i] = NULL;
+ }
+ }
#ifdef XINPUT_GXI
- else if (strcmp ("--gxid_host", (*argv)[i]) == 0)
- {
- if ((i + 1) < *argc && (*argv)[i + 1])
- {
- (*argv)[i++] = NULL;
- gdk_input_gxid_host = ((*argv)[i]);
- (*argv)[i] = NULL;
- }
- }
- else if (strcmp ("--gxid_port", (*argv)[i]) == 0)
- {
- if ((i + 1) < *argc && (*argv)[i + 1])
- {
- (*argv)[i++] = NULL;
- gdk_input_gxid_port = atoi ((*argv)[i]);
- (*argv)[i] = NULL;
- }
- }
+ else if (strcmp ("--gxid_host", (*argv)[i]) == 0)
+ {
+ if ((i + 1) < *argc && (*argv)[i + 1])
+ {
+ (*argv)[i++] = NULL;
+ gdk_input_gxid_host = ((*argv)[i]);
+ (*argv)[i] = NULL;
+ }
+ }
+ else if (strcmp ("--gxid_port", (*argv)[i]) == 0)
+ {
+ if ((i + 1) < *argc && (*argv)[i + 1])
+ {
+ (*argv)[i++] = NULL;
+ gdk_input_gxid_port = atoi ((*argv)[i]);
+ (*argv)[i] = NULL;
+ }
+ }
#endif
#ifdef USE_XIM
- else if (strcmp ("--xim-preedit", (*argv)[i]) == 0)
- {
- if ((i + 1) < *argc && (*argv)[i + 1])
- {
- (*argv)[i++] = NULL;
- if (strcmp ("none", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMPreeditNone);
- else if (strcmp ("nothing", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMPreeditNothing);
- else if (strcmp ("area", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMPreeditArea);
- else if (strcmp ("position", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMPreeditPosition);
- else if (strcmp ("callbacks", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMPreeditCallbacks);
- }
- }
- else if (strcmp ("--xim-status", (*argv)[i]) == 0)
- {
- if ((i + 1) < *argc && (*argv)[i + 1])
- {
- (*argv)[i++] = NULL;
- if (strcmp ("none", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMStatusNone);
- else if (strcmp ("nothing", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMStatusNothing);
- else if (strcmp ("area", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMStatusArea);
- else if (strcmp ("callbacks", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMStatusCallbacks);
- }
- }
+ else if (strcmp ("--xim-preedit", (*argv)[i]) == 0)
+ {
+ if ((i + 1) < *argc && (*argv)[i + 1])
+ {
+ (*argv)[i++] = NULL;
+ if (strcmp ("none", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMPreeditNone);
+ else if (strcmp ("nothing", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMPreeditNothing);
+ else if (strcmp ("area", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMPreeditArea);
+ else if (strcmp ("position", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMPreeditPosition);
+ else if (strcmp ("callbacks", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMPreeditCallbacks);
+ }
+ }
+ else if (strcmp ("--xim-status", (*argv)[i]) == 0)
+ {
+ if ((i + 1) < *argc && (*argv)[i + 1])
+ {
+ (*argv)[i++] = NULL;
+ if (strcmp ("none", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMStatusNone);
+ else if (strcmp ("nothing", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMStatusNothing);
+ else if (strcmp ("area", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMStatusArea);
+ else if (strcmp ("callbacks", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMStatusCallbacks);
+ }
+ }
#endif
-
+
i += 1;
}
-
+
for (i = 1; i < *argc; i++)
{
for (k = i; k < *argc; k++)
if ((*argv)[k] != NULL)
break;
-
+
if (k > i)
{
k -= i;
@@ -496,34 +496,34 @@ gdk_init (int *argc,
{
gdk_progname = "<unknown>";
}
-
- GDK_NOTE (MISC, g_print ("Gdk: progname: \"%s\"\n", gdk_progname));
-
+
+ GDK_NOTE (MISC, g_message ("progname: \"%s\"", gdk_progname));
+
gdk_display = XOpenDisplay (gdk_display_name);
if (!gdk_display)
{
g_warning ("cannot open display: %s", XDisplayName (gdk_display_name));
exit(1);
}
-
+
/* This is really crappy. We have to look into the display structure
* to find the base resource id. This is only needed for recording
* and playback of events.
*/
/* base_id = RESOURCE_BASE; */
base_id = 0;
- GDK_NOTE (EVENTS, g_print ("base id: %lu\n", base_id));
-
+ GDK_NOTE (EVENTS, g_message ("base id: %lu", base_id));
+
connection_number = ConnectionNumber (gdk_display);
GDK_NOTE (MISC,
- g_print ("Gdk: connection number: %d\n", connection_number));
-
+ g_message ("connection number: %d", connection_number));
+
if (synchronize)
XSynchronize (gdk_display, True);
-
+
gdk_screen = DefaultScreen (gdk_display);
gdk_root_window = RootWindow (gdk_display, gdk_screen);
-
+
gdk_leader_window = XCreateSimpleWindow(gdk_display, gdk_root_window,
10, 10, 10, 10, 0, 0 , 0);
class_hint = XAllocClassHint();
@@ -548,7 +548,7 @@ gdk_init (int *argc,
gdk_wm_window_protocols[0] = gdk_wm_delete_window;
gdk_wm_window_protocols[1] = gdk_wm_take_focus;
gdk_selection_property = XInternAtom (gdk_display, "GDK_SELECTION", False);
-
+
gdk_dnd.gdk_XdeEnter = gdk_atom_intern("_XDE_ENTER", FALSE);
gdk_dnd.gdk_XdeLeave = gdk_atom_intern("_XDE_LEAVE", FALSE);
gdk_dnd.gdk_XdeRequest = gdk_atom_intern("_XDE_REQUEST", FALSE);
@@ -556,29 +556,29 @@ gdk_init (int *argc,
gdk_dnd.gdk_XdeTypelist = gdk_atom_intern("_XDE_TYPELIST", FALSE);
gdk_dnd.c->gdk_cursor_dragdefault = XCreateFontCursor(gdk_display, XC_bogosity);
gdk_dnd.c->gdk_cursor_dragok = XCreateFontCursor(gdk_display, XC_heart);
-
+
XGetKeyboardControl (gdk_display, &keyboard_state);
autorepeat = keyboard_state.global_auto_repeat;
-
+
timer.tv_sec = 0;
timer.tv_usec = 0;
timerp = NULL;
-
+
button_click_time[0] = 0;
button_click_time[1] = 0;
button_window[0] = NULL;
button_window[1] = NULL;
button_number[0] = -1;
button_number[1] = -1;
-
+
if (ATEXIT (gdk_exit_func))
g_warning ("unable to register exit function");
-
+
gdk_visual_init ();
gdk_window_init ();
gdk_image_init ();
gdk_input_init ();
-
+
#ifdef USE_XIM
/* initialize XIM Protocol variables */
xim_using = FALSE;
@@ -590,10 +590,10 @@ gdk_init (int *argc,
gdk_im_set_best_style (GdkIMStatusCallbacks);
xim_ic = NULL;
xim_window = (GdkWindow*)NULL;
-
+
gdk_im_open (NULL, NULL, NULL);
#endif
-
+
gdk_initialized = 1;
}
@@ -619,9 +619,9 @@ gdk_init (int *argc,
void
gdk_exit (int errorcode)
{
- /* de-initialisation is done by the gdk_exit_funct(),
- no need to do this here (Alex J.) */
- exit (errorcode);
+ /* de-initialisation is done by the gdk_exit_funct(),
+ no need to do this here (Alex J.) */
+ exit (errorcode);
}
/*
@@ -641,19 +641,19 @@ gchar*
gdk_set_locale (void)
{
if (!setlocale (LC_ALL,""))
- g_print ("locale not supported by C library\n");
-
+ g_message ("locale not supported by C library");
+
if (!XSupportsLocale ())
{
- g_print ("locale not supported by Xlib, locale set to C\n");
+ g_message ("locale not supported by Xlib, locale set to C");
setlocale (LC_ALL, "C");
}
-
+
if (!XSetLocaleModifiers (""))
{
- g_print ("can not set locale modifiers\n");
+ g_message ("can not set locale modifiers");
}
-
+
return setlocale (LC_ALL,NULL);
}
@@ -680,9 +680,9 @@ gdk_events_pending (void)
{
gint result;
GList *tmp_list;
-
+
result = XPending (gdk_display);
-
+
tmp_list = putback_events;
while (tmp_list)
{
@@ -717,7 +717,7 @@ graphics_expose_predicate (Display *display,
GdkWindowPrivate *private = (GdkWindowPrivate *)arg;
g_return_val_if_fail (private != NULL, False);
-
+
if ((xevent->xany.window == private->xwindow) &&
((xevent->xany.type == GraphicsExpose) ||
(xevent->xany.type == NoExpose)))
@@ -733,20 +733,20 @@ gdk_event_get_graphics_expose (GdkWindow *window)
GdkEvent *event;
g_return_val_if_fail (window != NULL, NULL);
-
+
XIfEvent (gdk_display, &xevent, graphics_expose_predicate, (XPointer)window);
-
+
if (xevent.xany.type == GraphicsExpose)
{
event = gdk_event_new ();
-
+
if (gdk_event_translate (event, &xevent))
return event;
else
gdk_event_free (event);
}
- return NULL;
+ return NULL;
}
/*
@@ -775,7 +775,7 @@ gdk_event_get (void)
GdkEvent *event;
GList *temp_list;
XEvent xevent;
-
+
#if 0
if (pred)
{
@@ -783,7 +783,7 @@ gdk_event_get (void)
while (temp_list)
{
temp_event = temp_list->data;
-
+
if ((* pred) (temp_event, data))
{
if (event)
@@ -792,29 +792,29 @@ gdk_event_get (void)
g_list_free (temp_list);
return TRUE;
}
-
+
temp_list = temp_list->next;
}
-
+
event_pred.func = pred;
event_pred.data = data;
-
+
if (XCheckIfEvent (gdk_display, &xevent, gdk_event_get_type, (XPointer) & event_pred))
if (event)
return gdk_event_translate (event, &xevent);
}
else
#endif
- if (putback_events)
- {
- event = putback_events->data;
-
- temp_list = putback_events;
- putback_events = g_list_remove_link (putback_events, temp_list);
- g_list_free_1 (temp_list);
-
- return event;
- }
+ if (putback_events)
+ {
+ event = putback_events->data;
+
+ temp_list = putback_events;
+ putback_events = g_list_remove_link (putback_events, temp_list);
+ g_list_free_1 (temp_list);
+
+ return event;
+ }
/* Wait for an event to occur or the timeout to elapse.
* If an event occurs "gdk_event_wait" will return TRUE.
@@ -841,7 +841,7 @@ gdk_event_get (void)
XNextEvent (gdk_display, &xevent);
#endif
event = gdk_event_new ();
-
+
event->any.type = GDK_NOTHING;
event->any.window = NULL;
event->any.send_event = FALSE;
@@ -852,7 +852,7 @@ gdk_event_get (void)
else
gdk_event_free (event);
}
-
+
return NULL;
}
@@ -860,11 +860,11 @@ void
gdk_event_put (GdkEvent *event)
{
GdkEvent *new_event;
-
+
g_return_if_fail (event != NULL);
-
+
new_event = gdk_event_copy (event);
-
+
putback_events = g_list_prepend (putback_events, new_event);
}
@@ -898,9 +898,9 @@ gdk_event_new (void)
sizeof (GdkEvent),
4096,
G_ALLOC_AND_FREE);
-
+
new_event = g_chunk_new (GdkEvent, event_chunk);
-
+
return new_event;
}
@@ -910,25 +910,25 @@ gdk_event_copy (GdkEvent *event)
GdkEvent *new_event;
g_return_val_if_fail (event != NULL, NULL);
-
+
new_event = gdk_event_new ();
-
+
*new_event = *event;
gdk_window_ref (new_event->any.window);
-
+
switch (event->any.type)
{
case GDK_KEY_PRESS:
case GDK_KEY_RELEASE:
new_event->key.string = g_strdup (event->key.string);
break;
-
+
case GDK_ENTER_NOTIFY:
case GDK_LEAVE_NOTIFY:
if (event->crossing.subwindow != NULL)
gdk_window_ref (event->crossing.subwindow);
break;
-
+
case GDK_DROP_DATA_AVAIL:
new_event->dropdataavailable.data_type = g_strdup (event->dropdataavailable.data_type);
new_event->dropdataavailable.data = g_malloc (event->dropdataavailable.data_numbytes);
@@ -936,11 +936,11 @@ gdk_event_copy (GdkEvent *event)
event->dropdataavailable.data,
event->dropdataavailable.data_numbytes);
break;
-
+
default:
break;
}
-
+
return new_event;
}
@@ -967,36 +967,36 @@ gdk_event_free (GdkEvent *event)
{
g_assert (event_chunk != NULL);
g_return_if_fail (event != NULL);
-
+
if (event->any.window)
gdk_window_unref (event->any.window);
-
+
switch (event->any.type)
{
case GDK_KEY_PRESS:
case GDK_KEY_RELEASE:
g_free (event->key.string);
break;
-
+
case GDK_ENTER_NOTIFY:
case GDK_LEAVE_NOTIFY:
if (event->crossing.subwindow != NULL)
gdk_window_unref (event->crossing.subwindow);
break;
-
+
case GDK_DROP_DATA_AVAIL:
g_free (event->dropdataavailable.data_type);
g_free (event->dropdataavailable.data);
break;
-
+
case GDK_DRAG_REQUEST:
g_free (event->dragrequest.data_type);
break;
-
+
default:
break;
}
-
+
g_mem_chunk_free (event_chunk, event);
}
@@ -1073,9 +1073,9 @@ gdk_time_get (void)
struct timeval end;
struct timeval elapsed;
guint32 milliseconds;
-
+
X_GETTIMEOFDAY (&end);
-
+
if (start.tv_usec > end.tv_usec)
{
end.tv_usec += 1000000;
@@ -1083,9 +1083,9 @@ gdk_time_get (void)
}
elapsed.tv_sec = end.tv_sec - start.tv_sec;
elapsed.tv_usec = end.tv_usec - start.tv_usec;
-
+
milliseconds = (elapsed.tv_sec * 1000) + (elapsed.tv_usec / 1000);
-
+
return milliseconds;
}
@@ -1138,7 +1138,7 @@ gdk_timer_set (guint32 milliseconds)
timer_val = milliseconds;
timer.tv_sec = milliseconds / 1000;
timer.tv_usec = (milliseconds % 1000) * 1000;
-
+
}
void
@@ -1154,25 +1154,25 @@ gdk_timer_disable (void)
}
gint
-gdk_input_add_full (gint source,
+gdk_input_add_full (gint source,
GdkInputCondition condition,
GdkInputFunction function,
- gpointer data,
+ gpointer data,
GdkDestroyNotify destroy)
{
static gint next_tag = 1;
GList *list;
GdkInput *input;
gint tag;
-
+
tag = 0;
list = inputs;
-
+
while (list)
{
input = list->data;
list = list->next;
-
+
if ((input->source == source) && (input->condition == condition))
{
if (input->destroy)
@@ -1183,7 +1183,7 @@ gdk_input_add_full (gint source,
tag = input->tag;
}
}
-
+
if (!tag)
{
input = g_new (GdkInput, 1);
@@ -1194,18 +1194,18 @@ gdk_input_add_full (gint source,
input->data = data;
input->destroy = destroy;
tag = input->tag;
-
+
inputs = g_list_prepend (inputs, input);
}
-
+
return tag;
}
gint
-gdk_input_add (gint source,
+gdk_input_add (gint source,
GdkInputCondition condition,
- GdkInputFunction function,
- gpointer data)
+ GdkInputFunction function,
+ gpointer data)
{
return gdk_input_add_interp (source, condition, function, data, NULL);
}
@@ -1215,23 +1215,23 @@ gdk_input_remove (gint tag)
{
GList *list;
GdkInput *input;
-
+
list = inputs;
while (list)
{
input = list->data;
-
+
if (input->tag == tag)
{
if (input->destroy)
(input->destroy) (input->data);
-
- input->tag = 0; /* do not free it here */
- input->condition = 0; /* it's done in gdk_event_wait */
-
+
+ input->tag = 0; /* do not free it here */
+ input->condition = 0; /* it's done in gdk_event_wait */
+
break;
}
-
+
list = list->next;
}
}
@@ -1260,17 +1260,17 @@ gdk_input_remove (gint tag)
*/
gint
-gdk_pointer_grab (GdkWindow * window,
- gint owner_events,
- GdkEventMask event_mask,
- GdkWindow * confine_to,
- GdkCursor * cursor,
- guint32 time)
+gdk_pointer_grab (GdkWindow * window,
+ gint owner_events,
+ GdkEventMask event_mask,
+ GdkWindow * confine_to,
+ GdkCursor * cursor,
+ guint32 time)
{
- /* From gdkwindow.c */
+ /* From gdkwindow.c */
extern int nevent_masks;
extern int event_mask_table[];
-
+
gint return_val;
GdkWindowPrivate *window_private;
GdkWindowPrivate *confine_to_private;
@@ -1280,33 +1280,33 @@ gdk_pointer_grab (GdkWindow * window,
Window xconfine_to;
Cursor xcursor;
int i;
-
+
g_return_val_if_fail (window != NULL, 0);
-
+
window_private = (GdkWindowPrivate*) window;
confine_to_private = (GdkWindowPrivate*) confine_to;
cursor_private = (GdkCursorPrivate*) cursor;
-
+
xwindow = window_private->xwindow;
-
+
if (!confine_to || confine_to_private->destroyed)
xconfine_to = None;
else
xconfine_to = confine_to_private->xwindow;
-
+
if (!cursor)
xcursor = None;
else
xcursor = cursor_private->xcursor;
-
-
+
+
xevent_mask = 0;
for (i = 0; i < nevent_masks; i++)
{
if (event_mask & (1 << (i + 1)))
xevent_mask |= event_mask_table[i];
}
-
+
if (((GdkWindowPrivate *)window)->extension_events &&
gdk_input_vtable.grab_pointer)
return_val = gdk_input_vtable.grab_pointer (window,
@@ -1331,7 +1331,7 @@ gdk_pointer_grab (GdkWindow * window,
else
return_val = AlreadyGrabbed;
}
-
+
if (return_val == GrabSuccess)
xgrab_window = window_private;
@@ -1358,7 +1358,7 @@ gdk_pointer_ungrab (guint32 time)
{
if (gdk_input_vtable.ungrab_pointer)
gdk_input_vtable.ungrab_pointer (time);
-
+
XUngrabPointer (gdk_display, time);
xgrab_window = NULL;
}
@@ -1405,18 +1405,18 @@ gdk_pointer_is_grabbed (void)
*/
gint
-gdk_keyboard_grab (GdkWindow * window,
- gint owner_events,
- guint32 time)
+gdk_keyboard_grab (GdkWindow * window,
+ gint owner_events,
+ guint32 time)
{
GdkWindowPrivate *window_private;
Window xwindow;
-
+
g_return_val_if_fail (window != NULL, 0);
-
+
window_private = (GdkWindowPrivate*) window;
xwindow = window_private->xwindow;
-
+
if (!window_private->destroyed)
return XGrabKeyboard (window_private->xdisplay,
xwindow,
@@ -1467,9 +1467,9 @@ gint
gdk_screen_width (void)
{
gint return_val;
-
+
return_val = DisplayWidth (gdk_display, gdk_screen);
-
+
return return_val;
}
@@ -1492,9 +1492,9 @@ gint
gdk_screen_height (void)
{
gint return_val;
-
+
return_val = DisplayHeight (gdk_display, gdk_screen);
-
+
return return_val;
}
@@ -1517,9 +1517,9 @@ gint
gdk_screen_width_mm (void)
{
gint return_val;
-
+
return_val = DisplayWidthMM (gdk_display, gdk_screen);
-
+
return return_val;
}
@@ -1542,9 +1542,9 @@ gint
gdk_screen_height_mm (void)
{
gint return_val;
-
+
return_val = DisplayHeightMM (gdk_display, gdk_screen);
-
+
return return_val;
}
@@ -1624,7 +1624,7 @@ gdk_event_wait (void)
SELECT_MASK exceptfds;
int max_input;
int nfd;
-
+
/* If there are no events pending we will wait for an event.
* The time we wait is dependant on the "timer". If no timer
* has been specified then we'll block until an event arrives.
@@ -1632,21 +1632,21 @@ gdk_event_wait (void)
* arrives or the timer expires. (This is all done using the
* "select" system call).
*/
-
+
if (XPending (gdk_display) == 0)
{
FD_ZERO (&readfds);
FD_ZERO (&writefds);
FD_ZERO (&exceptfds);
-
+
FD_SET (connection_number, &readfds);
max_input = connection_number;
-
+
list = inputs;
while (list)
{
input = list->data;
-
+
if (input->tag)
{
if (input->condition & GDK_INPUT_READ)
@@ -1655,14 +1655,14 @@ gdk_event_wait (void)
FD_SET (input->source, &writefds);
if (input->condition & GDK_INPUT_EXCEPTION)
FD_SET (input->source, &exceptfds);
-
+
max_input = MAX (max_input, input->source);
list = list->next;
}
- else /* free removed inputs */
+ else /* free removed inputs */
{
temp_list = list;
-
+
if (list->next)
list->next->prev = list->prev;
if (list->prev)
@@ -1671,28 +1671,28 @@ gdk_event_wait (void)
inputs = list->next;
list = list->next;
-
+
temp_list->next = NULL;
temp_list->prev = NULL;
-
+
g_free (temp_list->data);
g_list_free (temp_list);
}
}
-
+
#ifdef USE_PTHREADS
if (gdk_using_threads)
{
gdk_select_waiting = TRUE;
-
+
FD_SET (gdk_threads_pipe[0], &readfds);
max_input = MAX (max_input, gdk_threads_pipe[0]);
gdk_threads_leave ();
}
#endif
-
+
nfd = select (max_input+1, &readfds, &writefds, &exceptfds, timerp);
-
+
#ifdef USE_PTHREADS
if (gdk_using_threads)
{
@@ -1704,10 +1704,10 @@ gdk_event_wait (void)
read (gdk_threads_pipe[0], &c, 1);
}
#endif
-
+
timerp = NULL;
timer_val = 0;
-
+
if (nfd > 0)
{
if (FD_ISSET (connection_number, &readfds))
@@ -1724,13 +1724,13 @@ gdk_event_wait (void)
else
return TRUE;
}
-
+
list = inputs;
while (list)
{
input = list->data;
list = list->next;
-
+
condition = 0;
if (FD_ISSET (input->source, &readfds))
condition |= GDK_INPUT_READ;
@@ -1738,7 +1738,7 @@ gdk_event_wait (void)
condition |= GDK_INPUT_WRITE;
if (FD_ISSET (input->source, &exceptfds))
condition |= GDK_INPUT_EXCEPTION;
-
+
if (condition && input->function)
(* input->function) (input->data, input->source, condition);
}
@@ -1746,7 +1746,7 @@ gdk_event_wait (void)
}
else
return TRUE;
-
+
return FALSE;
}
@@ -1758,20 +1758,20 @@ gdk_event_apply_filters (XEvent *xevent,
GdkEventFilter *filter;
GList *tmp_list;
GdkFilterReturn result;
-
+
tmp_list = filters;
while (tmp_list)
{
filter = (GdkEventFilter *)tmp_list->data;
-
+
result = (*filter->function)(xevent, event, filter->data);
if (result != GDK_FILTER_CONTINUE)
return result;
-
+
tmp_list = tmp_list->next;
}
-
+
return GDK_FILTER_CONTINUE;
}
@@ -1779,7 +1779,7 @@ static gint
gdk_event_translate (GdkEvent *event,
XEvent *xevent)
{
-
+
GdkWindow *window;
GdkWindowPrivate *window_private;
static XComposeStatus compose;
@@ -1792,13 +1792,13 @@ gdk_event_translate (GdkEvent *event,
char buf[16];
#endif
gint return_val;
-
+
return_val = FALSE;
-
+
/* We need to play catch-up with the dnd motion events */
if(gdk_dnd.drag_really && xevent->type == MotionNotify)
- while (XCheckTypedEvent(xevent->xany.display,MotionNotify,xevent));
-
+ while (XCheckTypedEvent(xevent->xany.display,MotionNotify,xevent));
+
/* Find the GdkWindow that this event occurred in.
* All events occur in some GdkWindow (otherwise, why
* would we be receiving them). It really is an error
@@ -1807,30 +1807,30 @@ gdk_event_translate (GdkEvent *event,
* specially - they are generated by XFree86's XInput under
* some circumstances.
*/
-
+
if ((xevent->xany.window == None) &&
gdk_input_vtable.window_none_event)
{
return_val = gdk_input_vtable.window_none_event (event,xevent);
-
+
if (return_val >= 0) /* was handled */
return return_val;
else
return_val = FALSE;
}
-
+
window = gdk_window_lookup (xevent->xany.window);
window_private = (GdkWindowPrivate *) window;
-
+
if (window != NULL)
gdk_window_ref (window);
else if(gdk_null_window_warnings) /* Special purpose programs that
get events for other windows may
want to disable this */
g_warning ("%#lx -> NULL\n", xevent->xany.window);
-
+
/* Check for filters for this window */
-
+
{
GdkFilterReturn result;
result = gdk_event_apply_filters (xevent, event,
@@ -1843,7 +1843,7 @@ gdk_event_translate (GdkEvent *event,
return (result == GDK_FILTER_TRANSLATE) ? TRUE : FALSE;
}
}
-
+
/* We do a "manual" conversion of the XEvent to a
* GdkEvent. The structures are mostly the same so
* the conversion is fairly straightforward. We also
@@ -1861,12 +1861,12 @@ gdk_event_translate (GdkEvent *event,
*/
#ifdef USE_XIM
if (buf_len == 0)
- {
+ {
buf_len = 128;
buf = g_new (gchar, buf_len);
}
keysym = GDK_VoidSymbol;
-
+
if (xim_using == TRUE && xim_ic)
{
Status status;
@@ -1876,15 +1876,15 @@ gdk_event_translate (GdkEvent *event,
&xevent->xkey, buf, buf_len-1,
&keysym, &status);
if (status == XBufferOverflow)
- { /* retry */
+ { /* retry */
/* alloc adequate size of buffer */
GDK_NOTE (XIM,
- g_print("XIM: overflow (required %i)\n", charcount));
-
+ g_message("XIM: overflow (required %i)", charcount));
+
while (buf_len <= charcount)
buf_len *= 2;
buf = (gchar *) g_realloc (buf, buf_len);
-
+
charcount = XmbLookupString (xim_ic->xic,
&xevent->xkey, buf, buf_len-1,
&keysym, &status);
@@ -1903,41 +1903,41 @@ gdk_event_translate (GdkEvent *event,
&keysym, &compose);
#endif
event->key.keyval = keysym;
-
+
if (charcount > 0 && buf[charcount-1] == '\0')
charcount --;
else
buf[charcount] = '\0';
-
+
/* Print debugging info.
*/
#ifdef G_ENABLE_DEBUG
if (gdk_debug_flags & GDK_DEBUG_EVENTS)
{
- g_print ("key press:\twindow: %ld key: %12s %d\n",
- xevent->xkey.window - base_id,
- event->key.keyval ? XKeysymToString (event->key.keyval) : "(none)",
- event->key.keyval);
+ g_message ("key press:\twindow: %ld key: %12s %d",
+ xevent->xkey.window - base_id,
+ event->key.keyval ? XKeysymToString (event->key.keyval) : "(none)",
+ event->key.keyval);
if (charcount > 0)
- g_print ("\t\tlength: %4d string: \"%s\"\n",
- charcount, buf);
+ g_message ("\t\tlength: %4d string: \"%s\"",
+ charcount, buf);
}
#endif /* G_ENABLE_DEBUG */
-
+
event->key.type = GDK_KEY_PRESS;
event->key.window = window;
event->key.time = xevent->xkey.time;
event->key.state = (GdkModifierType) xevent->xkey.state;
event->key.string = g_strdup (buf);
event->key.length = charcount;
-
+
return_val = window_private && !window_private->destroyed;
if (!return_val)
g_free (event->key.string);
break;
-
+
case KeyRelease:
/* Lookup the string corresponding to the given keysym.
*/
@@ -1945,40 +1945,40 @@ gdk_event_translate (GdkEvent *event,
charcount = XLookupString (&xevent->xkey, buf, 16,
&keysym, &compose);
event->key.keyval = keysym;
-
+
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("key release:\t\twindow: %ld key: %12s %d\n",
- xevent->xkey.window - base_id,
- XKeysymToString (event->key.keyval),
- event->key.keyval));
-
+ g_message ("key release:\t\twindow: %ld key: %12s %d",
+ xevent->xkey.window - base_id,
+ XKeysymToString (event->key.keyval),
+ event->key.keyval));
+
event->key.type = GDK_KEY_RELEASE;
event->key.window = window;
event->key.time = xevent->xkey.time;
event->key.state = (GdkModifierType) xevent->xkey.state;
event->key.length = 0;
event->key.string = NULL;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case ButtonPress:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("button press[%d]:\t\twindow: %ld x,y: %d %d button: %d\n",
- window_private?window_private->dnd_drag_enabled:0,
- xevent->xbutton.window - base_id,
- xevent->xbutton.x, xevent->xbutton.y,
- xevent->xbutton.button));
-
+ g_message ("button press[%d]:\t\twindow: %ld x,y: %d %d button: %d",
+ window_private?window_private->dnd_drag_enabled:0,
+ xevent->xbutton.window - base_id,
+ xevent->xbutton.x, xevent->xbutton.y,
+ xevent->xbutton.button));
+
if (window_private &&
(window_private->extension_events != 0) &&
gdk_input_ignore_core)
break;
-
+
event->button.type = GDK_BUTTON_PRESS;
event->button.window = window;
event->button.time = xevent->xbutton.time;
@@ -1993,13 +1993,13 @@ gdk_event_translate (GdkEvent *event,
event->button.button = xevent->xbutton.button;
event->button.source = GDK_SOURCE_MOUSE;
event->button.deviceid = GDK_CORE_POINTER;
-
+
if ((event->button.time < (button_click_time[1] + TRIPLE_CLICK_TIME)) &&
(event->button.window == button_window[1]) &&
(event->button.button == button_number[1]))
{
gdk_synthesize_click (event, 3);
-
+
button_click_time[1] = 0;
button_click_time[0] = 0;
button_window[1] = NULL;
@@ -2012,7 +2012,7 @@ gdk_event_translate (GdkEvent *event,
(event->button.button == button_number[0]))
{
gdk_synthesize_click (event, 2);
-
+
button_click_time[1] = button_click_time[0];
button_click_time[0] = event->button.time;
button_window[1] = button_window[0];
@@ -2047,13 +2047,13 @@ gdk_event_translate (GdkEvent *event,
}
gdk_dnd.drag_numwindows = gdk_dnd.drag_really = 0;
gdk_dnd.dnd_grabbed = FALSE;
-
+
{
/* Set motion mask for first DnD'd window, since it
will be the one that is actually dragged */
XWindowAttributes dnd_winattr;
XSetWindowAttributes dnd_setwinattr;
-
+
/* We need to get motion events while the button is down, so
we can know whether to really start dragging or not... */
XGetWindowAttributes(gdk_display, (Window)window_private->xwindow,
@@ -2062,29 +2062,29 @@ gdk_event_translate (GdkEvent *event,
window_private->dnd_drag_savedeventmask = dnd_winattr.your_event_mask;
dnd_setwinattr.event_mask =
window_private->dnd_drag_eventmask = ButtonMotionMask | ButtonPressMask | ButtonReleaseMask |
- EnterWindowMask | LeaveWindowMask | ExposureMask;
+ EnterWindowMask | LeaveWindowMask | ExposureMask;
XChangeWindowAttributes(gdk_display, window_private->xwindow,
CWEventMask, &dnd_setwinattr);
+ }
}
- }
return_val = window_private && !window_private->destroyed;
break;
-
+
case ButtonRelease:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("button release[%d]:\twindow: %ld x,y: %d %d button: %d\n",
- window_private?window_private->dnd_drag_enabled:0,
- xevent->xbutton.window - base_id,
- xevent->xbutton.x, xevent->xbutton.y,
- xevent->xbutton.button));
-
+ g_message ("button release[%d]:\twindow: %ld x,y: %d %d button: %d",
+ window_private?window_private->dnd_drag_enabled:0,
+ xevent->xbutton.window - base_id,
+ xevent->xbutton.x, xevent->xbutton.y,
+ xevent->xbutton.button));
+
if (window_private &&
(window_private->extension_events != 0) &&
gdk_input_ignore_core)
break;
-
+
event->button.type = GDK_BUTTON_RELEASE;
event->button.window = window;
event->button.time = xevent->xbutton.time;
@@ -2099,7 +2099,7 @@ gdk_event_translate (GdkEvent *event,
event->button.button = xevent->xbutton.button;
event->button.source = GDK_SOURCE_MOUSE;
event->button.deviceid = GDK_CORE_POINTER;
-
+
gdk_dnd.last_drop_time = xevent->xbutton.time;
if(gdk_dnd.drag_perhaps)
{
@@ -2109,7 +2109,7 @@ gdk_event_translate (GdkEvent *event,
doesn't change during drag */
attrs.event_mask = gdk_dnd.real_sw->dnd_drag_savedeventmask;
XChangeWindowAttributes(gdk_display, gdk_dnd.real_sw->xwindow,
- CWEventMask, &attrs);
+ CWEventMask, &attrs);
}
if (gdk_dnd.dnd_grabbed)
@@ -2121,51 +2121,51 @@ gdk_event_translate (GdkEvent *event,
gdk_dnd.dnd_grabbed = FALSE;
}
- if(gdk_dnd.drag_really)
- {
- GdkPoint foo;
- foo.x = xevent->xbutton.x_root;
- foo.y = xevent->xbutton.y_root;
-
- if(gdk_dnd.dnd_drag_target != None)
- gdk_dnd_drag_end(gdk_dnd.dnd_drag_target, foo);
- gdk_dnd.drag_really = 0;
-
- gdk_dnd.drag_numwindows = 0;
- if(gdk_dnd.drag_startwindows)
+ if(gdk_dnd.drag_really)
{
- g_free(gdk_dnd.drag_startwindows);
- gdk_dnd.drag_startwindows = NULL;
+ GdkPoint foo;
+ foo.x = xevent->xbutton.x_root;
+ foo.y = xevent->xbutton.y_root;
+
+ if(gdk_dnd.dnd_drag_target != None)
+ gdk_dnd_drag_end(gdk_dnd.dnd_drag_target, foo);
+ gdk_dnd.drag_really = 0;
+
+ gdk_dnd.drag_numwindows = 0;
+ if(gdk_dnd.drag_startwindows)
+ {
+ g_free(gdk_dnd.drag_startwindows);
+ gdk_dnd.drag_startwindows = NULL;
+ }
+
+ gdk_dnd.real_sw = NULL;
}
-
- gdk_dnd.real_sw = NULL;
- }
-
- gdk_dnd.drag_perhaps = 0;
- gdk_dnd.dnd_drag_start.x = gdk_dnd.dnd_drag_start.y = 0;
- gdk_dnd.dnd_drag_dropzone.x = gdk_dnd.dnd_drag_dropzone.y = 0;
- gdk_dnd.dnd_drag_dropzone.width = gdk_dnd.dnd_drag_dropzone.height = 0;
- gdk_dnd.dnd_drag_curwin = None;
- return_val = window_private?TRUE:FALSE;
- } else
- return_val = window_private && !window_private->destroyed;
+
+ gdk_dnd.drag_perhaps = 0;
+ gdk_dnd.dnd_drag_start.x = gdk_dnd.dnd_drag_start.y = 0;
+ gdk_dnd.dnd_drag_dropzone.x = gdk_dnd.dnd_drag_dropzone.y = 0;
+ gdk_dnd.dnd_drag_dropzone.width = gdk_dnd.dnd_drag_dropzone.height = 0;
+ gdk_dnd.dnd_drag_curwin = None;
+ return_val = window_private?TRUE:FALSE;
+ } else
+ return_val = window_private && !window_private->destroyed;
break;
-
+
case MotionNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("motion notify:\t\twindow: %ld x,y: %d %d hint: %s d:%d r%d\n",
- xevent->xmotion.window - base_id,
- xevent->xmotion.x, xevent->xmotion.y,
- (xevent->xmotion.is_hint) ? "true" : "false",
- gdk_dnd.drag_perhaps, gdk_dnd.drag_really));
-
+ g_message ("motion notify:\t\twindow: %ld x,y: %d %d hint: %s d:%d r%d",
+ xevent->xmotion.window - base_id,
+ xevent->xmotion.x, xevent->xmotion.y,
+ (xevent->xmotion.is_hint) ? "true" : "false",
+ gdk_dnd.drag_perhaps, gdk_dnd.drag_really));
+
if (window_private &&
(window_private->extension_events != 0) &&
gdk_input_ignore_core)
break;
-
+
event->motion.type = GDK_MOTION_NOTIFY;
event->motion.window = window;
event->motion.time = xevent->xmotion.time;
@@ -2180,12 +2180,12 @@ gdk_event_translate (GdkEvent *event,
event->motion.is_hint = xevent->xmotion.is_hint;
event->motion.source = GDK_SOURCE_MOUSE;
event->motion.deviceid = GDK_CORE_POINTER;
-
+
#define IS_IN_ZONE(cx, cy) (cx >= gdk_dnd.dnd_drag_dropzone.x \
&& cy >= gdk_dnd.dnd_drag_dropzone.y \
&& cx < (gdk_dnd.dnd_drag_dropzone.x + gdk_dnd.dnd_drag_dropzone.width) \
&& cy < (gdk_dnd.dnd_drag_dropzone.y + gdk_dnd.dnd_drag_dropzone.height))
-
+
if(gdk_dnd.drag_perhaps && gdk_dnd.drag_really
/* && event->motion.is_hint */ /* HINTME */)
{
@@ -2199,13 +2199,13 @@ gdk_event_translate (GdkEvent *event,
#endif
Window childwin = gdk_root_window;
int x, y, ox, oy;
-
+
/* Interlude - display cursor for the drag ASAP */
gdk_dnd_display_drag_cursor(xevent->xmotion.x_root,
xevent->xmotion.y_root,
gdk_dnd.dnd_drag_target?TRUE:FALSE,
FALSE);
-
+
lastwin = curwin;
curwin = gdk_root_window;
ox = x = xevent->xmotion.x_root;
@@ -2231,23 +2231,23 @@ gdk_event_translate (GdkEvent *event,
}
#endif
GDK_NOTE (DND,
- g_print("Drag is now in window %#lx, lastwin was %#lx, ddc = %#lx\n",
- curwin, lastwin, gdk_dnd.dnd_drag_curwin));
+ g_message("Drag is now in window %#lx, lastwin was %#lx, ddc = %#lx",
+ curwin, lastwin, gdk_dnd.dnd_drag_curwin));
if(curwin != gdk_dnd.dnd_drag_curwin && curwin != lastwin)
{
/* We have left one window and entered another
(do leave & enter bits) */
if(gdk_dnd.dnd_drag_curwin != None)
- gdk_dnd_drag_leave(gdk_dnd.dnd_drag_curwin);
+ gdk_dnd_drag_leave(gdk_dnd.dnd_drag_curwin);
gdk_dnd.dnd_drag_curwin = curwin;
gdk_dnd_drag_enter(gdk_dnd.dnd_drag_curwin);
gdk_dnd.dnd_drag_dropzone.x = gdk_dnd.dnd_drag_dropzone.y = 0;
gdk_dnd.dnd_drag_dropzone.width = gdk_dnd.dnd_drag_dropzone.height = 0;
gdk_dnd.dnd_drag_target = None;
GDK_NOTE (DND,
- g_print("curwin = %#lx, lastwin = %#lx, dnd_drag_curwin = %#lx\n",
- curwin, lastwin, gdk_dnd.dnd_drag_curwin));
-
+ g_message("curwin = %#lx, lastwin = %#lx, dnd_drag_curwin = %#lx",
+ curwin, lastwin, gdk_dnd.dnd_drag_curwin));
+
gdk_dnd_display_drag_cursor(xevent->xmotion.x_root,
xevent->xmotion.y_root,
FALSE, TRUE);
@@ -2263,7 +2263,7 @@ gdk_event_translate (GdkEvent *event,
xevent->xmotion.y_root);
gboolean old_in_zone = IS_IN_ZONE(gdk_dnd.dnd_drag_oldpos.x,
gdk_dnd.dnd_drag_oldpos.y);
-
+
if (!in_zone && old_in_zone)
{
/* We were in the drop zone and moved out */
@@ -2284,31 +2284,31 @@ gdk_event_translate (GdkEvent *event,
}
}
} /* else
- dnd_drag_curwin = None; */
+ dnd_drag_curwin = None; */
return_val = FALSE;
}
else
return_val = window_private && !window_private->destroyed;
break;
-
+
case EnterNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("enter notify:\t\twindow: %ld detail: %d subwin: %ld\n",
- xevent->xcrossing.window - base_id,
- xevent->xcrossing.detail,
- xevent->xcrossing.subwindow - base_id));
-
+ g_message ("enter notify:\t\twindow: %ld detail: %d subwin: %ld",
+ xevent->xcrossing.window - base_id,
+ xevent->xcrossing.detail,
+ xevent->xcrossing.subwindow - base_id));
+
/* Tell XInput stuff about it if appropriate */
if (window_private &&
(window_private->extension_events != 0) &&
gdk_input_vtable.enter_event)
gdk_input_vtable.enter_event (&xevent->xcrossing, window);
-
+
event->crossing.type = GDK_ENTER_NOTIFY;
event->crossing.window = window;
-
+
/* If the subwindow field of the XEvent is non-NULL, then
* lookup the corresponding GdkWindow.
*/
@@ -2316,13 +2316,13 @@ gdk_event_translate (GdkEvent *event,
event->crossing.subwindow = gdk_window_lookup (xevent->xcrossing.subwindow);
else
event->crossing.subwindow = NULL;
-
+
event->crossing.time = xevent->xcrossing.time;
event->crossing.x = xevent->xcrossing.x;
event->crossing.y = xevent->xcrossing.y;
event->crossing.x_root = xevent->xcrossing.x_root;
event->crossing.y_root = xevent->xcrossing.y_root;
-
+
/* Translate the crossing mode into Gdk terms.
*/
switch (xevent->xcrossing.mode)
@@ -2337,7 +2337,7 @@ gdk_event_translate (GdkEvent *event,
event->crossing.mode = GDK_CROSSING_UNGRAB;
break;
};
-
+
/* Translate the crossing detail into Gdk terms.
*/
switch (xevent->xcrossing.detail)
@@ -2361,52 +2361,52 @@ gdk_event_translate (GdkEvent *event,
event->crossing.detail = GDK_NOTIFY_UNKNOWN;
break;
}
-
+
event->crossing.focus = xevent->xcrossing.focus;
event->crossing.state = xevent->xcrossing.state;
-
+
#ifdef G_ENABLE_DEBUG
- if ((gdk_debug_flags & GDK_DEBUG_DND) & gdk_dnd.drag_perhaps)
- {
- g_print("We may[%d] have a drag into %#lx = %#lx\n",
+ if ((gdk_debug_flags & GDK_DEBUG_DND) & gdk_dnd.drag_perhaps)
+ {
+ g_message("We may[%d] have a drag into %#lx = %#lx",
gdk_dnd.drag_really,
xevent->xcrossing.window, gdk_dnd.real_sw->xwindow);
- }
+ }
#endif /* G_ENABLE_DEBUG */
-
- if (gdk_dnd.drag_perhaps && gdk_dnd.drag_really &&
- (xevent->xcrossing.window == gdk_dnd.real_sw->xwindow))
- {
+
+ if (gdk_dnd.drag_perhaps && gdk_dnd.drag_really &&
+ (xevent->xcrossing.window == gdk_dnd.real_sw->xwindow))
+ {
#if 0
- gdk_dnd.drag_really = 0;
-
- GDK_NOTE (DND, g_print("Ungrabbed\n"));
-
- gdk_dnd.drag_numwindows = 0;
- g_free(gdk_dnd.drag_startwindows);
- gdk_dnd.drag_startwindows = NULL;
- /* We don't want to ungrab the pointer here, or we'll
- * start getting spurious enter/leave events */
+ gdk_dnd.drag_really = 0;
+
+ GDK_NOTE (DND, g_message("Ungrabbed"));
+
+ gdk_dnd.drag_numwindows = 0;
+ g_free(gdk_dnd.drag_startwindows);
+ gdk_dnd.drag_startwindows = NULL;
+ /* We don't want to ungrab the pointer here, or we'll
+ * start getting spurious enter/leave events */
#endif
#if 0
- XChangeActivePointerGrab (gdk_display, 0, None, CurrentTime);
+ XChangeActivePointerGrab (gdk_display, 0, None, CurrentTime);
#endif
- }
-
- return_val = window_private && !window_private->destroyed;
- break;
-
+ }
+
+ return_val = window_private && !window_private->destroyed;
+ break;
+
case LeaveNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("leave notify:\t\twindow: %ld detail: %d subwin: %ld\n",
- xevent->xcrossing.window - base_id,
- xevent->xcrossing.detail, xevent->xcrossing.subwindow - base_id));
-
+ g_message ("leave notify:\t\twindow: %ld detail: %d subwin: %ld",
+ xevent->xcrossing.window - base_id,
+ xevent->xcrossing.detail, xevent->xcrossing.subwindow - base_id));
+
event->crossing.type = GDK_LEAVE_NOTIFY;
event->crossing.window = window;
-
+
/* If the subwindow field of the XEvent is non-NULL, then
* lookup the corresponding GdkWindow.
*/
@@ -2414,13 +2414,13 @@ gdk_event_translate (GdkEvent *event,
event->crossing.subwindow = gdk_window_lookup (xevent->xcrossing.subwindow);
else
event->crossing.subwindow = NULL;
-
+
event->crossing.time = xevent->xcrossing.time;
event->crossing.x = xevent->xcrossing.x;
event->crossing.y = xevent->xcrossing.y;
event->crossing.x_root = xevent->xcrossing.x_root;
event->crossing.y_root = xevent->xcrossing.y_root;
-
+
/* Translate the crossing mode into Gdk terms.
*/
switch (xevent->xcrossing.mode)
@@ -2435,7 +2435,7 @@ gdk_event_translate (GdkEvent *event,
event->crossing.mode = GDK_CROSSING_UNGRAB;
break;
};
-
+
/* Translate the crossing detail into Gdk terms.
*/
switch (xevent->xcrossing.detail)
@@ -2459,16 +2459,16 @@ gdk_event_translate (GdkEvent *event,
event->crossing.detail = GDK_NOTIFY_UNKNOWN;
break;
}
-
+
event->crossing.focus = xevent->xcrossing.focus;
event->crossing.state = xevent->xcrossing.state;
-
+
#ifdef G_ENABLE_DEBUG
if ((gdk_debug_flags & GDK_DEBUG_DND) & gdk_dnd.drag_perhaps)
{
- g_print("We may[%d] have a drag out of %#lx = %#lx\n",
- gdk_dnd.drag_really,
- xevent->xcrossing.window, gdk_dnd.real_sw->xwindow);
+ g_message("We may[%d] have a drag out of %#lx = %#lx",
+ gdk_dnd.drag_really,
+ xevent->xcrossing.window, gdk_dnd.real_sw->xwindow);
}
#endif /* G_ENABLE_DEBUG */
if (gdk_dnd.drag_perhaps && !gdk_dnd.drag_really &&
@@ -2478,14 +2478,14 @@ gdk_event_translate (GdkEvent *event,
gdk_dnd_drag_addwindow((GdkWindow *) gdk_dnd.real_sw);
gdk_dnd_drag_begin((GdkWindow *) gdk_dnd.real_sw);
xgpret =
- XGrabPointer(gdk_display, gdk_dnd.real_sw->xwindow, False,
- ButtonMotionMask | PointerMotionMask |
- /* PointerMotionHintMask | */ /* HINTME */
- ButtonPressMask | ButtonReleaseMask,
- GrabModeAsync, GrabModeAsync, None,
- None, CurrentTime);
+ XGrabPointer(gdk_display, gdk_dnd.real_sw->xwindow, False,
+ ButtonMotionMask | PointerMotionMask |
+ /* PointerMotionHintMask | */ /* HINTME */
+ ButtonPressMask | ButtonReleaseMask,
+ GrabModeAsync, GrabModeAsync, None,
+ None, CurrentTime);
#ifdef G_ENABLE_DEBUG
- GDK_NOTE(DND, g_print("xgpret = %d\n", xgpret));
+ GDK_NOTE(DND, g_message("xgpret = %d", xgpret));
#endif
gdk_dnd.dnd_grabbed = TRUE;
gdk_dnd.drag_really = 1;
@@ -2493,10 +2493,10 @@ gdk_event_translate (GdkEvent *event,
xevent->xmotion.y_root,
FALSE, TRUE);
}
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case FocusIn:
case FocusOut:
/* We only care about focus events that indicate that _this_
@@ -2510,9 +2510,9 @@ gdk_event_translate (GdkEvent *event,
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("focus %s:\t\twindow: %ld\n",
- (xevent->xany.type == FocusIn) ? "in" : "out",
- xevent->xfocus.window - base_id));
+ g_message ("focus %s:\t\twindow: %ld",
+ (xevent->xany.type == FocusIn) ? "in" : "out",
+ xevent->xfocus.window - base_id));
event->focus_change.type = GDK_FOCUS_CHANGE;
event->focus_change.window = window;
@@ -2521,28 +2521,28 @@ gdk_event_translate (GdkEvent *event,
return_val = window_private && !window_private->destroyed;
break;
default:
- ;
+ ;
}
break;
-
+
case KeymapNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("keymap notify\n"));
-
+ g_message ("keymap notify"));
+
/* Not currently handled */
break;
-
+
case Expose:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("expose:\t\twindow: %ld %d x,y: %d %d w,h: %d %d\n",
- xevent->xexpose.window - base_id, xevent->xexpose.count,
- xevent->xexpose.x, xevent->xexpose.y,
- xevent->xexpose.width, xevent->xexpose.height));
-
+ g_message ("expose:\t\twindow: %ld %d x,y: %d %d w,h: %d %d",
+ xevent->xexpose.window - base_id, xevent->xexpose.count,
+ xevent->xexpose.x, xevent->xexpose.y,
+ xevent->xexpose.width, xevent->xexpose.height));
+
event->expose.type = GDK_EXPOSE;
event->expose.window = window;
event->expose.area.x = xevent->xexpose.x;
@@ -2550,17 +2550,17 @@ gdk_event_translate (GdkEvent *event,
event->expose.area.width = xevent->xexpose.width;
event->expose.area.height = xevent->xexpose.height;
event->expose.count = xevent->xexpose.count;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case GraphicsExpose:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("graphics expose:\tdrawable: %ld\n",
- xevent->xgraphicsexpose.drawable - base_id));
-
+ g_message ("graphics expose:\tdrawable: %ld",
+ xevent->xgraphicsexpose.drawable - base_id));
+
event->expose.type = GDK_EXPOSE;
event->expose.window = window;
event->expose.area.x = xevent->xgraphicsexpose.x;
@@ -2568,23 +2568,23 @@ gdk_event_translate (GdkEvent *event,
event->expose.area.width = xevent->xgraphicsexpose.width;
event->expose.area.height = xevent->xgraphicsexpose.height;
event->expose.count = xevent->xexpose.count;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case NoExpose:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("no expose:\t\tdrawable: %ld\n",
- xevent->xnoexpose.drawable - base_id));
-
+ g_message ("no expose:\t\tdrawable: %ld",
+ xevent->xnoexpose.drawable - base_id));
+
event->no_expose.type = GDK_NO_EXPOSE;
event->no_expose.window = window;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case VisibilityNotify:
/* Print debugging info.
*/
@@ -2593,33 +2593,33 @@ gdk_event_translate (GdkEvent *event,
switch (xevent->xvisibility.state)
{
case VisibilityFullyObscured:
- g_print ("visibility notify:\twindow: %ld none\n",
- xevent->xvisibility.window - base_id);
+ g_message ("visibility notify:\twindow: %ld none",
+ xevent->xvisibility.window - base_id);
break;
case VisibilityPartiallyObscured:
- g_print ("visibility notify:\twindow: %ld partial\n",
- xevent->xvisibility.window - base_id);
+ g_message ("visibility notify:\twindow: %ld partial",
+ xevent->xvisibility.window - base_id);
break;
case VisibilityUnobscured:
- g_print ("visibility notify:\twindow: %ld full\n",
- xevent->xvisibility.window - base_id);
+ g_message ("visibility notify:\twindow: %ld full",
+ xevent->xvisibility.window - base_id);
break;
}
#endif /* G_ENABLE_DEBUG */
-
+
event->visibility.type = GDK_VISIBILITY_NOTIFY;
event->visibility.window = window;
-
+
switch (xevent->xvisibility.state)
{
case VisibilityFullyObscured:
event->visibility.state = GDK_VISIBILITY_FULLY_OBSCURED;
break;
-
+
case VisibilityPartiallyObscured:
event->visibility.state = GDK_VISIBILITY_PARTIAL;
break;
-
+
case VisibilityUnobscured:
event->visibility.state = GDK_VISIBILITY_UNOBSCURED;
break;
@@ -2627,84 +2627,84 @@ gdk_event_translate (GdkEvent *event,
return_val = window_private && !window_private->destroyed;
break;
-
+
case CreateNotify:
/* Not currently handled */
break;
-
+
case DestroyNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("destroy notify:\twindow: %ld\n",
- xevent->xdestroywindow.window - base_id));
-
+ g_message ("destroy notify:\twindow: %ld",
+ xevent->xdestroywindow.window - base_id));
+
event->any.type = GDK_DESTROY;
event->any.window = window;
-
+
return_val = window_private && !window_private->destroyed;
-
+
if(window && window_private->xwindow != GDK_ROOT_WINDOW())
- gdk_window_destroy_notify (window);
+ gdk_window_destroy_notify (window);
break;
-
+
case UnmapNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("unmap notify:\t\twindow: %ld\n",
- xevent->xmap.window - base_id));
-
+ g_message ("unmap notify:\t\twindow: %ld",
+ xevent->xmap.window - base_id));
+
event->any.type = GDK_UNMAP;
event->any.window = window;
-
+
if (xgrab_window == window_private)
xgrab_window = NULL;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case MapNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("map notify:\t\twindow: %ld\n",
- xevent->xmap.window - base_id));
-
+ g_message ("map notify:\t\twindow: %ld",
+ xevent->xmap.window - base_id));
+
event->any.type = GDK_MAP;
event->any.window = window;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case ReparentNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("reparent notify:\twindow: %ld\n",
- xevent->xreparent.window - base_id));
-
+ g_message ("reparent notify:\twindow: %ld",
+ xevent->xreparent.window - base_id));
+
/* Not currently handled */
break;
-
+
case ConfigureNotify:
/* Print debugging info.
*/
while ((XPending (gdk_display) > 0) &&
XCheckTypedWindowEvent(gdk_display, xevent->xany.window,
ConfigureNotify, xevent))
- {
+ {
GdkFilterReturn result;
-
+
GDK_NOTE (EVENTS,
- g_print ("configure notify discarded:\twindow: %ld\n",
- xevent->xconfigure.window - base_id));
-
+ g_message ("configure notify discarded:\twindow: %ld",
+ xevent->xconfigure.window - base_id));
+
result = gdk_event_apply_filters (xevent, event,
window_private
?window_private->filters
:gdk_default_filters);
-
+
/* If the result is GDK_FILTER_REMOVE, there will be
* trouble, but anybody who filtering the Configure events
* better know what they are doing
@@ -2713,21 +2713,21 @@ gdk_event_translate (GdkEvent *event,
{
return (result == GDK_FILTER_TRANSLATE) ? TRUE : FALSE;
}
-
- /*XSync (gdk_display, 0);*/
+
+ /*XSync (gdk_display, 0);*/
}
-
+
GDK_NOTE (EVENTS,
- g_print ("configure notify:\twindow: %ld x,y: %d %d w,h: %d %d b-w: %d above: %ld ovr: %d\n",
- xevent->xconfigure.window - base_id,
- xevent->xconfigure.x,
- xevent->xconfigure.y,
- xevent->xconfigure.width,
- xevent->xconfigure.height,
- xevent->xconfigure.border_width,
- xevent->xconfigure.above - base_id,
- xevent->xconfigure.override_redirect));
+ g_message ("configure notify:\twindow: %ld x,y: %d %d w,h: %d %d b-w: %d above: %ld ovr: %d",
+ xevent->xconfigure.window - base_id,
+ xevent->xconfigure.x,
+ xevent->xconfigure.y,
+ xevent->xconfigure.width,
+ xevent->xconfigure.height,
+ xevent->xconfigure.border_width,
+ xevent->xconfigure.above - base_id,
+ xevent->xconfigure.override_redirect));
if (window_private)
{
@@ -2749,7 +2749,7 @@ gdk_event_translate (GdkEvent *event,
gint tx = 0;
gint ty = 0;
Window child_window = 0;
-
+
if (!XTranslateCoordinates (window_private->xdisplay,
window_private->xwindow,
gdk_root_window,
@@ -2782,36 +2782,36 @@ gdk_event_translate (GdkEvent *event,
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("property notify:\twindow: %ld\n",
- xevent->xproperty.window - base_id));
-
+ g_message ("property notify:\twindow: %ld",
+ xevent->xproperty.window - base_id));
+
event->property.type = GDK_PROPERTY_NOTIFY;
event->property.window = window;
event->property.atom = xevent->xproperty.atom;
event->property.time = xevent->xproperty.time;
event->property.state = xevent->xproperty.state;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case SelectionClear:
GDK_NOTE (EVENTS,
- g_print ("selection clear:\twindow: %ld\n",
- xevent->xproperty.window - base_id));
-
+ g_message ("selection clear:\twindow: %ld",
+ xevent->xproperty.window - base_id));
+
event->selection.type = GDK_SELECTION_CLEAR;
event->selection.window = window;
event->selection.selection = xevent->xselectionclear.selection;
event->selection.time = xevent->xselectionclear.time;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case SelectionRequest:
GDK_NOTE (EVENTS,
- g_print ("selection request:\twindow: %ld\n",
- xevent->xproperty.window - base_id));
-
+ g_message ("selection request:\twindow: %ld",
+ xevent->xproperty.window - base_id));
+
event->selection.type = GDK_SELECTION_REQUEST;
event->selection.window = window;
event->selection.selection = xevent->xselectionrequest.selection;
@@ -2819,43 +2819,43 @@ gdk_event_translate (GdkEvent *event,
event->selection.property = xevent->xselectionrequest.property;
event->selection.requestor = xevent->xselectionrequest.requestor;
event->selection.time = xevent->xselectionrequest.time;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case SelectionNotify:
GDK_NOTE (EVENTS,
- g_print ("selection notify:\twindow: %ld\n",
- xevent->xproperty.window - base_id));
-
-
+ g_message ("selection notify:\twindow: %ld",
+ xevent->xproperty.window - base_id));
+
+
event->selection.type = GDK_SELECTION_NOTIFY;
event->selection.window = window;
event->selection.selection = xevent->xselection.selection;
event->selection.target = xevent->xselection.target;
event->selection.property = xevent->xselection.property;
event->selection.time = xevent->xselection.time;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case ColormapNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("colormap notify:\twindow: %ld\n",
- xevent->xcolormap.window - base_id));
-
+ g_message ("colormap notify:\twindow: %ld",
+ xevent->xcolormap.window - base_id));
+
/* Not currently handled */
break;
-
+
case ClientMessage:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("client message:\twindow: %ld\n",
- xevent->xclient.window - base_id));
-
+ g_message ("client message:\twindow: %ld",
+ xevent->xclient.window - base_id));
+
/* Client messages are the means of the window manager
* communicating with a program. We'll first check to
* see if this is really the window manager talking
@@ -2873,16 +2873,16 @@ gdk_event_translate (GdkEvent *event,
* the event is passed along to the program,
* which should then destroy the window.
*/
-
+
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("delete window:\t\twindow: %ld\n",
- xevent->xclient.window - base_id));
-
+ g_message ("delete window:\t\twindow: %ld",
+ xevent->xclient.window - base_id));
+
event->any.type = GDK_DELETE;
event->any.window = window;
-
+
return_val = window_private && !window_private->destroyed;
}
else if ((Atom) xevent->xclient.data.l[0] == gdk_wm_take_focus)
@@ -2892,13 +2892,13 @@ gdk_event_translate (GdkEvent *event,
else if (xevent->xclient.message_type == gdk_dnd.gdk_XdeEnter)
{
Atom reptype = 0;
-
+
event->dropenter.u.allflags = xevent->xclient.data.l[1];
-
- GDK_NOTE (DND, g_print ("GDK_DROP_ENTER [%d][%d]\n",
- window_private->dnd_drop_enabled, event->dropenter.u.flags.sendreply));
+
+ GDK_NOTE (DND, g_message ("GDK_DROP_ENTER [%d][%d]",
+ window_private->dnd_drop_enabled, event->dropenter.u.flags.sendreply));
return_val = FALSE;
-
+
/* Now figure out if we really want this drop...
* If someone is trying funky clipboard stuff, ignore
*/
@@ -2908,35 +2908,35 @@ gdk_event_translate (GdkEvent *event,
&& (reptype = gdk_dnd_check_types (window, xevent)))
{
XEvent replyev;
-
+
replyev.xclient.type = ClientMessage;
replyev.xclient.window = xevent->xclient.data.l[0];
replyev.xclient.format = 32;
replyev.xclient.message_type = gdk_dnd.gdk_XdeRequest;
replyev.xclient.data.l[0] = window_private->xwindow;
-
+
event->dragrequest.u.allflags = 0;
event->dragrequest.u.flags.protocol_version =
DND_PROTOCOL_VERSION;
event->dragrequest.u.flags.willaccept = 1;
event->dragrequest.u.flags.delete_data =
(window_private->dnd_drop_destructive_op) ? 1 : 0;
-
+
replyev.xclient.data.l[1] = event->dragrequest.u.allflags;
replyev.xclient.data.l[2] = replyev.xclient.data.l[3] = 0;
replyev.xclient.data.l[4] = reptype;
-
+
if (!gdk_send_xevent (replyev.xclient.window, False,
NoEventMask, &replyev))
- GDK_NOTE (DND, g_print("Sending XdeRequest to %#lx failed\n",
- replyev.xclient.window));
-
+ GDK_NOTE (DND, g_message("Sending XdeRequest to %#lx failed",
+ replyev.xclient.window));
+
event->any.type = GDK_DROP_ENTER;
event->any.window = window;
event->dropenter.requestor = replyev.xclient.window;
event->dropenter.u.allflags = xevent->xclient.data.l[1];
-
- GDK_NOTE (DND, g_print("We sent a GDK_DROP_ENTER on to Gtk\n"));
+
+ GDK_NOTE (DND, g_message("We sent a GDK_DROP_ENTER on to Gtk"));
return_val = TRUE;
}
}
@@ -2944,9 +2944,9 @@ gdk_event_translate (GdkEvent *event,
{
#ifdef G_ENABLE_DEBUG
if (gdk_debug_flags & (GDK_DEBUG_EVENTS | GDK_DEBUG_DND))
- g_print ("GDK_DROP_LEAVE\n");
+ g_message ("GDK_DROP_LEAVE");
#endif
-
+
if (window_private && window_private->dnd_drop_enabled)
{
event->dropleave.type = GDK_DROP_LEAVE;
@@ -2966,11 +2966,11 @@ gdk_event_translate (GdkEvent *event,
*/
#ifdef G_ENABLE_DEBUG
if (gdk_debug_flags & (GDK_DEBUG_EVENTS | GDK_DEBUG_DND))
- g_print ("GDK_DRAG_REQUEST\n");
+ g_message ("GDK_DRAG_REQUEST");
#endif
event->dragrequest.u.allflags = xevent->xclient.data.l[1];
return_val = FALSE;
-
+
if (window && gdk_dnd.drag_really &&
xevent->xclient.data.l[0] == gdk_dnd.dnd_drag_curwin &&
event->dragrequest.u.flags.sendreply == 0)
@@ -2995,7 +2995,7 @@ gdk_event_translate (GdkEvent *event,
window_private->dnd_drag_accepted = 1;
window_private->dnd_drag_data_type =
xevent->xclient.data.l[4];
-
+
gdk_dnd.dnd_drag_target = gdk_dnd.dnd_drag_curwin;
gdk_dnd_display_drag_cursor(-1, -1, TRUE, TRUE);
}
@@ -3008,56 +3008,56 @@ gdk_event_translate (GdkEvent *event,
}
}
else if(xevent->xclient.message_type == gdk_dnd.gdk_XdeDataAvailable)
- {
- gint tmp_int; Atom tmp_atom;
- gulong tmp_long;
- guchar *tmp_charptr;
-
+ {
+ gint tmp_int; Atom tmp_atom;
+ gulong tmp_long;
+ guchar *tmp_charptr;
+
#ifdef G_ENABLE_DEBUG
if (gdk_debug_flags & (GDK_DEBUG_EVENTS | GDK_DEBUG_DND))
- g_print("GDK_DROP_DATA_AVAIL\n");
+ g_message("GDK_DROP_DATA_AVAIL");
#endif
- event->dropdataavailable.u.allflags = xevent->xclient.data.l[1];
- event->dropdataavailable.timestamp = xevent->xclient.data.l[4];
- event->dropdataavailable.coords.x =
- xevent->xclient.data.l[3] & 0xffff;
- event->dropdataavailable.coords.y =
- (xevent->xclient.data.l[3] >> 16) & 0xffff;
- if(window
- /* No preview of data ATM */
- && event->dropdataavailable.u.flags.isdrop)
- {
- event->dropdataavailable.type = GDK_DROP_DATA_AVAIL;
- event->dropdataavailable.window = window;
- event->dropdataavailable.requestor = xevent->xclient.data.l[0];
- event->dropdataavailable.data_type =
- gdk_atom_name(xevent->xclient.data.l[2]);
- if(XGetWindowProperty (gdk_display,
- event->dropdataavailable.requestor,
- xevent->xclient.data.l[2],
- 0, LONG_MAX - 1,
- False, XA_PRIMARY, &tmp_atom,
- &tmp_int,
- &event->dropdataavailable.data_numbytes,
- &tmp_long,
- &tmp_charptr)
- != Success)
- {
- g_warning("XGetWindowProperty on %#x may have failed\n",
+ event->dropdataavailable.u.allflags = xevent->xclient.data.l[1];
+ event->dropdataavailable.timestamp = xevent->xclient.data.l[4];
+ event->dropdataavailable.coords.x =
+ xevent->xclient.data.l[3] & 0xffff;
+ event->dropdataavailable.coords.y =
+ (xevent->xclient.data.l[3] >> 16) & 0xffff;
+ if(window
+ /* No preview of data ATM */
+ && event->dropdataavailable.u.flags.isdrop)
+ {
+ event->dropdataavailable.type = GDK_DROP_DATA_AVAIL;
+ event->dropdataavailable.window = window;
+ event->dropdataavailable.requestor = xevent->xclient.data.l[0];
+ event->dropdataavailable.data_type =
+ gdk_atom_name(xevent->xclient.data.l[2]);
+ if(XGetWindowProperty (gdk_display,
+ event->dropdataavailable.requestor,
+ xevent->xclient.data.l[2],
+ 0, LONG_MAX - 1,
+ False, XA_PRIMARY, &tmp_atom,
+ &tmp_int,
+ &event->dropdataavailable.data_numbytes,
+ &tmp_long,
+ &tmp_charptr)
+ != Success)
+ {
+ g_warning("XGetWindowProperty on %#x may have failed\n",
event->dropdataavailable.requestor);
- event->dropdataavailable.data = NULL;
- }
- else
- {
- GDK_NOTE (DND, g_print("XGetWindowProperty got us %ld bytes\n",
- event->dropdataavailable.data_numbytes));
- event->dropdataavailable.data =
- g_malloc (event->dropdataavailable.data_numbytes);
- memcpy (event->dropdataavailable.data,
- tmp_charptr, event->dropdataavailable.data_numbytes);
- XFree(tmp_charptr);
- return_val = TRUE;
- }
+ event->dropdataavailable.data = NULL;
+ }
+ else
+ {
+ GDK_NOTE (DND, g_message("XGetWindowProperty got us %ld bytes",
+ event->dropdataavailable.data_numbytes));
+ event->dropdataavailable.data =
+ g_malloc (event->dropdataavailable.data_numbytes);
+ memcpy (event->dropdataavailable.data,
+ tmp_charptr, event->dropdataavailable.data_numbytes);
+ XFree(tmp_charptr);
+ return_val = TRUE;
+ }
return_val = TRUE;
}
}
@@ -3083,28 +3083,28 @@ gdk_event_translate (GdkEvent *event,
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("mapping notify\n"));
-
+ g_message ("mapping notify"));
+
/* Let XLib know that there is a new keyboard mapping.
*/
XRefreshKeyboardMapping (&xevent->xmapping);
break;
-
+
default:
/* something else - (e.g., a Xinput event) */
-
+
if (window_private &&
(window_private->extension_events != 0) &&
gdk_input_vtable.other_event)
return_val = gdk_input_vtable.other_event(event, xevent, window);
else
return_val = FALSE;
-
+
return_val = return_val && !window_private->destroyed;
-
+
break;
}
-
+
if (return_val)
{
if (event->any.window)
@@ -3120,10 +3120,10 @@ gdk_event_translate (GdkEvent *event,
event->any.window = NULL;
event->any.type = GDK_NOTHING;
}
-
+
if (window)
gdk_window_unref (window);
-
+
return return_val;
}
@@ -3135,28 +3135,28 @@ gdk_event_get_type (Display *display,
{
GdkEvent event;
GdkPredicate *pred;
-
+
if (gdk_event_translate (&event, xevent))
{
pred = (GdkPredicate*) arg;
return (* pred->func) (&event, pred->data);
}
-
+
return FALSE;
}
#endif
static void
gdk_synthesize_click (GdkEvent *event,
- gint nclicks)
+ gint nclicks)
{
GdkEvent temp_event;
-
+
g_return_if_fail (event != NULL);
-
+
temp_event = *event;
temp_event.type = (nclicks == 2) ? GDK_2BUTTON_PRESS : GDK_3BUTTON_PRESS;
-
+
gdk_event_put (&temp_event);
}
@@ -3181,14 +3181,14 @@ static void
gdk_exit_func (void)
{
static gboolean in_gdk_exit_func = FALSE;
-
+
/* This is to avoid an infinite loop if a program segfaults in
an atexit() handler (and yes, it does happen, especially if a program
- has trounced over memory too badly for even g_print to work) */
+ has trounced over memory too badly for even g_message to work) */
if (in_gdk_exit_func == TRUE)
return;
in_gdk_exit_func = TRUE;
-
+
if (gdk_initialized)
{
#ifdef USE_XIM
@@ -3200,7 +3200,7 @@ gdk_exit_func (void)
gdk_image_exit ();
gdk_input_exit ();
gdk_key_repeat_restore ();
-
+
XCloseDisplay (gdk_display);
gdk_initialized = 0;
}
@@ -3229,11 +3229,11 @@ gdk_exit_func (void)
*/
static int
-gdk_x_error (Display *display,
+gdk_x_error (Display *display,
XErrorEvent *error)
{
char buf[64];
-
+
if (gdk_error_warnings)
{
XGetErrorText (display, error->error_code, buf, 63);
@@ -3244,7 +3244,7 @@ gdk_x_error (Display *display,
error->request_code,
error->minor_code);
}
-
+
gdk_error_code = -1;
return 0;
}
@@ -3301,11 +3301,11 @@ gdk_signal (int sig_num)
{
static int caught_fatal_sig = 0;
char *sig;
-
+
if (caught_fatal_sig)
kill (getpid (), sig_num);
caught_fatal_sig = 1;
-
+
switch (sig_num)
{
case SIGHUP:
@@ -3333,8 +3333,8 @@ gdk_signal (int sig_num)
sig = "unknown signal";
break;
}
-
- g_print ("\n** ERROR **: %s caught\n", sig);
+
+ g_message ("\n** ERROR **: %s caught", sig);
#ifdef G_ENABLE_DEBUG
abort ();
#else /* !G_ENABLE_DEBUG */
@@ -3346,14 +3346,14 @@ static void
gdk_dnd_drag_begin (GdkWindow *initial_window)
{
GdkEvent tev;
-
- GDK_NOTE(DND, g_print("------- STARTING DRAG from %p\n", initial_window));
-
+
+ GDK_NOTE(DND, g_message("------- STARTING DRAG from %p", initial_window));
+
tev.type = GDK_DRAG_BEGIN;
tev.dragbegin.window = initial_window;
tev.dragbegin.u.allflags = 0;
tev.dragbegin.u.flags.protocol_version = DND_PROTOCOL_VERSION;
-
+
gdk_event_put (&tev);
}
@@ -3369,7 +3369,7 @@ gdk_dnd_drag_enter (Window dest)
sev.xclient.format = 32;
sev.xclient.message_type = gdk_dnd.gdk_XdeEnter;
sev.xclient.window = dest;
-
+
tev.u.allflags = 0;
tev.u.flags.protocol_version = DND_PROTOCOL_VERSION;
tev.u.flags.sendreply = 1;
@@ -3395,10 +3395,10 @@ gdk_dnd_drag_enter (Window dest)
else
sev.xclient.data.l[3] = sev.xclient.data.l[4] = None;
if (!gdk_send_xevent (dest, False, StructureNotifyMask, &sev))
- GDK_NOTE (DND, g_print("Sending XdeEnter to %#lx failed\n",
- dest));
+ GDK_NOTE (DND, g_message("Sending XdeEnter to %#lx failed",
+ dest));
}
-
+
}
}
@@ -3413,9 +3413,9 @@ gdk_dnd_drag_enter (Window dest)
*/
/* This needs to match XIMArg as defined in Xlcint.h exactly */
-
+
typedef struct {
- gchar *name;
+ gchar *name;
gpointer value;
} GdkImArg;
@@ -3433,7 +3433,7 @@ gdk_im_va_count (va_list list)
{
gint count = 0;
gchar *name;
-
+
name = va_arg (list, gchar *);
while (name)
{
@@ -3441,7 +3441,7 @@ gdk_im_va_count (va_list list)
(void)va_arg (list, gpointer);
name = va_arg (list, gchar *);
}
-
+
return count;
}
@@ -3460,15 +3460,15 @@ gdk_im_va_to_nested (va_list list, guint count)
{
GdkImArg *result;
GdkImArg *arg;
-
+
gchar *name;
-
+
if (count == 0)
return NULL;
-
+
result = g_new (GdkImArg, count+1);
arg = result;
-
+
name = va_arg (list, gchar *);
while (name)
{
@@ -3477,9 +3477,9 @@ gdk_im_va_to_nested (va_list list, guint count)
arg++;
name = va_arg (list, gchar *);
}
-
+
arg->name = NULL;
-
+
return (XVaNestedList)result;
}
@@ -3508,12 +3508,12 @@ gdk_im_begin (GdkIC ic, GdkWindow* window)
{
GdkICPrivate *private;
Window xwin;
-
+
g_return_if_fail (ic != NULL);
g_return_if_fail (window);
-
+
private = (GdkICPrivate *) ic;
-
+
xim_using = TRUE;
xim_ic = private;
xim_window = window;
@@ -3521,7 +3521,7 @@ gdk_im_begin (GdkIC ic, GdkWindow* window)
{
XGetICValues (private->xic, XNFocusWindow, &xwin, NULL);
if (xwin != GDK_WINDOW_XWINDOW(window))
- XSetICValues (private->xic, XNFocusWindow,
+ XSetICValues (private->xic, XNFocusWindow,
GDK_WINDOW_XWINDOW(window), NULL);
if (private != xim_ic)
XSetICFocus (private->xic);
@@ -3563,13 +3563,13 @@ static GdkIMStyle
gdk_im_choose_better_style (GdkIMStyle style1, GdkIMStyle style2)
{
GdkIMStyle s1, s2, u;
-
+
if (style1 == 0) return style2;
if (style2 == 0) return style1;
if ((style1 & (GdkIMPreeditMask | GdkIMStatusMask))
- == (style2 & (GdkIMPreeditMask | GdkIMStatusMask)))
+ == (style2 & (GdkIMPreeditMask | GdkIMStatusMask)))
return style1;
-
+
s1 = style1 & GdkIMPreeditMask;
s2 = style2 & GdkIMPreeditMask;
u = s1 | s2;
@@ -3603,9 +3603,9 @@ gdk_im_decide_style (GdkIMStyle supported_style)
{
gint i;
GdkIMStyle style, tmp;
-
+
g_return_val_if_fail (xim_styles != NULL, 0);
-
+
style = 0;
for (i=0; i<xim_styles->count_styles; i++)
{
@@ -3622,7 +3622,7 @@ gdk_im_set_best_style (GdkIMStyle style)
if (style & GdkIMPreeditMask)
{
xim_best_allowed_style &= ~GdkIMPreeditMask;
-
+
xim_best_allowed_style |= GdkIMPreeditNone;
if (!(style & GdkIMPreeditNone))
{
@@ -3642,7 +3642,7 @@ gdk_im_set_best_style (GdkIMStyle style)
if (style & GdkIMStatusMask)
{
xim_best_allowed_style &= ~GdkIMStatusMask;
-
+
xim_best_allowed_style |= GdkIMStatusNone;
if (!(style & GdkIMStatusNone))
{
@@ -3669,7 +3669,7 @@ gdk_im_open (XrmDatabase db, gchar* res_name, gchar* res_class)
return FALSE;
}
XGetIMValues (xim_im, XNQueryInputStyle, &xim_styles, NULL, NULL);
-
+
return TRUE;
}
@@ -3703,17 +3703,17 @@ gdk_ic_new (GdkWindow* client_window,
GdkICPrivate *private;
XVaNestedList preedit_attr = NULL;
guint count;
-
+
g_return_val_if_fail (client_window != NULL, NULL);
g_return_val_if_fail (focus_window != NULL, NULL);
g_return_val_if_fail (gdk_im_ready(), NULL);
-
+
private = g_new (GdkICPrivate, 1);
-
+
va_start (list, style);
count = gdk_im_va_count (list);
va_end (list);
-
+
va_start (list, style);
preedit_attr = gdk_im_va_to_nested (list, count);
va_end (list);
@@ -3725,14 +3725,14 @@ gdk_ic_new (GdkWindow* client_window,
g_free (private);
return NULL;
}
-
+
private->xic = XCreateIC(gdk_im_get (),
- XNInputStyle, style,
- XNClientWindow, GDK_WINDOW_XWINDOW (client_window),
- XNFocusWindow, GDK_WINDOW_XWINDOW (focus_window),
- preedit_attr? XNPreeditAttributes : NULL, preedit_attr,
- NULL);
-
+ XNInputStyle, style,
+ XNClientWindow, GDK_WINDOW_XWINDOW (client_window),
+ XNFocusWindow, GDK_WINDOW_XWINDOW (focus_window),
+ preedit_attr? XNPreeditAttributes : NULL, preedit_attr,
+ NULL);
+
g_free (preedit_attr);
if (!private->xic)
@@ -3740,7 +3740,7 @@ gdk_ic_new (GdkWindow* client_window,
g_free (private);
return NULL;
}
-
+
xim_ic_list = g_list_append (xim_ic_list, private);
return private;
}
@@ -3749,14 +3749,14 @@ void
gdk_ic_destroy (GdkIC ic)
{
GdkICPrivate *private;
-
+
g_return_if_fail (ic != NULL);
private = (GdkICPrivate *) ic;
-
+
if (xim_ic == private)
gdk_im_end ();
-
+
XDestroyIC (private->xic);
xim_ic_list = g_list_remove (xim_ic_list, private);
g_free (private);
@@ -3766,11 +3766,11 @@ GdkIMStyle
gdk_ic_get_style (GdkIC ic)
{
GdkICPrivate *private;
-
+
g_return_val_if_fail (ic != NULL, 0);
-
+
private = (GdkICPrivate *) ic;
-
+
return private->style;
}
@@ -3781,21 +3781,21 @@ gdk_ic_set_values (GdkIC ic, ...)
XVaNestedList args;
GdkICPrivate *private;
guint count;
-
+
g_return_if_fail (ic != NULL);
-
+
private = (GdkICPrivate *) ic;
-
+
va_start (list, ic);
count = gdk_im_va_count (list);
va_end (list);
-
+
va_start (list, ic);
args = gdk_im_va_to_nested (list, count);
va_end (list);
-
+
XSetICValues (private->xic, XNVaNestedList, args, NULL);
-
+
g_free (args);
}
@@ -3806,21 +3806,21 @@ gdk_ic_get_values (GdkIC ic, ...)
XVaNestedList args;
GdkICPrivate *private;
guint count;
-
+
g_return_if_fail (ic != NULL);
-
+
private = (GdkICPrivate *) ic;
-
+
va_start (list, ic);
count = gdk_im_va_count (list);
va_end (list);
-
+
va_start (list, ic);
args = gdk_im_va_to_nested (list, count);
va_end (list);
-
+
XGetICValues (private->xic, XNVaNestedList, args, NULL);
-
+
g_free (args);
}
@@ -3831,22 +3831,22 @@ gdk_ic_set_attr (GdkIC ic, const char *target, ...)
XVaNestedList attr;
GdkICPrivate *private;
guint count;
-
+
g_return_if_fail (ic != NULL);
g_return_if_fail (target != NULL);
-
+
private = (GdkICPrivate *) ic;
-
+
va_start (list, target);
count = gdk_im_va_count (list);
va_end (list);
-
+
va_start (list, target);
attr = gdk_im_va_to_nested (list, count);
va_end (list);
-
+
XSetICValues (private->xic, target, attr, NULL);
-
+
g_free (attr);
}
@@ -3857,22 +3857,22 @@ gdk_ic_get_attr (GdkIC ic, const char *target, ...)
XVaNestedList attr;
GdkICPrivate *private;
guint count;
-
+
g_return_if_fail (ic != NULL);
g_return_if_fail (target != NULL);
-
+
private = (GdkICPrivate *) ic;
-
+
va_start (list, target);
count = gdk_im_va_count (list);
va_end (list);
-
+
va_start (list, target);
attr = gdk_im_va_to_nested (list, count);
va_end (list);
-
+
XGetICValues (private->xic, target, attr, NULL);
-
+
g_free (attr);
}
@@ -3884,21 +3884,21 @@ gdk_ic_get_events (GdkIC ic)
glong bit;
GdkICPrivate *private;
gint i;
-
- /* From gdkwindow.c */
+
+ /* From gdkwindow.c */
extern int nevent_masks;
extern int event_mask_table[];
-
+
g_return_val_if_fail (ic != NULL, 0);
-
+
private = (GdkICPrivate *) ic;
-
+
if (XGetICValues (private->xic, XNFilterEvents, &xmask, NULL) != NULL)
{
GDK_NOTE (XIM, g_warning ("Call to XGetICValues: %s failed", XNFilterEvents));
return 0;
}
-
+
mask = 0;
for (i=0, bit=2; i < nevent_masks; i++, bit <<= 1)
if (xmask & event_mask_table [i])
@@ -3906,7 +3906,7 @@ gdk_ic_get_events (GdkIC ic)
mask |= bit;
xmask &= ~ event_mask_table [i];
}
-
+
if (xmask)
g_warning ("ic requires events not supported by the application (%#04lx)", xmask);
@@ -3919,17 +3919,17 @@ gdk_ic_cleanup (void)
GList* node;
gint destroyed;
GdkICPrivate *private;
-
+
destroyed = 0;
for (node = xim_ic_list; node != NULL; node = node->next)
{
if (node->data)
- {
- private = (GdkICPrivate *) (node->data);
- XDestroyIC (private->xic);
- g_free (private);
- destroyed++;
- }
+ {
+ private = (GdkICPrivate *) (node->data);
+ XDestroyIC (private->xic);
+ g_free (private);
+ destroyed++;
+ }
}
#ifdef G_ENABLE_DEBUG
if ((gdk_debug_flags & GDK_DEBUG_XIM) && destroyed > 0)
@@ -4025,10 +4025,10 @@ _g_mbtowc (wchar_t *wstr, const char *str, size_t len)
{
static wchar_t wcs[MB_CUR_MAX + 1];
static gchar mbs[MB_CUR_MAX + 1];
-
+
wcs[0] = (wchar_t) NULL;
mbs[0] = '\0';
-
+
/* The last argument isn't a mistake. The X locale code trims
* the input string to the length of the output string!
*/
@@ -4037,13 +4037,13 @@ _g_mbtowc (wchar_t *wstr, const char *str, size_t len)
return len;
else if (wcs[0] == (wchar_t) NULL)
return -1;
-
+
len = _Xwctomb (mbs, wcs[0]);
if (mbs[0] == '\0')
return -1;
if (wstr)
*wstr = wcs[0];
-
+
return len;
}
@@ -4056,9 +4056,9 @@ gdk_dnd_drag_leave (Window dest)
GdkEventDropLeave tev;
int i;
GdkWindowPrivate *wp;
-
+
tev.u.allflags = 0;
-
+
tev.u.flags.protocol_version = DND_PROTOCOL_VERSION;
sev.xclient.type = ClientMessage;
sev.xclient.window = dest;
@@ -4070,8 +4070,8 @@ gdk_dnd_drag_leave (Window dest)
wp = (GdkWindowPrivate *) gdk_dnd.drag_startwindows[i];
sev.xclient.data.l[0] = wp->xwindow;
if (!gdk_send_xevent (dest, False, StructureNotifyMask, &sev))
- GDK_NOTE (DND, g_print("Sending XdeLeave to %#lx failed\n",
- dest));
+ GDK_NOTE (DND, g_message("Sending XdeLeave to %#lx failed",
+ dest));
wp->dnd_drag_accepted = 0;
}
}
@@ -4088,14 +4088,14 @@ gdk_dnd_drag_end (Window dest,
GdkWindowPrivate *wp;
GdkEvent tev;
int i;
-
+
tev.dragrequest.type = GDK_DRAG_REQUEST;
tev.dragrequest.drop_coords = coords;
tev.dragrequest.requestor = dest;
tev.dragrequest.u.allflags = 0;
tev.dragrequest.u.flags.protocol_version = DND_PROTOCOL_VERSION;
tev.dragrequest.isdrop = 1;
-
+
for (i = 0; i < gdk_dnd.drag_numwindows; i++)
{
wp = (GdkWindowPrivate *) gdk_dnd.drag_startwindows[i];
@@ -4103,32 +4103,32 @@ gdk_dnd_drag_end (Window dest,
{
tev.dragrequest.window = (GdkWindow *) wp;
tev.dragrequest.u.flags.delete_data = wp->dnd_drag_destructive_op;
- tev.dragrequest.timestamp = gdk_dnd.last_drop_time;
+ tev.dragrequest.timestamp = gdk_dnd.last_drop_time;
tev.dragrequest.data_type =
- gdk_atom_name(wp->dnd_drag_data_type);
-
+ gdk_atom_name(wp->dnd_drag_data_type);
+
gdk_event_put(&tev);
}
}
}
static GdkAtom
-gdk_dnd_check_types (GdkWindow *window,
- XEvent *xevent)
+gdk_dnd_check_types (GdkWindow *window,
+ XEvent *xevent)
{
GdkWindowPrivate *wp = (GdkWindowPrivate *) window;
int i, j;
GdkEventDropEnter event;
-
+
g_return_val_if_fail(window != NULL, 0);
g_return_val_if_fail(xevent != NULL, 0);
g_return_val_if_fail(xevent->type == ClientMessage, 0);
g_return_val_if_fail(xevent->xclient.message_type == gdk_dnd.gdk_XdeEnter, 0);
-
+
if(wp->dnd_drop_data_numtypesavail <= 0 ||
!wp->dnd_drop_data_typesavail)
return 0;
-
+
for (i = 2; i <= 4; i++)
{
for (j = 0; j < wp->dnd_drop_data_numtypesavail; j++)
@@ -4137,7 +4137,7 @@ gdk_dnd_check_types (GdkWindow *window,
return xevent->xclient.data.l[i];
}
}
-
+
/* Now we get the extended type list if it's available */
event.u.allflags = xevent->xclient.data.l[1];
if (event.u.flags.extended_typelist)
@@ -4145,21 +4145,21 @@ gdk_dnd_check_types (GdkWindow *window,
Atom *exttypes, realtype;
gulong nitems, nbar;
gint realfmt;
-
+
if (XGetWindowProperty(gdk_display, xevent->xclient.data.l[0],
gdk_dnd.gdk_XdeTypelist, 0L, LONG_MAX - 1,
False, AnyPropertyType, &realtype, &realfmt,
&nitems, &nbar, (unsigned char **) &exttypes)
- != Success)
+ != Success)
return 0;
-
+
if (realfmt != (sizeof(Atom) * 8))
{
g_warning("XdeTypelist property had format of %d instead of the expected %ld, on window %#lx\n",
realfmt, (glong)sizeof(Atom) * 8, xevent->xclient.data.l[0]);
return 0;
}
-
+
for (i = 0; i <= nitems; i++)
{
for (j = 0; j < wp->dnd_drop_data_numtypesavail; j++)
@@ -4185,7 +4185,7 @@ gdk_print_atom (GdkAtom anatom)
{
gchar *tmpstr = NULL;
tmpstr = (anatom!=None)?gdk_atom_name(anatom):"(none)";
- g_print("Atom %lu has name %s\n", anatom, tmpstr);
+ g_message("Atom %lu has name %s", anatom, tmpstr);
if(tmpstr)
g_free(tmpstr);
}
@@ -4195,9 +4195,9 @@ gdk_print_atom (GdkAtom anatom)
* used only by below routine and itself
*/
static Window
-getchildren (Display *dpy,
- Window win,
- Atom WM_STATE)
+getchildren (Display *dpy,
+ Window win,
+ Atom WM_STATE)
{
Window root, parent, *children, inf = 0;
Atom type = None;
@@ -4205,10 +4205,10 @@ getchildren (Display *dpy,
int format;
unsigned long nitems, after;
unsigned char *data;
-
+
if (XQueryTree(dpy, win, &root, &parent, &children, &nchildren) == 0)
return 0;
-
+
for (i = 0; !inf && (i < nchildren); i++)
{
XGetWindowProperty (dpy, children[i], WM_STATE, 0, 0, False,
@@ -4218,13 +4218,13 @@ getchildren (Display *dpy,
inf = children[i];
XFree(data);
}
-
+
for (i = 0; !inf && (i < nchildren); i++)
inf = getchildren (dpy, children[i], WM_STATE);
-
+
if (children != None)
XFree ((char *) children);
-
+
return inf;
}
@@ -4234,8 +4234,8 @@ getchildren (Display *dpy,
* modification of the XmuClientWindow() routine from X11R6.3
*/
Window
-gdk_get_client_window (Display *dpy,
- Window win)
+gdk_get_client_window (Display *dpy,
+ Window win)
{
Atom WM_STATE;
Atom type = None;
@@ -4243,20 +4243,20 @@ gdk_get_client_window (Display *dpy,
unsigned long nitems, after;
unsigned char *data;
Window inf;
-
+
if (win == 0)
return DefaultRootWindow(dpy);
-
+
if ((WM_STATE = XInternAtom (dpy, "WM_STATE", True)) == 0)
return win;
-
+
XGetWindowProperty (dpy, win, WM_STATE, 0, 0, False, AnyPropertyType,
&type, &format, &nitems, &after, &data);
if (type)
return win;
-
+
inf = getchildren (dpy, win, WM_STATE);
-
+
if (inf == 0)
return win;
else
@@ -4273,13 +4273,13 @@ gdk_drop_get_real_window (GdkWindow *w,
GdkWindowPrivate *awin;
GList *children;
gint16 myx = *x, myy = *y;
-
+
g_return_val_if_fail (w != NULL && x != NULL && y != NULL, NULL);
-
+
myx = *x;
myy = *y;
-
-descend:
+
+ descend:
for (children = gdk_window_get_children(retval);
children && children->next;
children = children->next)
@@ -4295,10 +4295,10 @@ descend:
goto descend;
}
}
-
+
*x = myx;
*y = myy;
-
+
return retval;
}
#endif
@@ -4311,9 +4311,9 @@ gdk_event_send_clientmessage_toall (GdkEvent *event)
Window *ret_children, ret_root, ret_parent, curwin;
unsigned int ret_nchildren;
int i;
-
+
g_return_if_fail(event != NULL);
-
+
/* Set up our event to send, with the exception of its target window */
sev.xclient.type = ClientMessage;
sev.xclient.display = gdk_display;
@@ -4321,21 +4321,21 @@ gdk_event_send_clientmessage_toall (GdkEvent *event)
sev.xclient.serial = CurrentTime;
memcpy(&sev.xclient.data, &event->client.data, sizeof(sev.xclient.data));
sev.xclient.message_type = event->client.message_type;
-
+
/* OK, we're all set, now let's find some windows to send this to */
if(XQueryTree(gdk_display, gdk_root_window, &ret_root, &ret_parent,
&ret_children, &ret_nchildren) != True)
return;
-
+
/* foreach true child window of the root window, send an event to it */
for(i = 0; i < ret_nchildren; i++) {
curwin = gdk_get_client_window(gdk_display, ret_children[i]);
sev.xclient.window = curwin;
if (!gdk_send_xevent (curwin, False, NoEventMask, &sev))
- GDK_NOTE (MISC, g_print("Gdk: Sending client message %ld to %#lx failed\n",
- event->client.message_type, curwin));
+ GDK_NOTE (MISC, g_message ("Sending client message %ld to %#lx failed",
+ event->client.message_type, curwin));
}
-
+
XFree(ret_children);
}
@@ -4357,7 +4357,7 @@ gdk_send_xevent (Window window, gboolean propagate, glong event_mask,
result = XSendEvent (gdk_display, window, propagate, event_mask, event_send);
XSync (gdk_display, False);
gdk_error_warnings = 1;
-
+
return result && (gdk_error_code != -1);
}
@@ -4371,13 +4371,13 @@ gdkx_XConvertCase (KeySym symbol,
KeySym *upper)
{
register KeySym sym = symbol;
-
+
g_return_if_fail (lower != NULL);
g_return_if_fail (upper != NULL);
-
+
*lower = sym;
*upper = sym;
-
+
switch (sym >> 8)
{
#if defined (GDK_A) && defined (GDK_Ooblique)
@@ -4472,7 +4472,7 @@ gdkx_XConvertCase (KeySym symbol,
*upper += (GDK_Cyrillic_YU - GDK_Cyrillic_yu);
break;
#endif /* CYRILLIC */
-
+
#if defined (GDK_Greek_ALPHAaccent) && defined (GDK_Greek_finalsmallsigma)
case 7: /* Greek */
/* Assume the KeySym is a legal value (ignore discontinuities) */
@@ -4494,7 +4494,7 @@ gdkx_XConvertCase (KeySym symbol,
#endif
gchar*
-gdk_keyval_name (guint keyval)
+gdk_keyval_name (guint keyval)
{
return XKeysymToString (keyval);
}
@@ -4503,18 +4503,18 @@ guint
gdk_keyval_from_name (const gchar *keyval_name)
{
g_return_val_if_fail (keyval_name != NULL, 0);
-
+
return XStringToKeysym (keyval_name);
}
guint
-gdk_keyval_to_upper (guint keyval)
+gdk_keyval_to_upper (guint keyval)
{
if (keyval)
{
KeySym lower_val = 0;
KeySym upper_val = 0;
-
+
XConvertCase (keyval, &lower_val, &upper_val);
return upper_val;
}
@@ -4522,13 +4522,13 @@ gdk_keyval_to_upper (guint keyval)
}
guint
-gdk_keyval_to_lower (guint keyval)
+gdk_keyval_to_lower (guint keyval)
{
if (keyval)
{
KeySym lower_val = 0;
KeySym upper_val = 0;
-
+
XConvertCase (keyval, &lower_val, &upper_val);
return lower_val;
}
@@ -4536,13 +4536,13 @@ gdk_keyval_to_lower (guint keyval)
}
gboolean
-gdk_keyval_is_upper (guint keyval)
+gdk_keyval_is_upper (guint keyval)
{
if (keyval)
{
KeySym lower_val = 0;
KeySym upper_val = 0;
-
+
XConvertCase (keyval, &lower_val, &upper_val);
return upper_val == keyval;
}
@@ -4550,13 +4550,13 @@ gdk_keyval_is_upper (guint keyval)
}
gboolean
-gdk_keyval_is_lower (guint keyval)
+gdk_keyval_is_lower (guint keyval)
{
if (keyval)
{
KeySym lower_val = 0;
KeySym upper_val = 0;
-
+
XConvertCase (keyval, &lower_val, &upper_val);
return lower_val == keyval;
}
diff --git a/gdk/gdkcc.c b/gdk/gdkcc.c
index 12631a0772..df7c0a7833 100644
--- a/gdk/gdkcc.c
+++ b/gdk/gdkcc.c
@@ -69,7 +69,7 @@ static guint
hash_color (gconstpointer key)
{
const GdkColor *color = key;
-
+
return (color->red * 33023 + color->green * 30013 + color->blue * 27011);
}
@@ -79,7 +79,7 @@ compare_colors (gconstpointer a,
{
const GdkColor *aa = a;
const GdkColor *bb = b;
-
+
return ((aa->red == bb->red) && (aa->green == bb->green) && (aa->blue == bb->blue));
}
@@ -108,20 +108,20 @@ my_x_query_colors (GdkColormap *colormap,
{
XColor *xcolors;
gint i;
-
+
xcolors = g_new (XColor, ncolors);
for (i = 0; i < ncolors; i++)
xcolors[i].pixel = colors[i].pixel;
-
+
XQueryColors (gdk_display, GDK_COLORMAP_XCOLORMAP (colormap), xcolors, ncolors);
-
+
for (i = 0; i < ncolors; i++)
{
colors[i].red = xcolors[i].red;
colors[i].green = xcolors[i].green;
colors[i].blue = xcolors[i].blue;
}
-
+
g_free (xcolors);
}
@@ -131,12 +131,12 @@ query_colors (GdkColorContext *cc)
gint i;
GdkColorContextPrivate *ccp = (GdkColorContextPrivate *) cc;
cc->cmap = g_new (GdkColor, cc->num_colors);
-
+
for (i = 0; i < cc->num_colors; i++)
cc->cmap[i].pixel = cc->clut ? cc->clut[i] : ccp->std_cmap.base_pixel + i;
-
+
my_x_query_colors (cc->colormap, cc->cmap, cc->num_colors);
-
+
qsort (cc->cmap, cc->num_colors, sizeof (GdkColor), pixel_sort);
}
@@ -144,25 +144,25 @@ static void
init_bw (GdkColorContext *cc)
{
GdkColor color;
-
+
g_warning ("init_bw: failed to allocate colors, falling back to black and white");
-
+
cc->mode = GDK_CC_MODE_BW;
-
+
color.red = color.green = color.blue = 0;
if (!gdk_color_alloc (cc->colormap, &color))
cc->black_pixel = 0;
else
cc->black_pixel = color.pixel;
-
+
color.red = color.green = color.blue = 0xffff;
if (!gdk_color_alloc (cc->colormap, &color))
cc->white_pixel = cc->black_pixel ? 0 : 1;
else
cc->white_pixel = color.pixel;
-
+
cc->num_colors = 2;
}
@@ -173,28 +173,28 @@ init_gray (GdkColorContext *cc)
GdkColor *clrs, *cstart;
gint i;
gdouble dinc;
-
+
cc->num_colors = GDK_VISUAL_XVISUAL (cc->visual)->map_entries;
-
+
cc->clut = g_new (gulong, cc->num_colors);
cstart = g_new (GdkColor, cc->num_colors);
-
-retrygray:
-
+
+ retrygray:
+
dinc = 65535.0 / (cc->num_colors - 1);
-
+
clrs = cstart;
-
+
for (i = 0; i < cc->num_colors; i++)
{
clrs->red = clrs->green = clrs->blue = dinc * i;
-
+
if (!gdk_color_alloc (cc->colormap, clrs))
{
gdk_colors_free (cc->colormap, cc->clut, i, 0);
-
+
cc->num_colors /= 2;
-
+
if (cc->num_colors > 1)
goto retrygray;
else
@@ -206,12 +206,12 @@ retrygray:
return;
}
}
-
+
cc->clut[i] = clrs++->pixel;
}
-
+
g_free (cstart);
-
+
/* XXX: is this the right thing to do? */
ccp->std_cmap.colormap = GDK_COLORMAP_XCOLORMAP (cc->colormap);
ccp->std_cmap.base_pixel = 0;
@@ -221,12 +221,12 @@ retrygray:
ccp->std_cmap.red_mult = 1;
ccp->std_cmap.green_mult = 0;
ccp->std_cmap.blue_mult = 0;
-
+
cc->white_pixel = WhitePixel (ccp->xdisplay, gdk_screen);
cc->black_pixel = BlackPixel (ccp->xdisplay, gdk_screen);
-
+
query_colors (cc);
-
+
cc->mode = GDK_CC_MODE_MY_GRAY;
}
@@ -235,14 +235,14 @@ init_color (GdkColorContext *cc)
{
GdkColorContextPrivate *ccp = (GdkColorContextPrivate *) cc;
gint cubeval;
-
+
cubeval = 1;
while ((cubeval * cubeval * cubeval) < GDK_VISUAL_XVISUAL (cc->visual)->map_entries)
cubeval++;
cubeval--;
-
+
cc->num_colors = cubeval * cubeval * cubeval;
-
+
ccp->std_cmap.red_max = cubeval - 1;
ccp->std_cmap.green_max = cubeval - 1;
ccp->std_cmap.blue_max = cubeval - 1;
@@ -250,21 +250,21 @@ init_color (GdkColorContext *cc)
ccp->std_cmap.green_mult = cubeval;
ccp->std_cmap.blue_mult = 1;
ccp->std_cmap.base_pixel = 0;
-
+
cc->white_pixel = WhitePixel (ccp->xdisplay, gdk_screen);
cc->black_pixel = BlackPixel (ccp->xdisplay, gdk_screen);
cc->num_colors = DisplayCells (ccp->xdisplay, gdk_screen);
-
+
/* a CLUT for storing allocated pixel indices */
-
+
cc->max_colors = cc->num_colors;
cc->clut = g_new (gulong, cc->max_colors);
-
+
for (cubeval = 0; cubeval < cc->max_colors; cubeval++)
cc->clut[cubeval] = cubeval;
-
+
query_colors (cc);
-
+
cc->mode = GDK_CC_MODE_STD_CMAP;
}
@@ -274,66 +274,66 @@ init_true_color (GdkColorContext *cc)
{
GdkColorContextPrivate *ccp = (GdkColorContextPrivate *) cc;
gulong rmask, gmask, bmask;
-
+
cc->mode = GDK_CC_MODE_TRUE;
-
+
/* Red */
-
+
rmask = cc->masks.red = cc->visual->red_mask;
-
+
cc->shifts.red = 0;
cc->bits.red = 0;
-
+
while (!(rmask & 1))
{
rmask >>= 1;
cc->shifts.red++;
}
-
+
while (rmask & 1)
{
rmask >>= 1;
cc->bits.red++;
}
-
+
/* Green */
-
+
gmask = cc->masks.green = cc->visual->green_mask;
-
+
cc->shifts.green = 0;
cc->bits.green = 0;
-
+
while (!(gmask & 1))
{
gmask >>= 1;
cc->shifts.green++;
}
-
+
while (gmask & 1)
{
gmask >>= 1;
cc->bits.green++;
}
-
+
/* Blue */
-
+
bmask = cc->masks.blue = cc->visual->blue_mask;
-
+
cc->shifts.blue = 0;
cc->bits.blue = 0;
-
+
while (!(bmask & 1))
{
bmask >>= 1;
cc->shifts.blue++;
}
-
+
while (bmask & 1)
{
bmask >>= 1;
cc->bits.blue++;
}
-
+
cc->num_colors = (cc->visual->red_mask | cc->visual->green_mask | cc->visual->blue_mask) + 1;
cc->white_pixel = WhitePixel (ccp->xdisplay, gdk_screen);
cc->black_pixel = BlackPixel (ccp->xdisplay, gdk_screen);
@@ -349,49 +349,49 @@ init_direct_color (GdkColorContext *cc)
gulong *gtable;
gulong *btable;
gdouble dinc;
-
+
init_true_color (cc); /* for shift stuff */
-
+
rval = cc->visual->red_mask >> cc->shifts.red;
gval = cc->visual->green_mask >> cc->shifts.green;
bval = cc->visual->blue_mask >> cc->shifts.blue;
-
+
rtable = g_new (gulong, rval + 1);
gtable = g_new (gulong, gval + 1);
btable = g_new (gulong, bval + 1);
-
+
cc->max_entry = MAX (rval, gval);
cc->max_entry = MAX (cc->max_entry, bval);
-
+
cstart = g_new (GdkColor, cc->max_entry + 1);
cc->clut = g_new (gulong, cc->max_entry + 1);
-
-retrydirect:
-
+
+ retrydirect:
+
for (n = 0; n < rval; n++)
rtable[n] = rval ? (65535.0 / rval * n) : 0;
-
+
for (n = 0; n < gval; n++)
gtable[n] = gval ? (65535.0 / gval * n) : 0;
-
+
for (n = 0; n < bval; n++)
btable[n] = bval ? (65535.0 / bval * n) : 0;
-
+
cc->max_entry = MAX (rval, gval);
cc->max_entry = MAX (cc->max_entry, bval);
-
+
count = 0;
clrs = cstart;
cc->num_colors = (rval + 1) * (gval + 1) * (bval + 1);
-
+
for (n = 0; n < cc->max_entry; n++)
{
dinc = (double) n / cc->max_entry;
-
+
clrs->red = rtable[(int) (dinc * rval)];
clrs->green = gtable[(int) (dinc * gval)];
clrs->blue = btable[(int) (dinc * bval)];
-
+
if (gdk_color_alloc (cc->colormap, clrs))
{
cc->clut[count++] = clrs->pixel;
@@ -400,25 +400,25 @@ retrydirect:
else
{
gdk_colors_free (cc->colormap, cc->clut, count, 0);
-
+
rval >>= 1;
gval >>= 1;
bval >>= 1;
-
+
cc->masks.red = (cc->masks.red >> 1) & cc->visual->red_mask;
cc->masks.green = (cc->masks.green >> 1) & cc->visual->green_mask;
cc->masks.blue = (cc->masks.blue >> 1) & cc->visual->blue_mask;
-
+
cc->shifts.red++;
cc->shifts.green++;
cc->shifts.blue++;
-
+
cc->bits.red--;
cc->bits.green--;
cc->bits.blue--;
-
+
cc->num_colors = (rval + 1) * (gval + 1) * (bval + 1);
-
+
if (cc->num_colors >1)
goto retrydirect;
else
@@ -430,13 +430,13 @@ retrydirect:
}
}
}
-
+
/* Update allocated color count; original num_colors is max_entry, which
* is not necessarily the same as the really allocated number of colors.
*/
-
+
cc->num_colors = count;
-
+
g_free (rtable);
g_free (gtable);
g_free (btable);
@@ -447,7 +447,7 @@ static void
init_palette (GdkColorContext *cc)
{
/* restore correct mode for this cc */
-
+
switch (cc->visual->type)
{
case GDK_VISUAL_STATIC_GRAY:
@@ -457,40 +457,40 @@ init_palette (GdkColorContext *cc)
else
cc->mode = GDK_CC_MODE_MY_GRAY;
break;
-
+
case GDK_VISUAL_TRUE_COLOR:
case GDK_VISUAL_DIRECT_COLOR:
cc->mode = GDK_CC_MODE_TRUE;
break;
-
+
case GDK_VISUAL_STATIC_COLOR:
case GDK_VISUAL_PSEUDO_COLOR:
cc->mode = GDK_CC_MODE_STD_CMAP;
break;
-
+
default:
cc->mode = GDK_CC_MODE_UNDEFINED;
break;
}
-
+
/* previous palette */
-
+
if (cc->num_palette)
g_free (cc->palette);
-
+
if (cc->fast_dither)
g_free (cc->fast_dither);
-
+
/* clear hash table if present */
-
+
if (cc->color_hash)
{
/* XXX: quick-and-dirty way to remove everything */
-
+
g_hash_table_destroy (cc->color_hash);
cc->color_hash = g_hash_table_new (hash_color, compare_colors);
}
-
+
cc->palette = NULL;
cc->num_palette = 0;
cc->fast_dither = NULL;
@@ -505,10 +505,10 @@ gdk_color_context_new (GdkVisual *visual,
GdkColorContext *cc;
gint retry_count;
GdkColormap *default_colormap;
-
+
g_assert (visual != NULL);
g_assert (colormap != NULL);
-
+
ccp = g_new (GdkColorContextPrivate, 1);
cc = (GdkColorContext *) ccp;
ccp->xdisplay = gdk_display;
@@ -518,16 +518,16 @@ gdk_color_context_new (GdkVisual *visual,
cc->cmap = NULL;
cc->mode = GDK_CC_MODE_UNDEFINED;
cc->need_to_free_colormap = FALSE;
-
+
cc->color_hash = NULL;
cc->palette = NULL;
cc->num_palette = 0;
cc->fast_dither = NULL;
-
+
default_colormap = gdk_colormap_get_system ();
-
+
retry_count = 0;
-
+
while (retry_count < 2)
{
/* Only create a private colormap if the visual found isn't equal
@@ -535,66 +535,66 @@ gdk_color_context_new (GdkVisual *visual,
* -or- if we are instructed to create a private colormap (which
* never is the case for XmHTML).
*/
-
+
if (use_private_colormap
|| ((cc->visual != gdk_visual_get_system ()) /* default visual? */
&& (GDK_COLORMAP_XCOLORMAP (colormap) == GDK_COLORMAP_XCOLORMAP (default_colormap))))
{
g_warning ("gdk_color_context_new: non-default visual detected, "
"using private colormap");
-
+
cc->colormap = gdk_colormap_new (cc->visual, FALSE);
-
+
cc->need_to_free_colormap = (GDK_COLORMAP_XCOLORMAP (colormap)
!= GDK_COLORMAP_XCOLORMAP (default_colormap));
}
-
+
switch (visual->type)
{
case GDK_VISUAL_STATIC_GRAY:
case GDK_VISUAL_GRAYSCALE:
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_new: visual class is %s\n",
- (visual->type == GDK_VISUAL_STATIC_GRAY) ?
- "GDK_VISUAL_STATIC_GRAY" :
- "GDK_VISUAL_GRAYSCALE"));
-
+ g_message ("gdk_color_context_new: visual class is %s\n",
+ (visual->type == GDK_VISUAL_STATIC_GRAY) ?
+ "GDK_VISUAL_STATIC_GRAY" :
+ "GDK_VISUAL_GRAYSCALE"));
+
if (GDK_VISUAL_XVISUAL (cc->visual)->map_entries == 2)
init_bw (cc);
else
init_gray (cc);
-
+
break;
-
+
case GDK_VISUAL_TRUE_COLOR: /* shifts */
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_new: visual class is GDK_VISUAL_TRUE_COLOR\n"));
-
+ g_message ("gdk_color_context_new: visual class is GDK_VISUAL_TRUE_COLOR\n"));
+
init_true_color (cc);
break;
-
+
case GDK_VISUAL_DIRECT_COLOR: /* shifts and fake CLUT */
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_new: visual class is GDK_VISUAL_DIRECT_COLOR\n"));
-
+ g_message ("gdk_color_context_new: visual class is GDK_VISUAL_DIRECT_COLOR\n"));
+
init_direct_color (cc);
break;
-
+
case GDK_VISUAL_STATIC_COLOR:
case GDK_VISUAL_PSEUDO_COLOR:
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_new: visual class is %s\n",
- (visual->type == GDK_VISUAL_STATIC_COLOR) ?
- "GDK_VISUAL_STATIC_COLOR" :
- "GDK_VISUAL_PSEUDO_COLOR"));
-
+ g_message ("gdk_color_context_new: visual class is %s\n",
+ (visual->type == GDK_VISUAL_STATIC_COLOR) ?
+ "GDK_VISUAL_STATIC_COLOR" :
+ "GDK_VISUAL_PSEUDO_COLOR"));
+
init_color (cc);
break;
-
+
default:
g_assert_not_reached ();
}
-
+
if ((cc->mode == GDK_CC_MODE_BW) && (cc->visual->depth > 1))
{
use_private_colormap = TRUE;
@@ -603,20 +603,20 @@ gdk_color_context_new (GdkVisual *visual,
else
break;
}
-
+
/* no. of colors allocated yet */
-
+
cc->num_allocated = 0;
-
+
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_new: screen depth is %i, no. of colors is %i\n",
- cc->visual->depth, cc->num_colors));
-
+ g_message ("gdk_color_context_new: screen depth is %i, no. of colors is %i\n",
+ cc->visual->depth, cc->num_colors));
+
/* check if we need to initialize a hash table */
-
+
if ((cc->mode == GDK_CC_MODE_STD_CMAP) || (cc->mode == GDK_CC_MODE_UNDEFINED))
cc->color_hash = g_hash_table_new (hash_color, compare_colors);
-
+
return (GdkColorContext *) cc;
}
@@ -626,10 +626,10 @@ gdk_color_context_new_mono (GdkVisual *visual,
{
GdkColorContextPrivate *ccp;
GdkColorContext *cc;
-
+
g_assert (visual != NULL);
g_assert (colormap != NULL);
-
+
cc = g_new (GdkColorContext, 1);
ccp = (GdkColorContextPrivate *) cc;
ccp->xdisplay = gdk_display;
@@ -639,9 +639,9 @@ gdk_color_context_new_mono (GdkVisual *visual,
cc->cmap = NULL;
cc->mode = GDK_CC_MODE_UNDEFINED;
cc->need_to_free_colormap = FALSE;
-
+
init_bw (cc);
-
+
return (GdkColorContext *) cc;
}
@@ -651,7 +651,7 @@ void
gdk_color_context_free (GdkColorContext *cc)
{
g_assert (cc != NULL);
-
+
if ((cc->visual->type == GDK_VISUAL_STATIC_COLOR)
|| (cc->visual->type == GDK_VISUAL_PSEUDO_COLOR))
{
@@ -663,17 +663,17 @@ gdk_color_context_free (GdkColorContext *cc)
gdk_colors_free (cc->colormap, cc->clut, cc->num_colors, 0);
g_free (cc->clut);
}
-
+
if (cc->cmap != NULL)
g_free (cc->cmap);
-
+
if (cc->need_to_free_colormap)
gdk_colormap_unref (cc->colormap);
-
+
/* free any palette that has been associated with this GdkColorContext */
-
+
init_palette (cc);
-
+
if (cc->color_hash)
{
g_hash_table_foreach (cc->color_hash,
@@ -681,7 +681,7 @@ gdk_color_context_free (GdkColorContext *cc)
NULL);
g_hash_table_destroy (cc->color_hash);
}
-
+
g_free (cc);
}
@@ -695,146 +695,146 @@ gdk_color_context_get_pixel (GdkColorContext *cc,
GdkColorContextPrivate *ccp = (GdkColorContextPrivate *) cc;
g_assert (cc != NULL);
g_assert (failed != NULL);
-
+
*failed = FALSE;
-
+
switch (cc->mode)
{
case GDK_CC_MODE_BW:
- {
- gdouble value;
-
- value = (red / 65535.0 * 0.30
- + green / 65535.0 * 0.59
- + blue / 65535.0 * 0.11);
-
- if (value > 0.5)
- return cc->white_pixel;
-
- return cc->black_pixel;
- }
-
+ {
+ gdouble value;
+
+ value = (red / 65535.0 * 0.30
+ + green / 65535.0 * 0.59
+ + blue / 65535.0 * 0.11);
+
+ if (value > 0.5)
+ return cc->white_pixel;
+
+ return cc->black_pixel;
+ }
+
case GDK_CC_MODE_MY_GRAY:
- {
- gulong ired, igreen, iblue;
-
- red = red * 0.30 + green * 0.59 + blue * 0.11;
- green = 0;
- blue = 0;
-
- if ((ired = red * (ccp->std_cmap.red_max + 1) / 0xffff) > ccp->std_cmap.red_max)
- ired = ccp->std_cmap.red_max;
-
- ired *= ccp->std_cmap.red_mult;
-
- if ((igreen = green * (ccp->std_cmap.green_max + 1) / 0xffff) > ccp->std_cmap.green_max)
- igreen = ccp->std_cmap.green_max;
-
- igreen *= ccp->std_cmap.green_mult;
-
- if ((iblue = blue * (ccp->std_cmap.blue_max + 1) / 0xffff) > ccp->std_cmap.blue_max)
- iblue = ccp->std_cmap.blue_max;
-
- iblue *= ccp->std_cmap.blue_mult;
-
- if (cc->clut != NULL)
- return cc->clut[ccp->std_cmap.base_pixel + ired + igreen + iblue];
-
- return ccp->std_cmap.base_pixel + ired + igreen + iblue;
- }
-
+ {
+ gulong ired, igreen, iblue;
+
+ red = red * 0.30 + green * 0.59 + blue * 0.11;
+ green = 0;
+ blue = 0;
+
+ if ((ired = red * (ccp->std_cmap.red_max + 1) / 0xffff) > ccp->std_cmap.red_max)
+ ired = ccp->std_cmap.red_max;
+
+ ired *= ccp->std_cmap.red_mult;
+
+ if ((igreen = green * (ccp->std_cmap.green_max + 1) / 0xffff) > ccp->std_cmap.green_max)
+ igreen = ccp->std_cmap.green_max;
+
+ igreen *= ccp->std_cmap.green_mult;
+
+ if ((iblue = blue * (ccp->std_cmap.blue_max + 1) / 0xffff) > ccp->std_cmap.blue_max)
+ iblue = ccp->std_cmap.blue_max;
+
+ iblue *= ccp->std_cmap.blue_mult;
+
+ if (cc->clut != NULL)
+ return cc->clut[ccp->std_cmap.base_pixel + ired + igreen + iblue];
+
+ return ccp->std_cmap.base_pixel + ired + igreen + iblue;
+ }
+
case GDK_CC_MODE_TRUE:
- {
- gulong ired, igreen, iblue;
-
- if (cc->clut == NULL)
- {
- red >>= 16 - cc->bits.red;
- green >>= 16 - cc->bits.green;
- blue >>= 16 - cc->bits.blue;
-
- ired = (red << cc->shifts.red) & cc->masks.red;
- igreen = (green << cc->shifts.green) & cc->masks.green;
- iblue = (blue << cc->shifts.blue) & cc->masks.blue;
-
- return ired | igreen | iblue;
- }
-
- ired = cc->clut[red * cc->max_entry / 65535] & cc->masks.red;
- igreen = cc->clut[green * cc->max_entry / 65535] & cc->masks.green;
- iblue = cc->clut[blue * cc->max_entry / 65535] & cc->masks.blue;
-
- return ired | igreen | iblue;
- }
-
+ {
+ gulong ired, igreen, iblue;
+
+ if (cc->clut == NULL)
+ {
+ red >>= 16 - cc->bits.red;
+ green >>= 16 - cc->bits.green;
+ blue >>= 16 - cc->bits.blue;
+
+ ired = (red << cc->shifts.red) & cc->masks.red;
+ igreen = (green << cc->shifts.green) & cc->masks.green;
+ iblue = (blue << cc->shifts.blue) & cc->masks.blue;
+
+ return ired | igreen | iblue;
+ }
+
+ ired = cc->clut[red * cc->max_entry / 65535] & cc->masks.red;
+ igreen = cc->clut[green * cc->max_entry / 65535] & cc->masks.green;
+ iblue = cc->clut[blue * cc->max_entry / 65535] & cc->masks.blue;
+
+ return ired | igreen | iblue;
+ }
+
case GDK_CC_MODE_PALETTE:
return gdk_color_context_get_pixel_from_palette (cc, &red, &green, &blue, failed);
-
+
case GDK_CC_MODE_STD_CMAP:
default:
- {
- GdkColor color;
- GdkColor *result;
-
- color.red = red;
- color.green = green;
- color.blue = blue;
-
- result = g_hash_table_lookup (cc->color_hash, &color);
-
- if (!result)
- {
- color.red = red;
- color.green = green;
- color.blue = blue;
- color.pixel = 0;
-
- if (!gdk_color_alloc (cc->colormap, &color))
- *failed = TRUE;
- else
- {
- GdkColor *cnew;
-
- /* XXX: the following comment comes directly from
- * XCC.c. I don't know if it is relevant for
- * gdk_color_alloc() as it is for XAllocColor()
- * - Federico
- */
- /*
- * I can't figure this out entirely, but it *is* possible
- * that XAllocColor succeeds, even if the number of
- * allocations we've made exceeds the number of available
- * colors in the current colormap. And therefore it
- * might be necessary for us to resize the CLUT.
- */
-
- if (cc->num_allocated == cc->max_colors)
- {
- cc->max_colors *= 2;
-
- GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_get_pixel: "
- "resizing CLUT to %i entries\n",
- cc->max_colors));
-
- cc->clut = g_realloc (cc->clut,
- cc->max_colors * sizeof (gulong));
- }
-
- /* Key and value are the same color structure */
-
- cnew = g_new (GdkColor, 1);
- *cnew = color;
- g_hash_table_insert (cc->color_hash, cnew, cnew);
-
- cc->clut[cc->num_allocated] = color.pixel;
- cc->num_allocated++;
- return color.pixel;
- }
- }
-
- return result->pixel;
- }
+ {
+ GdkColor color;
+ GdkColor *result;
+
+ color.red = red;
+ color.green = green;
+ color.blue = blue;
+
+ result = g_hash_table_lookup (cc->color_hash, &color);
+
+ if (!result)
+ {
+ color.red = red;
+ color.green = green;
+ color.blue = blue;
+ color.pixel = 0;
+
+ if (!gdk_color_alloc (cc->colormap, &color))
+ *failed = TRUE;
+ else
+ {
+ GdkColor *cnew;
+
+ /* XXX: the following comment comes directly from
+ * XCC.c. I don't know if it is relevant for
+ * gdk_color_alloc() as it is for XAllocColor()
+ * - Federico
+ */
+ /*
+ * I can't figure this out entirely, but it *is* possible
+ * that XAllocColor succeeds, even if the number of
+ * allocations we've made exceeds the number of available
+ * colors in the current colormap. And therefore it
+ * might be necessary for us to resize the CLUT.
+ */
+
+ if (cc->num_allocated == cc->max_colors)
+ {
+ cc->max_colors *= 2;
+
+ GDK_NOTE (COLOR_CONTEXT,
+ g_message ("gdk_color_context_get_pixel: "
+ "resizing CLUT to %i entries\n",
+ cc->max_colors));
+
+ cc->clut = g_realloc (cc->clut,
+ cc->max_colors * sizeof (gulong));
+ }
+
+ /* Key and value are the same color structure */
+
+ cnew = g_new (GdkColor, 1);
+ *cnew = color;
+ g_hash_table_insert (cc->color_hash, cnew, cnew);
+
+ cc->clut[cc->num_allocated] = color.pixel;
+ cc->num_allocated++;
+ return color.pixel;
+ }
+ }
+
+ return result->pixel;
+ }
}
}
@@ -861,37 +861,37 @@ gdk_color_context_get_pixels (GdkColorContext *cc,
g_assert (blues != NULL);
g_assert (colors != NULL);
g_assert (nallocated != NULL);
-
+
memset (defs, 0, MAX_IMAGE_COLORS * sizeof (GdkColor));
memset (failed, 0, MAX_IMAGE_COLORS * sizeof (gint));
memset (allocated, 0, MAX_IMAGE_COLORS * sizeof (gint));
-
+
/* Will only have a value if used by the progressive image loader */
-
+
ncols = *nallocated;
-
+
*nallocated = 0;
-
+
/* First allocate all pixels */
-
+
for (i = 0; i < ncolors; i++)
{
/* colors[i] is only zero if the pixel at that location hasn't
* been allocated yet. This is a sanity check required for proper
* color allocation by the progressive image loader
*/
-
+
if (colors[i] == 0)
{
defs[i].red = reds[i];
defs[i].green = greens[i];
defs[i].blue = blues[i];
-
+
colors[i] = gdk_color_context_get_pixel (cc, reds[i], greens[i], blues[i],
&bad_alloc);
-
+
/* successfully allocated, store it */
-
+
if (!bad_alloc)
{
defs[i].pixel = colors[i];
@@ -901,114 +901,114 @@ gdk_color_context_get_pixels (GdkColorContext *cc,
failed[nopen++] = i;
}
}
-
+
*nallocated = ncols;
-
+
/* all colors available, all done */
-
+
if ((ncols == ncolors) || (nopen == 0))
{
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_get_pixels: got all %i colors; "
- "(%i colors allocated so far)\n", ncolors, cc->num_allocated));
-
+ g_message ("gdk_color_context_get_pixels: got all %i colors; "
+ "(%i colors allocated so far)\n", ncolors, cc->num_allocated));
+
return;
}
-
+
/* The fun part. We now try to allocate the colors we couldn't allocate
* directly. The first step will map a color onto its nearest color
* that has been allocated (either by us or someone else). If any colors
* remain unallocated, we map these onto the colors that we have allocated
* ourselves.
*/
-
+
/* read up to MAX_IMAGE_COLORS colors of the current colormap */
-
+
cmapsize = MIN (cc->num_colors, MAX_IMAGE_COLORS);
-
+
/* see if the colormap has any colors to read */
-
+
if (cmapsize < 0)
{
g_warning ("gdk_color_context_get_pixels: oops! no colors available, "
"your images will look *really* ugly.");
-
+
return;
}
-
+
#ifdef G_ENABLE_DEBUG
exact_col = ncols;
#endif
-
+
/* initialize pixels */
-
+
for (i = 0; i < cmapsize; i++)
{
cmap[i].pixel = i;
cmap[i].red = cmap[i].green = cmap[i].blue = 0;
}
-
+
/* read the colormap */
-
+
my_x_query_colors (cc->colormap, cmap, cmapsize);
-
+
/* get a close match for any unallocated colors */
-
+
counter = nopen;
nopen = 0;
idx = 0;
-
+
do
{
gint d, j, mdist, close, ri, gi, bi;
gint rd, gd, bd;
-
+
i = failed[idx];
-
+
mdist = 0x1000000;
close = -1;
-
+
/* Store these vals. Small performance increase as this skips three
* indexing operations in the loop code.
*/
-
+
ri = reds[i];
gi = greens[i];
bi = blues[i];
-
+
/* Walk all colors in the colormap and see which one is the
* closest. Uses plain least squares.
*/
-
+
for (j = 0; (j < cmapsize) && (mdist != 0); j++)
{
/* Don't replace these by shifts; the sign may get clobbered */
-
+
rd = (ri - cmap[j].red) / 256;
gd = (gi - cmap[j].green) / 256;
bd = (bi - cmap[j].blue) / 256;
-
+
d = rd * rd + gd * gd + bd * bd;
-
+
if (d < mdist)
{
close = j;
mdist = d;
}
}
-
+
if (close != -1)
{
rd = cmap[close].red;
gd = cmap[close].green;
bd = cmap[close].blue;
-
+
/* allocate */
-
+
colors[i] = gdk_color_context_get_pixel (cc, rd, gd, bd, &bad_alloc);
-
+
/* store */
-
+
if (!bad_alloc)
{
defs[i] = cmap[close];
@@ -1024,68 +1024,68 @@ gdk_color_context_get_pixels (GdkColorContext *cc,
/* deal with in next stage if allocation failed */
}
while (++idx < counter);
-
+
*nallocated = ncols;
-
+
/* This is the maximum no. of allocated colors. See also the nopen == 0
* note above.
*/
-
+
if ((ncols == ncolors) || (nopen == 0))
{
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_get_pixels: got %i colors, %i exact and "
- "%i close (%i colors allocated so far)\n",
- ncolors, exact_col, close_col, cc->num_allocated));
-
+ g_message ("gdk_color_context_get_pixels: got %i colors, %i exact and "
+ "%i close (%i colors allocated so far)\n",
+ ncolors, exact_col, close_col, cc->num_allocated));
+
return;
}
-
+
/* Now map any remaining unallocated pixels into the colors we did get */
-
+
idx = 0;
-
+
do
{
gint d, mdist, close, ri, gi, bi;
gint j, rd, gd, bd;
-
+
i = failed[idx];
-
+
mdist = 0x1000000;
close = -1;
-
+
/* store */
-
+
ri = reds[i];
gi = greens[i];
bi = blues[i];
-
+
/* search allocated colors */
-
+
for (j = 0; (j < ncols) && (mdist != 0); j++)
{
k = allocated[j];
-
+
/* Don't replace these by shifts; the sign may get clobbered */
-
+
rd = (ri - defs[k].red) / 256;
gd = (gi - defs[k].green) / 256;
bd = (bi - defs[k].blue) / 256;
-
+
d = rd * rd + gd * gd + bd * bd;
-
+
if (d < mdist)
{
close = k;
mdist = d;
}
}
-
+
if (close < 0)
{
/* too bad, map to black */
-
+
defs[i].pixel = cc->black_pixel;
defs[i].red = defs[i].green = defs[i].blue = 0;
#ifdef G_ENABLE_DEBUG
@@ -1099,15 +1099,15 @@ gdk_color_context_get_pixels (GdkColorContext *cc,
subst_col++;
#endif
}
-
+
colors[i] = defs[i].pixel;
}
while (++idx < nopen);
-
+
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_get_pixels: got %i colors, %i exact, %i close, "
- "%i substituted, %i to black (%i colors allocated so far)\n",
- ncolors, exact_col, close_col, subst_col, black_col, cc->num_allocated));
+ g_message ("gdk_color_context_get_pixels: got %i colors, %i exact, %i close, "
+ "%i substituted, %i to black (%i colors allocated so far)\n",
+ ncolors, exact_col, close_col, subst_col, black_col, cc->num_allocated));
}
void
@@ -1128,7 +1128,7 @@ gdk_color_context_get_pixels_incremental (GdkColorContext *cc,
#ifdef G_ENABLE_DEBUG
gint exact_col = 0, subst_col = 0, close_col = 0, black_col = 0;
#endif
-
+
g_assert (cc != NULL);
g_assert (reds != NULL);
g_assert (greens != NULL);
@@ -1136,19 +1136,19 @@ gdk_color_context_get_pixels_incremental (GdkColorContext *cc,
g_assert (used != NULL);
g_assert (colors != NULL);
g_assert (nallocated != NULL);
-
+
memset (defs, 0, MAX_IMAGE_COLORS * sizeof (GdkColor));
memset (failed, 0, MAX_IMAGE_COLORS * sizeof (gint));
memset (allocated, 0, MAX_IMAGE_COLORS * sizeof (gint));
-
+
/* Will only have a value if used by the progressive image loader */
-
+
ncols = *nallocated;
-
+
*nallocated = 0;
-
+
/* First allocate all pixels */
-
+
for (i = 0; i < ncolors; i++)
{
/* used[i] is only -1 if the pixel at that location hasn't
@@ -1157,7 +1157,7 @@ gdk_color_context_get_pixels_incremental (GdkColorContext *cc,
* When colors[i] == 0 it indicates the slot is available for
* allocation.
*/
-
+
if (used[i] != FALSE)
{
if (colors[i] == 0)
@@ -1165,11 +1165,11 @@ gdk_color_context_get_pixels_incremental (GdkColorContext *cc,
defs[i].red = reds[i];
defs[i].green = greens[i];
defs[i].blue = blues[i];
-
+
colors[i] = gdk_color_context_get_pixel (cc, reds[i], greens[i], blues[i], &bad_alloc);
-
+
/* successfully allocated, store it */
-
+
if (!bad_alloc)
{
defs[i].pixel = colors[i];
@@ -1181,100 +1181,100 @@ gdk_color_context_get_pixels_incremental (GdkColorContext *cc,
#ifdef DEBUG
else
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_get_pixels_incremental: "
- "pixel at slot %i already allocated, skipping\n", i));
+ g_message ("gdk_color_context_get_pixels_incremental: "
+ "pixel at slot %i already allocated, skipping\n", i));
#endif
}
}
-
+
*nallocated = ncols;
-
+
if ((ncols == ncolors) || (nopen == 0))
{
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_get_pixels_incremental: got all %i colors "
- "(%i colors allocated so far)\n",
- ncolors, cc->num_allocated));
-
+ g_message ("gdk_color_context_get_pixels_incremental: got all %i colors "
+ "(%i colors allocated so far)\n",
+ ncolors, cc->num_allocated));
+
return;
}
-
+
cmapsize = MIN (cc->num_colors, MAX_IMAGE_COLORS);
-
+
if (cmapsize < 0)
{
g_warning ("gdk_color_context_get_pixels_incremental: oops! "
"No colors available images will look *really* ugly.");
return;
}
-
+
#ifdef G_ENABLE_DEBUG
exact_col = ncols;
#endif
-
+
/* initialize pixels */
-
+
for (i = 0; i < cmapsize; i++)
{
cmap[i].pixel = i;
cmap[i].red = cmap[i].green = cmap[i].blue = 0;
}
-
+
/* read */
-
+
my_x_query_colors (cc->colormap, cmap, cmapsize);
-
+
/* now match any unallocated colors */
-
+
counter = nopen;
nopen = 0;
idx = 0;
-
+
do
{
gint d, j, mdist, close, ri, gi, bi;
gint rd, gd, bd;
-
+
i = failed[idx];
-
+
mdist = 0x1000000;
close = -1;
-
+
/* store */
-
+
ri = reds[i];
gi = greens[i];
bi = blues[i];
-
+
for (j = 0; (j < cmapsize) && (mdist != 0); j++)
{
/* Don't replace these by shifts; the sign may get clobbered */
-
+
rd = (ri - cmap[j].red) / 256;
gd = (gi - cmap[j].green) / 256;
bd = (bi - cmap[j].blue) / 256;
-
+
d = rd * rd + gd * gd + bd * bd;
-
+
if (d < mdist)
{
close = j;
mdist = d;
}
}
-
+
if (close != -1)
{
rd = cmap[close].red;
gd = cmap[close].green;
bd = cmap[close].blue;
-
+
/* allocate */
-
+
colors[i] = gdk_color_context_get_pixel (cc, rd, gd, bd, &bad_alloc);
-
+
/* store */
-
+
if (!bad_alloc)
{
defs[i] = cmap[close];
@@ -1292,64 +1292,64 @@ gdk_color_context_get_pixels_incremental (GdkColorContext *cc,
/* deal with in next stage if allocation failed */
}
while (++idx < counter);
-
+
*nallocated = ncols;
-
+
if ((ncols == ncolors) || (nopen == 0))
{
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_get_pixels_incremental: "
- "got %i colors, %i exact and %i close "
- "(%i colors allocated so far)\n",
- ncolors, exact_col, close_col, cc->num_allocated));
-
+ g_message ("gdk_color_context_get_pixels_incremental: "
+ "got %i colors, %i exact and %i close "
+ "(%i colors allocated so far)\n",
+ ncolors, exact_col, close_col, cc->num_allocated));
+
return;
}
-
+
/* map remaining unallocated pixels into colors we did get */
-
+
idx = 0;
-
+
do
{
gint d, mdist, close, ri, gi, bi;
gint j, rd, gd, bd;
-
+
i = failed[idx];
-
+
mdist = 0x1000000;
close = -1;
-
+
ri = reds[i];
gi = greens[i];
bi = blues[i];
-
+
/* search allocated colors */
-
+
for (j = 0; (j < ncols) && (mdist != 0); j++)
{
k = allocated[j];
-
+
/* downscale */
/* Don't replace these by shifts; the sign may get clobbered */
-
+
rd = (ri - defs[k].red) / 256;
gd = (gi - defs[k].green) / 256;
bd = (bi - defs[k].blue) / 256;
-
+
d = rd * rd + gd * gd + bd * bd;
-
+
if (d < mdist)
{
close = k;
mdist = d;
}
}
-
+
if (close < 0)
{
/* too bad, map to black */
-
+
defs[i].pixel = cc->black_pixel;
defs[i].red = defs[i].green = defs[i].blue = 0;
#ifdef G_ENABLE_DEBUG
@@ -1363,16 +1363,16 @@ gdk_color_context_get_pixels_incremental (GdkColorContext *cc,
subst_col++;
#endif
}
-
+
colors[i] = defs[i].pixel;
}
while (++idx < nopen);
-
+
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_get_pixels_incremental: "
- "got %i colors, %i exact, %i close, %i substituted, %i to black "
- "(%i colors allocated so far)\n",
- ncolors, exact_col, close_col, subst_col, black_col, cc->num_allocated));
+ g_message ("gdk_color_context_get_pixels_incremental: "
+ "got %i colors, %i exact, %i close, %i substituted, %i to black "
+ "(%i colors allocated so far)\n",
+ ncolors, exact_col, close_col, subst_col, black_col, cc->num_allocated));
}
gint
@@ -1389,10 +1389,10 @@ gdk_color_context_query_colors (GdkColorContext *cc,
{
gint i;
GdkColor *tc;
-
+
g_assert (cc != NULL);
g_assert (colors != NULL);
-
+
switch (cc->mode)
{
case GDK_CC_MODE_BW:
@@ -1404,7 +1404,7 @@ gdk_color_context_query_colors (GdkColorContext *cc,
tc->red = tc->green = tc->blue = 0;
}
break;
-
+
case GDK_CC_MODE_TRUE:
if (cc->clut == NULL)
for (i = 0, tc = colors; i < num_colors; i++, tc++)
@@ -1419,7 +1419,7 @@ gdk_color_context_query_colors (GdkColorContext *cc,
return 1;
}
break;
-
+
case GDK_CC_MODE_STD_CMAP:
default:
if (cc->cmap == NULL)
@@ -1431,17 +1431,17 @@ gdk_color_context_query_colors (GdkColorContext *cc,
{
gint first, last, half;
gulong half_pixel;
-
+
for (i = 0, tc = colors; i < num_colors; i++)
{
first = 0;
last = cc->num_colors - 1;
-
+
while (first <= last)
{
half = (first + last) / 2;
half_pixel = cc->cmap[half].pixel;
-
+
if (tc->pixel == half_pixel)
{
tc->red = cc->cmap[half].red;
@@ -1473,94 +1473,94 @@ gdk_color_context_add_palette (GdkColorContext *cc,
gint i, j, erg;
gushort r, g, b;
gulong pixel[1];
-
+
g_assert (cc != NULL);
-
+
/* initialize this palette (will also erase previous palette as well) */
-
+
init_palette (cc);
-
+
/* restore previous mode if we aren't adding a new palette */
-
+
if (num_palette == 0)
{
/* GDK_CC_MODE_STD_CMAP uses a hash table, so we'd better initialize one */
-
+
/* XXX: here, the hash table is already initialized */
-
+
return 0;
}
-
+
/* Initialize a hash table for this palette (we need one for allocating
* the pixels in the palette using the current settings)
*/
-
+
if (cc->color_hash == NULL)
cc->color_hash = g_hash_table_new (hash_color, compare_colors);
-
+
/* copy incoming palette */
-
+
cc->palette = g_new0(GdkColor, num_palette);
-
+
j = 0;
-
+
for (i = 0; i < num_palette; i++)
{
erg = 0;
pixel[0] = 0;
-
+
/* try to allocate this color */
-
+
r = palette[i].red;
g = palette[i].green;
b = palette[i].blue;
-
+
gdk_color_context_get_pixels (cc, &r, &g, &b, 1, pixel, &erg);
-
+
/* only store if we succeed */
-
+
if (erg)
{
/* store in palette */
-
+
cc->palette[j].red = r;
cc->palette[j].green = g;
cc->palette[j].blue = b;
cc->palette[j].pixel = pixel[0];
-
+
/* move to next slot */
-
+
j++;
}
}
-
+
/* resize to fit */
-
+
if (j != num_palette)
cc->palette = g_realloc (cc->palette, j * sizeof (GdkColor));
-
+
/* clear the hash table, we don't use it when dithering */
-
+
if (cc->color_hash)
{
g_hash_table_destroy (cc->color_hash);
cc->color_hash = NULL;
}
-
+
/* store real palette size */
-
+
cc->num_palette = j;
-
+
/* switch to palette mode */
-
+
cc->mode = GDK_CC_MODE_PALETTE;
-
+
/* sort palette */
-
+
qsort (cc->palette, cc->num_palette, sizeof (GdkColor), pixel_sort);
-
+
cc->fast_dither = NULL;
-
+
return j;
}
@@ -1569,17 +1569,17 @@ gdk_color_context_init_dither (GdkColorContext *cc)
{
gint rr, gg, bb, err, erg, erb;
gint success = FALSE;
-
+
g_assert (cc != NULL);
-
+
/* now we can initialize the fast dither matrix */
-
+
if (cc->fast_dither == NULL)
cc->fast_dither = g_new (GdkColorContextDither, 1);
-
+
/* Fill it. We ignore unsuccessful allocations, they are just mapped
* to black instead */
-
+
for (rr = 0; rr < 32; rr++)
for (gg = 0; gg < 32; gg++)
for (bb = 0; bb < 32; bb++)
@@ -1587,7 +1587,7 @@ gdk_color_context_init_dither (GdkColorContext *cc)
err = (rr << 3) | (rr >> 2);
erg = (gg << 3) | (gg >> 2);
erb = (bb << 3) | (bb >> 2);
-
+
cc->fast_dither->fast_rgb[rr][gg][bb] =
gdk_color_context_get_index_from_palette (cc, &err, &erg, &erb, &success);
cc->fast_dither->fast_err[rr][gg][bb] = err;
@@ -1600,10 +1600,10 @@ void
gdk_color_context_free_dither (GdkColorContext *cc)
{
g_assert (cc != NULL);
-
+
if (cc->fast_dither)
g_free (cc->fast_dither);
-
+
cc->fast_dither = NULL;
}
@@ -1619,23 +1619,23 @@ gdk_color_context_get_pixel_from_palette (GdkColorContext *cc,
gint mindif = 0x7fffffff;
gint err = 0, erg = 0, erb = 0;
gint i;
-
+
g_assert (cc != NULL);
g_assert (red != NULL);
g_assert (green != NULL);
g_assert (blue != NULL);
g_assert (failed != NULL);
-
+
*failed = FALSE;
-
+
for (i = 0; i < cc->num_palette; i++)
{
dr = *red - cc->palette[i].red;
dg = *green - cc->palette[i].green;
db = *blue - cc->palette[i].blue;
-
+
dif = dr * dr + dg * dg + db * db;
-
+
if (dif < mindif)
{
mindif = dif;
@@ -1644,14 +1644,14 @@ gdk_color_context_get_pixel_from_palette (GdkColorContext *cc,
err = dr;
erg = dg;
erb = db;
-
+
if (mindif == 0)
break;
}
}
-
+
/* we failed to map onto a color */
-
+
if (j == -1)
*failed = TRUE;
else
@@ -1660,7 +1660,7 @@ gdk_color_context_get_pixel_from_palette (GdkColorContext *cc,
*green = ABS (erg);
*blue = ABS (erb);
}
-
+
return pixel;
}
@@ -1675,23 +1675,23 @@ gdk_color_context_get_index_from_palette (GdkColorContext *cc,
gint mindif = 0x7fffffff;
gint err = 0, erg = 0, erb = 0;
gint i;
-
+
g_assert (cc != NULL);
g_assert (red != NULL);
g_assert (green != NULL);
g_assert (blue != NULL);
g_assert (failed != NULL);
-
+
*failed = FALSE;
-
+
for (i = 0; i < cc->num_palette; i++)
{
dr = *red - cc->palette[i].red;
dg = *green - cc->palette[i].green;
db = *blue - cc->palette[i].blue;
-
+
dif = dr * dr + dg * dg + db * db;
-
+
if (dif < mindif)
{
mindif = dif;
@@ -1699,14 +1699,14 @@ gdk_color_context_get_index_from_palette (GdkColorContext *cc,
err = dr;
erg = dg;
erb = db;
-
+
if (mindif == 0)
break;
}
}
-
+
/* we failed to map onto a color */
-
+
if (j == -1)
{
*failed = TRUE;
@@ -1715,11 +1715,11 @@ gdk_color_context_get_index_from_palette (GdkColorContext *cc,
else
{
/* return error fractions */
-
+
*red = err;
*green = erg;
*blue = erb;
}
-
+
return j;
}
diff --git a/gdk/gdkdnd.c b/gdk/gdkdnd.c
index 6a74022c55..331aad7ef7 100644
--- a/gdk/gdkdnd.c
+++ b/gdk/gdkdnd.c
@@ -1,3 +1,21 @@
+/* GDK - The GIMP Drawing Kit
+ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
#include <X11/Xlib.h>
#include <X11/Xatom.h>
#include <string.h>
@@ -12,7 +30,7 @@ gdk_dnd_set_drag_cursors(GdkCursor *default_cursor, GdkCursor *goahead_cursor)
gdk_dnd.c->gdk_cursor_dragdefault =
((GdkCursorPrivate *)default_cursor)->xcursor;
gdk_dnd.c->gdk_cursor_dragok = ((GdkCursorPrivate *)goahead_cursor)->xcursor;
-
+
if(gdk_dnd.dnd_grabbed)
{
if(gdk_dnd.c->drag_pm_default)
@@ -42,7 +60,7 @@ gdk_dnd_set_drag_shape(GdkWindow *default_pixmapwin,
GdkPoint *goahead_hotspot)
{
g_return_if_fail(default_pixmapwin != NULL);
-
+
g_list_free(gdk_dnd.c->xids); gdk_dnd.c->xids = NULL;
if(gdk_dnd.c->drag_pm_default)
{
@@ -54,9 +72,9 @@ gdk_dnd_set_drag_shape(GdkWindow *default_pixmapwin,
gdk_window_hide(gdk_dnd.c->drag_pm_ok);
gdk_window_unref(gdk_dnd.c->drag_pm_ok);
}
-
+
gdk_dnd.c->drag_pm_ok = NULL;
-
+
gdk_window_ref(default_pixmapwin);
gdk_dnd.c->drag_pm_default = default_pixmapwin;
gdk_dnd.c->default_hotspot = *default_hotspot;
@@ -68,7 +86,7 @@ gdk_dnd_set_drag_shape(GdkWindow *default_pixmapwin,
gdk_dnd.c->drag_pm_ok = goahead_pixmapwin;
gdk_dnd.c->ok_hotspot = *goahead_hotspot;
}
-
+
if(gdk_dnd.dnd_grabbed)
{
gdk_dnd_display_drag_cursor(-1, -1,
@@ -90,7 +108,7 @@ gdk_dnd_display_drag_cursor(gint x, gint y, gboolean drag_ok,
{
if(!gdk_dnd.dnd_grabbed)
return;
-
+
if(gdk_dnd.c->drag_pm_default)
{
/* We're doing pixmaps here... */
@@ -99,29 +117,29 @@ gdk_dnd_display_drag_cursor(gint x, gint y, gboolean drag_ok,
gint itmp;
guint masktmp;
Window wtmp;
-
+
if(x == -2 && y == -2) /* Hide the cursors */
{
gdk_window_hide(gdk_dnd.c->drag_pm_ok);
gdk_window_hide(gdk_dnd.c->drag_pm_default);
- GDK_NOTE(DND, g_print("Hiding both drag cursors\n"));
+ GDK_NOTE(DND, g_message("Hiding both drag cursors\n"));
return;
}
-
+
if(x == -1 && y == -1) /* We're supposed to find it out for ourselves */
XQueryPointer(gdk_display, gdk_root_window,
&wtmp, &wtmp, &x, &y, &itmp, &itmp, &masktmp);
-
+
if(drag_ok)
{
- GDK_NOTE(DND, g_print("Switching to drag_ok cursor\n"));
+ GDK_NOTE(DND, g_message("Switching to drag_ok cursor\n"));
mypix = gdk_dnd.c->drag_pm_ok;
opix = gdk_dnd.c->drag_pm_default;
myhotspot = &gdk_dnd.c->ok_hotspot;
}
else
{
- GDK_NOTE(DND, g_print("Switching to drag_default cursor\n"));
+ GDK_NOTE(DND, g_message("Switching to drag_default cursor\n"));
mypix = gdk_dnd.c->drag_pm_default;
opix = gdk_dnd.c->drag_pm_ok;
myhotspot = &gdk_dnd.c->default_hotspot;
@@ -129,7 +147,7 @@ gdk_dnd_display_drag_cursor(gint x, gint y, gboolean drag_ok,
gdk_window_move(mypix, x - myhotspot->x, y - myhotspot->y);
if(change_made)
{
- GDK_NOTE(DND, g_print("Cursors switched, hide & show\n"));
+ GDK_NOTE(DND, g_message("Cursors switched, hide & show\n"));
gdk_window_hide(opix);
}
gdk_window_move(mypix, x - myhotspot->x, y - myhotspot->y);
diff --git a/gdk/gdkfont.c b/gdk/gdkfont.c
index 1b37930a73..cc1274a0d6 100644
--- a/gdk/gdkfont.c
+++ b/gdk/gdkfont.c
@@ -72,9 +72,9 @@ gdk_fontset_load (gchar *fontset_name)
if (missing_charset_count)
{
gint i;
- g_print ("Missing charsets in FontSet creation\n");
+ g_message ("Missing charsets in FontSet creation\n");
for (i=0;i<missing_charset_count;i++)
- g_print (" %s\n", missing_charset_list[i]);
+ g_message (" %s\n", missing_charset_list[i]);
XFreeStringList (missing_charset_list);
}
diff --git a/gdk/gdkvisual.c b/gdk/gdkvisual.c
index e7bf1648cc..693020ef61 100644
--- a/gdk/gdkvisual.c
+++ b/gdk/gdkvisual.c
@@ -211,9 +211,9 @@ gdk_visual_init (void)
#ifdef G_ENABLE_DEBUG
if (gdk_debug_flags & GDK_DEBUG_MISC)
for (i = 0; i < nvisuals; i++)
- g_print ("Gdk: visual: %s: %d\n",
- visual_names[visuals[i].visual.type],
- visuals[i].visual.depth);
+ g_message ("visual: %s: %d",
+ visual_names[visuals[i].visual.type],
+ visuals[i].visual.depth);
#endif /* G_ENABLE_DEBUG */
navailable_depths = 0;
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 5c1feb2e3a..8c8623d4b0 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -407,7 +407,7 @@ gdk_window_new (GdkWindow *parent,
(private->colormap != gdk_colormap_get_system ()) &&
(private->colormap != gdk_window_get_colormap (gdk_window_get_toplevel (window))))
{
- GDK_NOTE (MISC, g_print ("adding colormap window\n"));
+ GDK_NOTE (MISC, g_message ("adding colormap window\n"));
gdk_window_add_colormap_windows (window);
}
@@ -1771,7 +1771,7 @@ gdk_window_dnd_data_set (GdkWindow *window,
data_numbytes);
tmp = gdk_atom_name(window_private->dnd_drag_data_type);
#ifdef DEBUG_DND
- g_print("DnD type %s on window %ld\n", tmp, window_private->xwindow);
+ g_message("DnD type %s on window %ld\n", tmp, window_private->xwindow);
#endif
g_free(tmp);
@@ -1801,9 +1801,8 @@ gdk_window_dnd_data_set (GdkWindow *window,
if (!gdk_send_xevent (event->dragrequest.requestor, False,
StructureNotifyMask, &sev))
- GDK_NOTE (DND, g_print("Sending XdeDataAvailable to %#x failed\n",
- event->dragrequest.requestor));
-
+ GDK_NOTE (DND, g_message("Sending XdeDataAvailable to %#x failed\n",
+ event->dragrequest.requestor));
}
void
diff --git a/gdk/x11/gdkcc-x11.c b/gdk/x11/gdkcc-x11.c
index 12631a0772..df7c0a7833 100644
--- a/gdk/x11/gdkcc-x11.c
+++ b/gdk/x11/gdkcc-x11.c
@@ -69,7 +69,7 @@ static guint
hash_color (gconstpointer key)
{
const GdkColor *color = key;
-
+
return (color->red * 33023 + color->green * 30013 + color->blue * 27011);
}
@@ -79,7 +79,7 @@ compare_colors (gconstpointer a,
{
const GdkColor *aa = a;
const GdkColor *bb = b;
-
+
return ((aa->red == bb->red) && (aa->green == bb->green) && (aa->blue == bb->blue));
}
@@ -108,20 +108,20 @@ my_x_query_colors (GdkColormap *colormap,
{
XColor *xcolors;
gint i;
-
+
xcolors = g_new (XColor, ncolors);
for (i = 0; i < ncolors; i++)
xcolors[i].pixel = colors[i].pixel;
-
+
XQueryColors (gdk_display, GDK_COLORMAP_XCOLORMAP (colormap), xcolors, ncolors);
-
+
for (i = 0; i < ncolors; i++)
{
colors[i].red = xcolors[i].red;
colors[i].green = xcolors[i].green;
colors[i].blue = xcolors[i].blue;
}
-
+
g_free (xcolors);
}
@@ -131,12 +131,12 @@ query_colors (GdkColorContext *cc)
gint i;
GdkColorContextPrivate *ccp = (GdkColorContextPrivate *) cc;
cc->cmap = g_new (GdkColor, cc->num_colors);
-
+
for (i = 0; i < cc->num_colors; i++)
cc->cmap[i].pixel = cc->clut ? cc->clut[i] : ccp->std_cmap.base_pixel + i;
-
+
my_x_query_colors (cc->colormap, cc->cmap, cc->num_colors);
-
+
qsort (cc->cmap, cc->num_colors, sizeof (GdkColor), pixel_sort);
}
@@ -144,25 +144,25 @@ static void
init_bw (GdkColorContext *cc)
{
GdkColor color;
-
+
g_warning ("init_bw: failed to allocate colors, falling back to black and white");
-
+
cc->mode = GDK_CC_MODE_BW;
-
+
color.red = color.green = color.blue = 0;
if (!gdk_color_alloc (cc->colormap, &color))
cc->black_pixel = 0;
else
cc->black_pixel = color.pixel;
-
+
color.red = color.green = color.blue = 0xffff;
if (!gdk_color_alloc (cc->colormap, &color))
cc->white_pixel = cc->black_pixel ? 0 : 1;
else
cc->white_pixel = color.pixel;
-
+
cc->num_colors = 2;
}
@@ -173,28 +173,28 @@ init_gray (GdkColorContext *cc)
GdkColor *clrs, *cstart;
gint i;
gdouble dinc;
-
+
cc->num_colors = GDK_VISUAL_XVISUAL (cc->visual)->map_entries;
-
+
cc->clut = g_new (gulong, cc->num_colors);
cstart = g_new (GdkColor, cc->num_colors);
-
-retrygray:
-
+
+ retrygray:
+
dinc = 65535.0 / (cc->num_colors - 1);
-
+
clrs = cstart;
-
+
for (i = 0; i < cc->num_colors; i++)
{
clrs->red = clrs->green = clrs->blue = dinc * i;
-
+
if (!gdk_color_alloc (cc->colormap, clrs))
{
gdk_colors_free (cc->colormap, cc->clut, i, 0);
-
+
cc->num_colors /= 2;
-
+
if (cc->num_colors > 1)
goto retrygray;
else
@@ -206,12 +206,12 @@ retrygray:
return;
}
}
-
+
cc->clut[i] = clrs++->pixel;
}
-
+
g_free (cstart);
-
+
/* XXX: is this the right thing to do? */
ccp->std_cmap.colormap = GDK_COLORMAP_XCOLORMAP (cc->colormap);
ccp->std_cmap.base_pixel = 0;
@@ -221,12 +221,12 @@ retrygray:
ccp->std_cmap.red_mult = 1;
ccp->std_cmap.green_mult = 0;
ccp->std_cmap.blue_mult = 0;
-
+
cc->white_pixel = WhitePixel (ccp->xdisplay, gdk_screen);
cc->black_pixel = BlackPixel (ccp->xdisplay, gdk_screen);
-
+
query_colors (cc);
-
+
cc->mode = GDK_CC_MODE_MY_GRAY;
}
@@ -235,14 +235,14 @@ init_color (GdkColorContext *cc)
{
GdkColorContextPrivate *ccp = (GdkColorContextPrivate *) cc;
gint cubeval;
-
+
cubeval = 1;
while ((cubeval * cubeval * cubeval) < GDK_VISUAL_XVISUAL (cc->visual)->map_entries)
cubeval++;
cubeval--;
-
+
cc->num_colors = cubeval * cubeval * cubeval;
-
+
ccp->std_cmap.red_max = cubeval - 1;
ccp->std_cmap.green_max = cubeval - 1;
ccp->std_cmap.blue_max = cubeval - 1;
@@ -250,21 +250,21 @@ init_color (GdkColorContext *cc)
ccp->std_cmap.green_mult = cubeval;
ccp->std_cmap.blue_mult = 1;
ccp->std_cmap.base_pixel = 0;
-
+
cc->white_pixel = WhitePixel (ccp->xdisplay, gdk_screen);
cc->black_pixel = BlackPixel (ccp->xdisplay, gdk_screen);
cc->num_colors = DisplayCells (ccp->xdisplay, gdk_screen);
-
+
/* a CLUT for storing allocated pixel indices */
-
+
cc->max_colors = cc->num_colors;
cc->clut = g_new (gulong, cc->max_colors);
-
+
for (cubeval = 0; cubeval < cc->max_colors; cubeval++)
cc->clut[cubeval] = cubeval;
-
+
query_colors (cc);
-
+
cc->mode = GDK_CC_MODE_STD_CMAP;
}
@@ -274,66 +274,66 @@ init_true_color (GdkColorContext *cc)
{
GdkColorContextPrivate *ccp = (GdkColorContextPrivate *) cc;
gulong rmask, gmask, bmask;
-
+
cc->mode = GDK_CC_MODE_TRUE;
-
+
/* Red */
-
+
rmask = cc->masks.red = cc->visual->red_mask;
-
+
cc->shifts.red = 0;
cc->bits.red = 0;
-
+
while (!(rmask & 1))
{
rmask >>= 1;
cc->shifts.red++;
}
-
+
while (rmask & 1)
{
rmask >>= 1;
cc->bits.red++;
}
-
+
/* Green */
-
+
gmask = cc->masks.green = cc->visual->green_mask;
-
+
cc->shifts.green = 0;
cc->bits.green = 0;
-
+
while (!(gmask & 1))
{
gmask >>= 1;
cc->shifts.green++;
}
-
+
while (gmask & 1)
{
gmask >>= 1;
cc->bits.green++;
}
-
+
/* Blue */
-
+
bmask = cc->masks.blue = cc->visual->blue_mask;
-
+
cc->shifts.blue = 0;
cc->bits.blue = 0;
-
+
while (!(bmask & 1))
{
bmask >>= 1;
cc->shifts.blue++;
}
-
+
while (bmask & 1)
{
bmask >>= 1;
cc->bits.blue++;
}
-
+
cc->num_colors = (cc->visual->red_mask | cc->visual->green_mask | cc->visual->blue_mask) + 1;
cc->white_pixel = WhitePixel (ccp->xdisplay, gdk_screen);
cc->black_pixel = BlackPixel (ccp->xdisplay, gdk_screen);
@@ -349,49 +349,49 @@ init_direct_color (GdkColorContext *cc)
gulong *gtable;
gulong *btable;
gdouble dinc;
-
+
init_true_color (cc); /* for shift stuff */
-
+
rval = cc->visual->red_mask >> cc->shifts.red;
gval = cc->visual->green_mask >> cc->shifts.green;
bval = cc->visual->blue_mask >> cc->shifts.blue;
-
+
rtable = g_new (gulong, rval + 1);
gtable = g_new (gulong, gval + 1);
btable = g_new (gulong, bval + 1);
-
+
cc->max_entry = MAX (rval, gval);
cc->max_entry = MAX (cc->max_entry, bval);
-
+
cstart = g_new (GdkColor, cc->max_entry + 1);
cc->clut = g_new (gulong, cc->max_entry + 1);
-
-retrydirect:
-
+
+ retrydirect:
+
for (n = 0; n < rval; n++)
rtable[n] = rval ? (65535.0 / rval * n) : 0;
-
+
for (n = 0; n < gval; n++)
gtable[n] = gval ? (65535.0 / gval * n) : 0;
-
+
for (n = 0; n < bval; n++)
btable[n] = bval ? (65535.0 / bval * n) : 0;
-
+
cc->max_entry = MAX (rval, gval);
cc->max_entry = MAX (cc->max_entry, bval);
-
+
count = 0;
clrs = cstart;
cc->num_colors = (rval + 1) * (gval + 1) * (bval + 1);
-
+
for (n = 0; n < cc->max_entry; n++)
{
dinc = (double) n / cc->max_entry;
-
+
clrs->red = rtable[(int) (dinc * rval)];
clrs->green = gtable[(int) (dinc * gval)];
clrs->blue = btable[(int) (dinc * bval)];
-
+
if (gdk_color_alloc (cc->colormap, clrs))
{
cc->clut[count++] = clrs->pixel;
@@ -400,25 +400,25 @@ retrydirect:
else
{
gdk_colors_free (cc->colormap, cc->clut, count, 0);
-
+
rval >>= 1;
gval >>= 1;
bval >>= 1;
-
+
cc->masks.red = (cc->masks.red >> 1) & cc->visual->red_mask;
cc->masks.green = (cc->masks.green >> 1) & cc->visual->green_mask;
cc->masks.blue = (cc->masks.blue >> 1) & cc->visual->blue_mask;
-
+
cc->shifts.red++;
cc->shifts.green++;
cc->shifts.blue++;
-
+
cc->bits.red--;
cc->bits.green--;
cc->bits.blue--;
-
+
cc->num_colors = (rval + 1) * (gval + 1) * (bval + 1);
-
+
if (cc->num_colors >1)
goto retrydirect;
else
@@ -430,13 +430,13 @@ retrydirect:
}
}
}
-
+
/* Update allocated color count; original num_colors is max_entry, which
* is not necessarily the same as the really allocated number of colors.
*/
-
+
cc->num_colors = count;
-
+
g_free (rtable);
g_free (gtable);
g_free (btable);
@@ -447,7 +447,7 @@ static void
init_palette (GdkColorContext *cc)
{
/* restore correct mode for this cc */
-
+
switch (cc->visual->type)
{
case GDK_VISUAL_STATIC_GRAY:
@@ -457,40 +457,40 @@ init_palette (GdkColorContext *cc)
else
cc->mode = GDK_CC_MODE_MY_GRAY;
break;
-
+
case GDK_VISUAL_TRUE_COLOR:
case GDK_VISUAL_DIRECT_COLOR:
cc->mode = GDK_CC_MODE_TRUE;
break;
-
+
case GDK_VISUAL_STATIC_COLOR:
case GDK_VISUAL_PSEUDO_COLOR:
cc->mode = GDK_CC_MODE_STD_CMAP;
break;
-
+
default:
cc->mode = GDK_CC_MODE_UNDEFINED;
break;
}
-
+
/* previous palette */
-
+
if (cc->num_palette)
g_free (cc->palette);
-
+
if (cc->fast_dither)
g_free (cc->fast_dither);
-
+
/* clear hash table if present */
-
+
if (cc->color_hash)
{
/* XXX: quick-and-dirty way to remove everything */
-
+
g_hash_table_destroy (cc->color_hash);
cc->color_hash = g_hash_table_new (hash_color, compare_colors);
}
-
+
cc->palette = NULL;
cc->num_palette = 0;
cc->fast_dither = NULL;
@@ -505,10 +505,10 @@ gdk_color_context_new (GdkVisual *visual,
GdkColorContext *cc;
gint retry_count;
GdkColormap *default_colormap;
-
+
g_assert (visual != NULL);
g_assert (colormap != NULL);
-
+
ccp = g_new (GdkColorContextPrivate, 1);
cc = (GdkColorContext *) ccp;
ccp->xdisplay = gdk_display;
@@ -518,16 +518,16 @@ gdk_color_context_new (GdkVisual *visual,
cc->cmap = NULL;
cc->mode = GDK_CC_MODE_UNDEFINED;
cc->need_to_free_colormap = FALSE;
-
+
cc->color_hash = NULL;
cc->palette = NULL;
cc->num_palette = 0;
cc->fast_dither = NULL;
-
+
default_colormap = gdk_colormap_get_system ();
-
+
retry_count = 0;
-
+
while (retry_count < 2)
{
/* Only create a private colormap if the visual found isn't equal
@@ -535,66 +535,66 @@ gdk_color_context_new (GdkVisual *visual,
* -or- if we are instructed to create a private colormap (which
* never is the case for XmHTML).
*/
-
+
if (use_private_colormap
|| ((cc->visual != gdk_visual_get_system ()) /* default visual? */
&& (GDK_COLORMAP_XCOLORMAP (colormap) == GDK_COLORMAP_XCOLORMAP (default_colormap))))
{
g_warning ("gdk_color_context_new: non-default visual detected, "
"using private colormap");
-
+
cc->colormap = gdk_colormap_new (cc->visual, FALSE);
-
+
cc->need_to_free_colormap = (GDK_COLORMAP_XCOLORMAP (colormap)
!= GDK_COLORMAP_XCOLORMAP (default_colormap));
}
-
+
switch (visual->type)
{
case GDK_VISUAL_STATIC_GRAY:
case GDK_VISUAL_GRAYSCALE:
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_new: visual class is %s\n",
- (visual->type == GDK_VISUAL_STATIC_GRAY) ?
- "GDK_VISUAL_STATIC_GRAY" :
- "GDK_VISUAL_GRAYSCALE"));
-
+ g_message ("gdk_color_context_new: visual class is %s\n",
+ (visual->type == GDK_VISUAL_STATIC_GRAY) ?
+ "GDK_VISUAL_STATIC_GRAY" :
+ "GDK_VISUAL_GRAYSCALE"));
+
if (GDK_VISUAL_XVISUAL (cc->visual)->map_entries == 2)
init_bw (cc);
else
init_gray (cc);
-
+
break;
-
+
case GDK_VISUAL_TRUE_COLOR: /* shifts */
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_new: visual class is GDK_VISUAL_TRUE_COLOR\n"));
-
+ g_message ("gdk_color_context_new: visual class is GDK_VISUAL_TRUE_COLOR\n"));
+
init_true_color (cc);
break;
-
+
case GDK_VISUAL_DIRECT_COLOR: /* shifts and fake CLUT */
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_new: visual class is GDK_VISUAL_DIRECT_COLOR\n"));
-
+ g_message ("gdk_color_context_new: visual class is GDK_VISUAL_DIRECT_COLOR\n"));
+
init_direct_color (cc);
break;
-
+
case GDK_VISUAL_STATIC_COLOR:
case GDK_VISUAL_PSEUDO_COLOR:
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_new: visual class is %s\n",
- (visual->type == GDK_VISUAL_STATIC_COLOR) ?
- "GDK_VISUAL_STATIC_COLOR" :
- "GDK_VISUAL_PSEUDO_COLOR"));
-
+ g_message ("gdk_color_context_new: visual class is %s\n",
+ (visual->type == GDK_VISUAL_STATIC_COLOR) ?
+ "GDK_VISUAL_STATIC_COLOR" :
+ "GDK_VISUAL_PSEUDO_COLOR"));
+
init_color (cc);
break;
-
+
default:
g_assert_not_reached ();
}
-
+
if ((cc->mode == GDK_CC_MODE_BW) && (cc->visual->depth > 1))
{
use_private_colormap = TRUE;
@@ -603,20 +603,20 @@ gdk_color_context_new (GdkVisual *visual,
else
break;
}
-
+
/* no. of colors allocated yet */
-
+
cc->num_allocated = 0;
-
+
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_new: screen depth is %i, no. of colors is %i\n",
- cc->visual->depth, cc->num_colors));
-
+ g_message ("gdk_color_context_new: screen depth is %i, no. of colors is %i\n",
+ cc->visual->depth, cc->num_colors));
+
/* check if we need to initialize a hash table */
-
+
if ((cc->mode == GDK_CC_MODE_STD_CMAP) || (cc->mode == GDK_CC_MODE_UNDEFINED))
cc->color_hash = g_hash_table_new (hash_color, compare_colors);
-
+
return (GdkColorContext *) cc;
}
@@ -626,10 +626,10 @@ gdk_color_context_new_mono (GdkVisual *visual,
{
GdkColorContextPrivate *ccp;
GdkColorContext *cc;
-
+
g_assert (visual != NULL);
g_assert (colormap != NULL);
-
+
cc = g_new (GdkColorContext, 1);
ccp = (GdkColorContextPrivate *) cc;
ccp->xdisplay = gdk_display;
@@ -639,9 +639,9 @@ gdk_color_context_new_mono (GdkVisual *visual,
cc->cmap = NULL;
cc->mode = GDK_CC_MODE_UNDEFINED;
cc->need_to_free_colormap = FALSE;
-
+
init_bw (cc);
-
+
return (GdkColorContext *) cc;
}
@@ -651,7 +651,7 @@ void
gdk_color_context_free (GdkColorContext *cc)
{
g_assert (cc != NULL);
-
+
if ((cc->visual->type == GDK_VISUAL_STATIC_COLOR)
|| (cc->visual->type == GDK_VISUAL_PSEUDO_COLOR))
{
@@ -663,17 +663,17 @@ gdk_color_context_free (GdkColorContext *cc)
gdk_colors_free (cc->colormap, cc->clut, cc->num_colors, 0);
g_free (cc->clut);
}
-
+
if (cc->cmap != NULL)
g_free (cc->cmap);
-
+
if (cc->need_to_free_colormap)
gdk_colormap_unref (cc->colormap);
-
+
/* free any palette that has been associated with this GdkColorContext */
-
+
init_palette (cc);
-
+
if (cc->color_hash)
{
g_hash_table_foreach (cc->color_hash,
@@ -681,7 +681,7 @@ gdk_color_context_free (GdkColorContext *cc)
NULL);
g_hash_table_destroy (cc->color_hash);
}
-
+
g_free (cc);
}
@@ -695,146 +695,146 @@ gdk_color_context_get_pixel (GdkColorContext *cc,
GdkColorContextPrivate *ccp = (GdkColorContextPrivate *) cc;
g_assert (cc != NULL);
g_assert (failed != NULL);
-
+
*failed = FALSE;
-
+
switch (cc->mode)
{
case GDK_CC_MODE_BW:
- {
- gdouble value;
-
- value = (red / 65535.0 * 0.30
- + green / 65535.0 * 0.59
- + blue / 65535.0 * 0.11);
-
- if (value > 0.5)
- return cc->white_pixel;
-
- return cc->black_pixel;
- }
-
+ {
+ gdouble value;
+
+ value = (red / 65535.0 * 0.30
+ + green / 65535.0 * 0.59
+ + blue / 65535.0 * 0.11);
+
+ if (value > 0.5)
+ return cc->white_pixel;
+
+ return cc->black_pixel;
+ }
+
case GDK_CC_MODE_MY_GRAY:
- {
- gulong ired, igreen, iblue;
-
- red = red * 0.30 + green * 0.59 + blue * 0.11;
- green = 0;
- blue = 0;
-
- if ((ired = red * (ccp->std_cmap.red_max + 1) / 0xffff) > ccp->std_cmap.red_max)
- ired = ccp->std_cmap.red_max;
-
- ired *= ccp->std_cmap.red_mult;
-
- if ((igreen = green * (ccp->std_cmap.green_max + 1) / 0xffff) > ccp->std_cmap.green_max)
- igreen = ccp->std_cmap.green_max;
-
- igreen *= ccp->std_cmap.green_mult;
-
- if ((iblue = blue * (ccp->std_cmap.blue_max + 1) / 0xffff) > ccp->std_cmap.blue_max)
- iblue = ccp->std_cmap.blue_max;
-
- iblue *= ccp->std_cmap.blue_mult;
-
- if (cc->clut != NULL)
- return cc->clut[ccp->std_cmap.base_pixel + ired + igreen + iblue];
-
- return ccp->std_cmap.base_pixel + ired + igreen + iblue;
- }
-
+ {
+ gulong ired, igreen, iblue;
+
+ red = red * 0.30 + green * 0.59 + blue * 0.11;
+ green = 0;
+ blue = 0;
+
+ if ((ired = red * (ccp->std_cmap.red_max + 1) / 0xffff) > ccp->std_cmap.red_max)
+ ired = ccp->std_cmap.red_max;
+
+ ired *= ccp->std_cmap.red_mult;
+
+ if ((igreen = green * (ccp->std_cmap.green_max + 1) / 0xffff) > ccp->std_cmap.green_max)
+ igreen = ccp->std_cmap.green_max;
+
+ igreen *= ccp->std_cmap.green_mult;
+
+ if ((iblue = blue * (ccp->std_cmap.blue_max + 1) / 0xffff) > ccp->std_cmap.blue_max)
+ iblue = ccp->std_cmap.blue_max;
+
+ iblue *= ccp->std_cmap.blue_mult;
+
+ if (cc->clut != NULL)
+ return cc->clut[ccp->std_cmap.base_pixel + ired + igreen + iblue];
+
+ return ccp->std_cmap.base_pixel + ired + igreen + iblue;
+ }
+
case GDK_CC_MODE_TRUE:
- {
- gulong ired, igreen, iblue;
-
- if (cc->clut == NULL)
- {
- red >>= 16 - cc->bits.red;
- green >>= 16 - cc->bits.green;
- blue >>= 16 - cc->bits.blue;
-
- ired = (red << cc->shifts.red) & cc->masks.red;
- igreen = (green << cc->shifts.green) & cc->masks.green;
- iblue = (blue << cc->shifts.blue) & cc->masks.blue;
-
- return ired | igreen | iblue;
- }
-
- ired = cc->clut[red * cc->max_entry / 65535] & cc->masks.red;
- igreen = cc->clut[green * cc->max_entry / 65535] & cc->masks.green;
- iblue = cc->clut[blue * cc->max_entry / 65535] & cc->masks.blue;
-
- return ired | igreen | iblue;
- }
-
+ {
+ gulong ired, igreen, iblue;
+
+ if (cc->clut == NULL)
+ {
+ red >>= 16 - cc->bits.red;
+ green >>= 16 - cc->bits.green;
+ blue >>= 16 - cc->bits.blue;
+
+ ired = (red << cc->shifts.red) & cc->masks.red;
+ igreen = (green << cc->shifts.green) & cc->masks.green;
+ iblue = (blue << cc->shifts.blue) & cc->masks.blue;
+
+ return ired | igreen | iblue;
+ }
+
+ ired = cc->clut[red * cc->max_entry / 65535] & cc->masks.red;
+ igreen = cc->clut[green * cc->max_entry / 65535] & cc->masks.green;
+ iblue = cc->clut[blue * cc->max_entry / 65535] & cc->masks.blue;
+
+ return ired | igreen | iblue;
+ }
+
case GDK_CC_MODE_PALETTE:
return gdk_color_context_get_pixel_from_palette (cc, &red, &green, &blue, failed);
-
+
case GDK_CC_MODE_STD_CMAP:
default:
- {
- GdkColor color;
- GdkColor *result;
-
- color.red = red;
- color.green = green;
- color.blue = blue;
-
- result = g_hash_table_lookup (cc->color_hash, &color);
-
- if (!result)
- {
- color.red = red;
- color.green = green;
- color.blue = blue;
- color.pixel = 0;
-
- if (!gdk_color_alloc (cc->colormap, &color))
- *failed = TRUE;
- else
- {
- GdkColor *cnew;
-
- /* XXX: the following comment comes directly from
- * XCC.c. I don't know if it is relevant for
- * gdk_color_alloc() as it is for XAllocColor()
- * - Federico
- */
- /*
- * I can't figure this out entirely, but it *is* possible
- * that XAllocColor succeeds, even if the number of
- * allocations we've made exceeds the number of available
- * colors in the current colormap. And therefore it
- * might be necessary for us to resize the CLUT.
- */
-
- if (cc->num_allocated == cc->max_colors)
- {
- cc->max_colors *= 2;
-
- GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_get_pixel: "
- "resizing CLUT to %i entries\n",
- cc->max_colors));
-
- cc->clut = g_realloc (cc->clut,
- cc->max_colors * sizeof (gulong));
- }
-
- /* Key and value are the same color structure */
-
- cnew = g_new (GdkColor, 1);
- *cnew = color;
- g_hash_table_insert (cc->color_hash, cnew, cnew);
-
- cc->clut[cc->num_allocated] = color.pixel;
- cc->num_allocated++;
- return color.pixel;
- }
- }
-
- return result->pixel;
- }
+ {
+ GdkColor color;
+ GdkColor *result;
+
+ color.red = red;
+ color.green = green;
+ color.blue = blue;
+
+ result = g_hash_table_lookup (cc->color_hash, &color);
+
+ if (!result)
+ {
+ color.red = red;
+ color.green = green;
+ color.blue = blue;
+ color.pixel = 0;
+
+ if (!gdk_color_alloc (cc->colormap, &color))
+ *failed = TRUE;
+ else
+ {
+ GdkColor *cnew;
+
+ /* XXX: the following comment comes directly from
+ * XCC.c. I don't know if it is relevant for
+ * gdk_color_alloc() as it is for XAllocColor()
+ * - Federico
+ */
+ /*
+ * I can't figure this out entirely, but it *is* possible
+ * that XAllocColor succeeds, even if the number of
+ * allocations we've made exceeds the number of available
+ * colors in the current colormap. And therefore it
+ * might be necessary for us to resize the CLUT.
+ */
+
+ if (cc->num_allocated == cc->max_colors)
+ {
+ cc->max_colors *= 2;
+
+ GDK_NOTE (COLOR_CONTEXT,
+ g_message ("gdk_color_context_get_pixel: "
+ "resizing CLUT to %i entries\n",
+ cc->max_colors));
+
+ cc->clut = g_realloc (cc->clut,
+ cc->max_colors * sizeof (gulong));
+ }
+
+ /* Key and value are the same color structure */
+
+ cnew = g_new (GdkColor, 1);
+ *cnew = color;
+ g_hash_table_insert (cc->color_hash, cnew, cnew);
+
+ cc->clut[cc->num_allocated] = color.pixel;
+ cc->num_allocated++;
+ return color.pixel;
+ }
+ }
+
+ return result->pixel;
+ }
}
}
@@ -861,37 +861,37 @@ gdk_color_context_get_pixels (GdkColorContext *cc,
g_assert (blues != NULL);
g_assert (colors != NULL);
g_assert (nallocated != NULL);
-
+
memset (defs, 0, MAX_IMAGE_COLORS * sizeof (GdkColor));
memset (failed, 0, MAX_IMAGE_COLORS * sizeof (gint));
memset (allocated, 0, MAX_IMAGE_COLORS * sizeof (gint));
-
+
/* Will only have a value if used by the progressive image loader */
-
+
ncols = *nallocated;
-
+
*nallocated = 0;
-
+
/* First allocate all pixels */
-
+
for (i = 0; i < ncolors; i++)
{
/* colors[i] is only zero if the pixel at that location hasn't
* been allocated yet. This is a sanity check required for proper
* color allocation by the progressive image loader
*/
-
+
if (colors[i] == 0)
{
defs[i].red = reds[i];
defs[i].green = greens[i];
defs[i].blue = blues[i];
-
+
colors[i] = gdk_color_context_get_pixel (cc, reds[i], greens[i], blues[i],
&bad_alloc);
-
+
/* successfully allocated, store it */
-
+
if (!bad_alloc)
{
defs[i].pixel = colors[i];
@@ -901,114 +901,114 @@ gdk_color_context_get_pixels (GdkColorContext *cc,
failed[nopen++] = i;
}
}
-
+
*nallocated = ncols;
-
+
/* all colors available, all done */
-
+
if ((ncols == ncolors) || (nopen == 0))
{
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_get_pixels: got all %i colors; "
- "(%i colors allocated so far)\n", ncolors, cc->num_allocated));
-
+ g_message ("gdk_color_context_get_pixels: got all %i colors; "
+ "(%i colors allocated so far)\n", ncolors, cc->num_allocated));
+
return;
}
-
+
/* The fun part. We now try to allocate the colors we couldn't allocate
* directly. The first step will map a color onto its nearest color
* that has been allocated (either by us or someone else). If any colors
* remain unallocated, we map these onto the colors that we have allocated
* ourselves.
*/
-
+
/* read up to MAX_IMAGE_COLORS colors of the current colormap */
-
+
cmapsize = MIN (cc->num_colors, MAX_IMAGE_COLORS);
-
+
/* see if the colormap has any colors to read */
-
+
if (cmapsize < 0)
{
g_warning ("gdk_color_context_get_pixels: oops! no colors available, "
"your images will look *really* ugly.");
-
+
return;
}
-
+
#ifdef G_ENABLE_DEBUG
exact_col = ncols;
#endif
-
+
/* initialize pixels */
-
+
for (i = 0; i < cmapsize; i++)
{
cmap[i].pixel = i;
cmap[i].red = cmap[i].green = cmap[i].blue = 0;
}
-
+
/* read the colormap */
-
+
my_x_query_colors (cc->colormap, cmap, cmapsize);
-
+
/* get a close match for any unallocated colors */
-
+
counter = nopen;
nopen = 0;
idx = 0;
-
+
do
{
gint d, j, mdist, close, ri, gi, bi;
gint rd, gd, bd;
-
+
i = failed[idx];
-
+
mdist = 0x1000000;
close = -1;
-
+
/* Store these vals. Small performance increase as this skips three
* indexing operations in the loop code.
*/
-
+
ri = reds[i];
gi = greens[i];
bi = blues[i];
-
+
/* Walk all colors in the colormap and see which one is the
* closest. Uses plain least squares.
*/
-
+
for (j = 0; (j < cmapsize) && (mdist != 0); j++)
{
/* Don't replace these by shifts; the sign may get clobbered */
-
+
rd = (ri - cmap[j].red) / 256;
gd = (gi - cmap[j].green) / 256;
bd = (bi - cmap[j].blue) / 256;
-
+
d = rd * rd + gd * gd + bd * bd;
-
+
if (d < mdist)
{
close = j;
mdist = d;
}
}
-
+
if (close != -1)
{
rd = cmap[close].red;
gd = cmap[close].green;
bd = cmap[close].blue;
-
+
/* allocate */
-
+
colors[i] = gdk_color_context_get_pixel (cc, rd, gd, bd, &bad_alloc);
-
+
/* store */
-
+
if (!bad_alloc)
{
defs[i] = cmap[close];
@@ -1024,68 +1024,68 @@ gdk_color_context_get_pixels (GdkColorContext *cc,
/* deal with in next stage if allocation failed */
}
while (++idx < counter);
-
+
*nallocated = ncols;
-
+
/* This is the maximum no. of allocated colors. See also the nopen == 0
* note above.
*/
-
+
if ((ncols == ncolors) || (nopen == 0))
{
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_get_pixels: got %i colors, %i exact and "
- "%i close (%i colors allocated so far)\n",
- ncolors, exact_col, close_col, cc->num_allocated));
-
+ g_message ("gdk_color_context_get_pixels: got %i colors, %i exact and "
+ "%i close (%i colors allocated so far)\n",
+ ncolors, exact_col, close_col, cc->num_allocated));
+
return;
}
-
+
/* Now map any remaining unallocated pixels into the colors we did get */
-
+
idx = 0;
-
+
do
{
gint d, mdist, close, ri, gi, bi;
gint j, rd, gd, bd;
-
+
i = failed[idx];
-
+
mdist = 0x1000000;
close = -1;
-
+
/* store */
-
+
ri = reds[i];
gi = greens[i];
bi = blues[i];
-
+
/* search allocated colors */
-
+
for (j = 0; (j < ncols) && (mdist != 0); j++)
{
k = allocated[j];
-
+
/* Don't replace these by shifts; the sign may get clobbered */
-
+
rd = (ri - defs[k].red) / 256;
gd = (gi - defs[k].green) / 256;
bd = (bi - defs[k].blue) / 256;
-
+
d = rd * rd + gd * gd + bd * bd;
-
+
if (d < mdist)
{
close = k;
mdist = d;
}
}
-
+
if (close < 0)
{
/* too bad, map to black */
-
+
defs[i].pixel = cc->black_pixel;
defs[i].red = defs[i].green = defs[i].blue = 0;
#ifdef G_ENABLE_DEBUG
@@ -1099,15 +1099,15 @@ gdk_color_context_get_pixels (GdkColorContext *cc,
subst_col++;
#endif
}
-
+
colors[i] = defs[i].pixel;
}
while (++idx < nopen);
-
+
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_get_pixels: got %i colors, %i exact, %i close, "
- "%i substituted, %i to black (%i colors allocated so far)\n",
- ncolors, exact_col, close_col, subst_col, black_col, cc->num_allocated));
+ g_message ("gdk_color_context_get_pixels: got %i colors, %i exact, %i close, "
+ "%i substituted, %i to black (%i colors allocated so far)\n",
+ ncolors, exact_col, close_col, subst_col, black_col, cc->num_allocated));
}
void
@@ -1128,7 +1128,7 @@ gdk_color_context_get_pixels_incremental (GdkColorContext *cc,
#ifdef G_ENABLE_DEBUG
gint exact_col = 0, subst_col = 0, close_col = 0, black_col = 0;
#endif
-
+
g_assert (cc != NULL);
g_assert (reds != NULL);
g_assert (greens != NULL);
@@ -1136,19 +1136,19 @@ gdk_color_context_get_pixels_incremental (GdkColorContext *cc,
g_assert (used != NULL);
g_assert (colors != NULL);
g_assert (nallocated != NULL);
-
+
memset (defs, 0, MAX_IMAGE_COLORS * sizeof (GdkColor));
memset (failed, 0, MAX_IMAGE_COLORS * sizeof (gint));
memset (allocated, 0, MAX_IMAGE_COLORS * sizeof (gint));
-
+
/* Will only have a value if used by the progressive image loader */
-
+
ncols = *nallocated;
-
+
*nallocated = 0;
-
+
/* First allocate all pixels */
-
+
for (i = 0; i < ncolors; i++)
{
/* used[i] is only -1 if the pixel at that location hasn't
@@ -1157,7 +1157,7 @@ gdk_color_context_get_pixels_incremental (GdkColorContext *cc,
* When colors[i] == 0 it indicates the slot is available for
* allocation.
*/
-
+
if (used[i] != FALSE)
{
if (colors[i] == 0)
@@ -1165,11 +1165,11 @@ gdk_color_context_get_pixels_incremental (GdkColorContext *cc,
defs[i].red = reds[i];
defs[i].green = greens[i];
defs[i].blue = blues[i];
-
+
colors[i] = gdk_color_context_get_pixel (cc, reds[i], greens[i], blues[i], &bad_alloc);
-
+
/* successfully allocated, store it */
-
+
if (!bad_alloc)
{
defs[i].pixel = colors[i];
@@ -1181,100 +1181,100 @@ gdk_color_context_get_pixels_incremental (GdkColorContext *cc,
#ifdef DEBUG
else
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_get_pixels_incremental: "
- "pixel at slot %i already allocated, skipping\n", i));
+ g_message ("gdk_color_context_get_pixels_incremental: "
+ "pixel at slot %i already allocated, skipping\n", i));
#endif
}
}
-
+
*nallocated = ncols;
-
+
if ((ncols == ncolors) || (nopen == 0))
{
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_get_pixels_incremental: got all %i colors "
- "(%i colors allocated so far)\n",
- ncolors, cc->num_allocated));
-
+ g_message ("gdk_color_context_get_pixels_incremental: got all %i colors "
+ "(%i colors allocated so far)\n",
+ ncolors, cc->num_allocated));
+
return;
}
-
+
cmapsize = MIN (cc->num_colors, MAX_IMAGE_COLORS);
-
+
if (cmapsize < 0)
{
g_warning ("gdk_color_context_get_pixels_incremental: oops! "
"No colors available images will look *really* ugly.");
return;
}
-
+
#ifdef G_ENABLE_DEBUG
exact_col = ncols;
#endif
-
+
/* initialize pixels */
-
+
for (i = 0; i < cmapsize; i++)
{
cmap[i].pixel = i;
cmap[i].red = cmap[i].green = cmap[i].blue = 0;
}
-
+
/* read */
-
+
my_x_query_colors (cc->colormap, cmap, cmapsize);
-
+
/* now match any unallocated colors */
-
+
counter = nopen;
nopen = 0;
idx = 0;
-
+
do
{
gint d, j, mdist, close, ri, gi, bi;
gint rd, gd, bd;
-
+
i = failed[idx];
-
+
mdist = 0x1000000;
close = -1;
-
+
/* store */
-
+
ri = reds[i];
gi = greens[i];
bi = blues[i];
-
+
for (j = 0; (j < cmapsize) && (mdist != 0); j++)
{
/* Don't replace these by shifts; the sign may get clobbered */
-
+
rd = (ri - cmap[j].red) / 256;
gd = (gi - cmap[j].green) / 256;
bd = (bi - cmap[j].blue) / 256;
-
+
d = rd * rd + gd * gd + bd * bd;
-
+
if (d < mdist)
{
close = j;
mdist = d;
}
}
-
+
if (close != -1)
{
rd = cmap[close].red;
gd = cmap[close].green;
bd = cmap[close].blue;
-
+
/* allocate */
-
+
colors[i] = gdk_color_context_get_pixel (cc, rd, gd, bd, &bad_alloc);
-
+
/* store */
-
+
if (!bad_alloc)
{
defs[i] = cmap[close];
@@ -1292,64 +1292,64 @@ gdk_color_context_get_pixels_incremental (GdkColorContext *cc,
/* deal with in next stage if allocation failed */
}
while (++idx < counter);
-
+
*nallocated = ncols;
-
+
if ((ncols == ncolors) || (nopen == 0))
{
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_get_pixels_incremental: "
- "got %i colors, %i exact and %i close "
- "(%i colors allocated so far)\n",
- ncolors, exact_col, close_col, cc->num_allocated));
-
+ g_message ("gdk_color_context_get_pixels_incremental: "
+ "got %i colors, %i exact and %i close "
+ "(%i colors allocated so far)\n",
+ ncolors, exact_col, close_col, cc->num_allocated));
+
return;
}
-
+
/* map remaining unallocated pixels into colors we did get */
-
+
idx = 0;
-
+
do
{
gint d, mdist, close, ri, gi, bi;
gint j, rd, gd, bd;
-
+
i = failed[idx];
-
+
mdist = 0x1000000;
close = -1;
-
+
ri = reds[i];
gi = greens[i];
bi = blues[i];
-
+
/* search allocated colors */
-
+
for (j = 0; (j < ncols) && (mdist != 0); j++)
{
k = allocated[j];
-
+
/* downscale */
/* Don't replace these by shifts; the sign may get clobbered */
-
+
rd = (ri - defs[k].red) / 256;
gd = (gi - defs[k].green) / 256;
bd = (bi - defs[k].blue) / 256;
-
+
d = rd * rd + gd * gd + bd * bd;
-
+
if (d < mdist)
{
close = k;
mdist = d;
}
}
-
+
if (close < 0)
{
/* too bad, map to black */
-
+
defs[i].pixel = cc->black_pixel;
defs[i].red = defs[i].green = defs[i].blue = 0;
#ifdef G_ENABLE_DEBUG
@@ -1363,16 +1363,16 @@ gdk_color_context_get_pixels_incremental (GdkColorContext *cc,
subst_col++;
#endif
}
-
+
colors[i] = defs[i].pixel;
}
while (++idx < nopen);
-
+
GDK_NOTE (COLOR_CONTEXT,
- g_print ("gdk_color_context_get_pixels_incremental: "
- "got %i colors, %i exact, %i close, %i substituted, %i to black "
- "(%i colors allocated so far)\n",
- ncolors, exact_col, close_col, subst_col, black_col, cc->num_allocated));
+ g_message ("gdk_color_context_get_pixels_incremental: "
+ "got %i colors, %i exact, %i close, %i substituted, %i to black "
+ "(%i colors allocated so far)\n",
+ ncolors, exact_col, close_col, subst_col, black_col, cc->num_allocated));
}
gint
@@ -1389,10 +1389,10 @@ gdk_color_context_query_colors (GdkColorContext *cc,
{
gint i;
GdkColor *tc;
-
+
g_assert (cc != NULL);
g_assert (colors != NULL);
-
+
switch (cc->mode)
{
case GDK_CC_MODE_BW:
@@ -1404,7 +1404,7 @@ gdk_color_context_query_colors (GdkColorContext *cc,
tc->red = tc->green = tc->blue = 0;
}
break;
-
+
case GDK_CC_MODE_TRUE:
if (cc->clut == NULL)
for (i = 0, tc = colors; i < num_colors; i++, tc++)
@@ -1419,7 +1419,7 @@ gdk_color_context_query_colors (GdkColorContext *cc,
return 1;
}
break;
-
+
case GDK_CC_MODE_STD_CMAP:
default:
if (cc->cmap == NULL)
@@ -1431,17 +1431,17 @@ gdk_color_context_query_colors (GdkColorContext *cc,
{
gint first, last, half;
gulong half_pixel;
-
+
for (i = 0, tc = colors; i < num_colors; i++)
{
first = 0;
last = cc->num_colors - 1;
-
+
while (first <= last)
{
half = (first + last) / 2;
half_pixel = cc->cmap[half].pixel;
-
+
if (tc->pixel == half_pixel)
{
tc->red = cc->cmap[half].red;
@@ -1473,94 +1473,94 @@ gdk_color_context_add_palette (GdkColorContext *cc,
gint i, j, erg;
gushort r, g, b;
gulong pixel[1];
-
+
g_assert (cc != NULL);
-
+
/* initialize this palette (will also erase previous palette as well) */
-
+
init_palette (cc);
-
+
/* restore previous mode if we aren't adding a new palette */
-
+
if (num_palette == 0)
{
/* GDK_CC_MODE_STD_CMAP uses a hash table, so we'd better initialize one */
-
+
/* XXX: here, the hash table is already initialized */
-
+
return 0;
}
-
+
/* Initialize a hash table for this palette (we need one for allocating
* the pixels in the palette using the current settings)
*/
-
+
if (cc->color_hash == NULL)
cc->color_hash = g_hash_table_new (hash_color, compare_colors);
-
+
/* copy incoming palette */
-
+
cc->palette = g_new0(GdkColor, num_palette);
-
+
j = 0;
-
+
for (i = 0; i < num_palette; i++)
{
erg = 0;
pixel[0] = 0;
-
+
/* try to allocate this color */
-
+
r = palette[i].red;
g = palette[i].green;
b = palette[i].blue;
-
+
gdk_color_context_get_pixels (cc, &r, &g, &b, 1, pixel, &erg);
-
+
/* only store if we succeed */
-
+
if (erg)
{
/* store in palette */
-
+
cc->palette[j].red = r;
cc->palette[j].green = g;
cc->palette[j].blue = b;
cc->palette[j].pixel = pixel[0];
-
+
/* move to next slot */
-
+
j++;
}
}
-
+
/* resize to fit */
-
+
if (j != num_palette)
cc->palette = g_realloc (cc->palette, j * sizeof (GdkColor));
-
+
/* clear the hash table, we don't use it when dithering */
-
+
if (cc->color_hash)
{
g_hash_table_destroy (cc->color_hash);
cc->color_hash = NULL;
}
-
+
/* store real palette size */
-
+
cc->num_palette = j;
-
+
/* switch to palette mode */
-
+
cc->mode = GDK_CC_MODE_PALETTE;
-
+
/* sort palette */
-
+
qsort (cc->palette, cc->num_palette, sizeof (GdkColor), pixel_sort);
-
+
cc->fast_dither = NULL;
-
+
return j;
}
@@ -1569,17 +1569,17 @@ gdk_color_context_init_dither (GdkColorContext *cc)
{
gint rr, gg, bb, err, erg, erb;
gint success = FALSE;
-
+
g_assert (cc != NULL);
-
+
/* now we can initialize the fast dither matrix */
-
+
if (cc->fast_dither == NULL)
cc->fast_dither = g_new (GdkColorContextDither, 1);
-
+
/* Fill it. We ignore unsuccessful allocations, they are just mapped
* to black instead */
-
+
for (rr = 0; rr < 32; rr++)
for (gg = 0; gg < 32; gg++)
for (bb = 0; bb < 32; bb++)
@@ -1587,7 +1587,7 @@ gdk_color_context_init_dither (GdkColorContext *cc)
err = (rr << 3) | (rr >> 2);
erg = (gg << 3) | (gg >> 2);
erb = (bb << 3) | (bb >> 2);
-
+
cc->fast_dither->fast_rgb[rr][gg][bb] =
gdk_color_context_get_index_from_palette (cc, &err, &erg, &erb, &success);
cc->fast_dither->fast_err[rr][gg][bb] = err;
@@ -1600,10 +1600,10 @@ void
gdk_color_context_free_dither (GdkColorContext *cc)
{
g_assert (cc != NULL);
-
+
if (cc->fast_dither)
g_free (cc->fast_dither);
-
+
cc->fast_dither = NULL;
}
@@ -1619,23 +1619,23 @@ gdk_color_context_get_pixel_from_palette (GdkColorContext *cc,
gint mindif = 0x7fffffff;
gint err = 0, erg = 0, erb = 0;
gint i;
-
+
g_assert (cc != NULL);
g_assert (red != NULL);
g_assert (green != NULL);
g_assert (blue != NULL);
g_assert (failed != NULL);
-
+
*failed = FALSE;
-
+
for (i = 0; i < cc->num_palette; i++)
{
dr = *red - cc->palette[i].red;
dg = *green - cc->palette[i].green;
db = *blue - cc->palette[i].blue;
-
+
dif = dr * dr + dg * dg + db * db;
-
+
if (dif < mindif)
{
mindif = dif;
@@ -1644,14 +1644,14 @@ gdk_color_context_get_pixel_from_palette (GdkColorContext *cc,
err = dr;
erg = dg;
erb = db;
-
+
if (mindif == 0)
break;
}
}
-
+
/* we failed to map onto a color */
-
+
if (j == -1)
*failed = TRUE;
else
@@ -1660,7 +1660,7 @@ gdk_color_context_get_pixel_from_palette (GdkColorContext *cc,
*green = ABS (erg);
*blue = ABS (erb);
}
-
+
return pixel;
}
@@ -1675,23 +1675,23 @@ gdk_color_context_get_index_from_palette (GdkColorContext *cc,
gint mindif = 0x7fffffff;
gint err = 0, erg = 0, erb = 0;
gint i;
-
+
g_assert (cc != NULL);
g_assert (red != NULL);
g_assert (green != NULL);
g_assert (blue != NULL);
g_assert (failed != NULL);
-
+
*failed = FALSE;
-
+
for (i = 0; i < cc->num_palette; i++)
{
dr = *red - cc->palette[i].red;
dg = *green - cc->palette[i].green;
db = *blue - cc->palette[i].blue;
-
+
dif = dr * dr + dg * dg + db * db;
-
+
if (dif < mindif)
{
mindif = dif;
@@ -1699,14 +1699,14 @@ gdk_color_context_get_index_from_palette (GdkColorContext *cc,
err = dr;
erg = dg;
erb = db;
-
+
if (mindif == 0)
break;
}
}
-
+
/* we failed to map onto a color */
-
+
if (j == -1)
{
*failed = TRUE;
@@ -1715,11 +1715,11 @@ gdk_color_context_get_index_from_palette (GdkColorContext *cc,
else
{
/* return error fractions */
-
+
*red = err;
*green = erg;
*blue = erb;
}
-
+
return j;
}
diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c
index 6a74022c55..331aad7ef7 100644
--- a/gdk/x11/gdkdnd-x11.c
+++ b/gdk/x11/gdkdnd-x11.c
@@ -1,3 +1,21 @@
+/* GDK - The GIMP Drawing Kit
+ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
#include <X11/Xlib.h>
#include <X11/Xatom.h>
#include <string.h>
@@ -12,7 +30,7 @@ gdk_dnd_set_drag_cursors(GdkCursor *default_cursor, GdkCursor *goahead_cursor)
gdk_dnd.c->gdk_cursor_dragdefault =
((GdkCursorPrivate *)default_cursor)->xcursor;
gdk_dnd.c->gdk_cursor_dragok = ((GdkCursorPrivate *)goahead_cursor)->xcursor;
-
+
if(gdk_dnd.dnd_grabbed)
{
if(gdk_dnd.c->drag_pm_default)
@@ -42,7 +60,7 @@ gdk_dnd_set_drag_shape(GdkWindow *default_pixmapwin,
GdkPoint *goahead_hotspot)
{
g_return_if_fail(default_pixmapwin != NULL);
-
+
g_list_free(gdk_dnd.c->xids); gdk_dnd.c->xids = NULL;
if(gdk_dnd.c->drag_pm_default)
{
@@ -54,9 +72,9 @@ gdk_dnd_set_drag_shape(GdkWindow *default_pixmapwin,
gdk_window_hide(gdk_dnd.c->drag_pm_ok);
gdk_window_unref(gdk_dnd.c->drag_pm_ok);
}
-
+
gdk_dnd.c->drag_pm_ok = NULL;
-
+
gdk_window_ref(default_pixmapwin);
gdk_dnd.c->drag_pm_default = default_pixmapwin;
gdk_dnd.c->default_hotspot = *default_hotspot;
@@ -68,7 +86,7 @@ gdk_dnd_set_drag_shape(GdkWindow *default_pixmapwin,
gdk_dnd.c->drag_pm_ok = goahead_pixmapwin;
gdk_dnd.c->ok_hotspot = *goahead_hotspot;
}
-
+
if(gdk_dnd.dnd_grabbed)
{
gdk_dnd_display_drag_cursor(-1, -1,
@@ -90,7 +108,7 @@ gdk_dnd_display_drag_cursor(gint x, gint y, gboolean drag_ok,
{
if(!gdk_dnd.dnd_grabbed)
return;
-
+
if(gdk_dnd.c->drag_pm_default)
{
/* We're doing pixmaps here... */
@@ -99,29 +117,29 @@ gdk_dnd_display_drag_cursor(gint x, gint y, gboolean drag_ok,
gint itmp;
guint masktmp;
Window wtmp;
-
+
if(x == -2 && y == -2) /* Hide the cursors */
{
gdk_window_hide(gdk_dnd.c->drag_pm_ok);
gdk_window_hide(gdk_dnd.c->drag_pm_default);
- GDK_NOTE(DND, g_print("Hiding both drag cursors\n"));
+ GDK_NOTE(DND, g_message("Hiding both drag cursors\n"));
return;
}
-
+
if(x == -1 && y == -1) /* We're supposed to find it out for ourselves */
XQueryPointer(gdk_display, gdk_root_window,
&wtmp, &wtmp, &x, &y, &itmp, &itmp, &masktmp);
-
+
if(drag_ok)
{
- GDK_NOTE(DND, g_print("Switching to drag_ok cursor\n"));
+ GDK_NOTE(DND, g_message("Switching to drag_ok cursor\n"));
mypix = gdk_dnd.c->drag_pm_ok;
opix = gdk_dnd.c->drag_pm_default;
myhotspot = &gdk_dnd.c->ok_hotspot;
}
else
{
- GDK_NOTE(DND, g_print("Switching to drag_default cursor\n"));
+ GDK_NOTE(DND, g_message("Switching to drag_default cursor\n"));
mypix = gdk_dnd.c->drag_pm_default;
opix = gdk_dnd.c->drag_pm_ok;
myhotspot = &gdk_dnd.c->default_hotspot;
@@ -129,7 +147,7 @@ gdk_dnd_display_drag_cursor(gint x, gint y, gboolean drag_ok,
gdk_window_move(mypix, x - myhotspot->x, y - myhotspot->y);
if(change_made)
{
- GDK_NOTE(DND, g_print("Cursors switched, hide & show\n"));
+ GDK_NOTE(DND, g_message("Cursors switched, hide & show\n"));
gdk_window_hide(opix);
}
gdk_window_move(mypix, x - myhotspot->x, y - myhotspot->y);
diff --git a/gdk/x11/gdkfont-x11.c b/gdk/x11/gdkfont-x11.c
index 1b37930a73..cc1274a0d6 100644
--- a/gdk/x11/gdkfont-x11.c
+++ b/gdk/x11/gdkfont-x11.c
@@ -72,9 +72,9 @@ gdk_fontset_load (gchar *fontset_name)
if (missing_charset_count)
{
gint i;
- g_print ("Missing charsets in FontSet creation\n");
+ g_message ("Missing charsets in FontSet creation\n");
for (i=0;i<missing_charset_count;i++)
- g_print (" %s\n", missing_charset_list[i]);
+ g_message (" %s\n", missing_charset_list[i]);
XFreeStringList (missing_charset_list);
}
diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c
index 9dd96da943..a4438cb6d2 100644
--- a/gdk/x11/gdkmain-x11.c
+++ b/gdk/x11/gdkmain-x11.c
@@ -8,7 +8,7 @@
*
* This library 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
@@ -68,7 +68,7 @@
# define SELECT_MASK fd_set
#else
# ifndef _AIX
- typedef long fd_mask;
+typedef long fd_mask;
# endif
# if defined(_IBMR2)
# define SELECT_MASK void
@@ -101,120 +101,120 @@ struct _GdkPredicate
* Private function declarations
*/
-static GdkEvent *gdk_event_new (void);
-static gint gdk_event_wait (void);
-static gint gdk_event_apply_filters (XEvent *xevent,
+static GdkEvent *gdk_event_new (void);
+static gint gdk_event_wait (void);
+static gint gdk_event_apply_filters (XEvent *xevent,
GdkEvent *event,
GList *filters);
-static gint gdk_event_translate (GdkEvent *event,
- XEvent *xevent);
+static gint gdk_event_translate (GdkEvent *event,
+ XEvent *xevent);
#if 0
-static Bool gdk_event_get_type (Display *display,
- XEvent *xevent,
+static Bool gdk_event_get_type (Display *display,
+ XEvent *xevent,
XPointer arg);
#endif
-static void gdk_synthesize_click (GdkEvent *event,
- gint nclicks);
+static void gdk_synthesize_click (GdkEvent *event,
+ gint nclicks);
-static void gdk_dnd_drag_begin (GdkWindow *initial_window);
-static void gdk_dnd_drag_enter (Window dest);
-static void gdk_dnd_drag_leave (Window dest);
-static void gdk_dnd_drag_end (Window dest,
+static void gdk_dnd_drag_begin (GdkWindow *initial_window);
+static void gdk_dnd_drag_enter (Window dest);
+static void gdk_dnd_drag_leave (Window dest);
+static void gdk_dnd_drag_end (Window dest,
GdkPoint coords);
-static GdkAtom gdk_dnd_check_types (GdkWindow *window,
- XEvent *xevent);
+static GdkAtom gdk_dnd_check_types (GdkWindow *window,
+ XEvent *xevent);
#ifdef DEBUG_DND
-static void gdk_print_atom (GdkAtom anatom);
+static void gdk_print_atom (GdkAtom anatom);
#endif
#ifndef HAVE_XCONVERTCASE
-static void gdkx_XConvertCase (KeySym symbol,
- KeySym *lower,
- KeySym *upper);
+static void gdkx_XConvertCase (KeySym symbol,
+ KeySym *lower,
+ KeySym *upper);
#define XConvertCase gdkx_XConvertCase
#endif
/*
* old junk from offix, we might use it though so leave it
*/
-Window gdk_get_client_window (Display *dpy,
- Window win);
+Window gdk_get_client_window (Display *dpy,
+ Window win);
#ifdef WE_HAVE_MOTIF_DROPS_DONE
-static GdkWindow * gdk_drop_get_real_window (GdkWindow *w,
+static GdkWindow * gdk_drop_get_real_window (GdkWindow *w,
guint16 *x,
guint16 *y);
#endif
-static void gdk_exit_func (void);
-static int gdk_x_error (Display *display,
+static void gdk_exit_func (void);
+static int gdk_x_error (Display *display,
XErrorEvent *error);
-static int gdk_x_io_error (Display *display);
-static RETSIGTYPE gdk_signal (int signum);
+static int gdk_x_io_error (Display *display);
+static RETSIGTYPE gdk_signal (int signum);
#ifdef USE_XIM
-static guint gdk_im_va_count (va_list list);
+static guint gdk_im_va_count (va_list list);
static XVaNestedList gdk_im_va_to_nested (va_list list,
- guint count);
+ guint count);
static GdkIM gdk_im_get (void);
static gint gdk_im_open (XrmDatabase db,
gchar* res_name,
gchar* rec_class);
static void gdk_im_close (void);
-static void gdk_ic_cleanup (void);
+static void gdk_ic_cleanup (void);
#endif /* USE_XIM */
/* Private variable declarations
*/
-static int gdk_initialized = 0; /* 1 if the library is initialized,
+static int gdk_initialized = 0; /* 1 if the library is initialized,
* 0 otherwise.
*/
-static int connection_number = 0; /* The file descriptor number of our
- * connection to the X server. This
- * is used so that we may determine
- * when events are pending by using
- * the "select" system call.
+static int connection_number = 0; /* The file descriptor number of our
+ * connection to the X server. This
+ * is used so that we may determine
+ * when events are pending by using
+ * the "select" system call.
*/
-static struct timeval start; /* The time at which the library was
- * last initialized.
+static struct timeval start; /* The time at which the library was
+ * last initialized.
*/
-static struct timeval timer; /* Timeout interval to use in the call
- * to "select". This is used in
- * conjunction with "timerp" to create
- * a maximum time to wait for an event
- * to arrive.
+static struct timeval timer; /* Timeout interval to use in the call
+ * to "select". This is used in
+ * conjunction with "timerp" to create
+ * a maximum time to wait for an event
+ * to arrive.
*/
-static struct timeval *timerp; /* The actual timer passed to "select"
- * This may be NULL, in which case
- * "select" will block until an event
- * arrives.
+static struct timeval *timerp; /* The actual timer passed to "select"
+ * This may be NULL, in which case
+ * "select" will block until an event
+ * arrives.
*/
-static guint32 timer_val; /* The timeout length as specified by
- * the user in milliseconds.
+static guint32 timer_val; /* The timeout length as specified by
+ * the user in milliseconds.
*/
-static GList *inputs; /* A list of the input file descriptors
- * that we care about. Each list node
- * contains a GdkInput struct that describes
- * when we are interested in the specified
- * file descriptor. That is, when it is
- * available for read, write or has an
- * exception pending.
+static GList *inputs; /* A list of the input file descriptors
+ * that we care about. Each list node
+ * contains a GdkInput struct that describes
+ * when we are interested in the specified
+ * file descriptor. That is, when it is
+ * available for read, write or has an
+ * exception pending.
*/
-static guint32 button_click_time[2]; /* The last 2 button click times. Used
- * to determine if the latest button click
- * is part of a double or triple click.
+static guint32 button_click_time[2]; /* The last 2 button click times. Used
+ * to determine if the latest button click
+ * is part of a double or triple click.
*/
-static GdkWindow *button_window[2]; /* The last 2 windows to receive button presses.
- * Also used to determine if the latest button
- * click is part of a double or triple click.
+static GdkWindow *button_window[2]; /* The last 2 windows to receive button presses.
+ * Also used to determine if the latest button
+ * click is part of a double or triple click.
*/
-static guint button_number[2]; /* The last 2 buttons to be pressed.
+static guint button_number[2]; /* The last 2 buttons to be pressed.
*/
static GdkWindowPrivate *xgrab_window = NULL; /* Window that currently holds the
- * x pointer grab
+ * x pointer grab
*/
#ifdef USE_XIM
@@ -235,11 +235,11 @@ static gint autorepeat;
#ifdef G_ENABLE_DEBUG
static GDebugKey gdk_debug_keys[] = {
- {"events", GDK_DEBUG_EVENTS},
- {"misc", GDK_DEBUG_MISC},
- {"dnd", GDK_DEBUG_DND},
+ {"events", GDK_DEBUG_EVENTS},
+ {"misc", GDK_DEBUG_MISC},
+ {"dnd", GDK_DEBUG_DND},
{"color-context", GDK_DEBUG_COLOR_CONTEXT},
- {"xim", GDK_DEBUG_XIM}
+ {"xim", GDK_DEBUG_XIM}
};
static const int gdk_ndebug_keys = sizeof(gdk_debug_keys)/sizeof(GDebugKey);
@@ -268,7 +268,7 @@ static const int gdk_ndebug_keys = sizeof(gdk_debug_keys)/sizeof(GDebugKey);
*/
void
-gdk_init (int *argc,
+gdk_init (int *argc,
char ***argv)
{
XKeyboardState keyboard_state;
@@ -277,10 +277,10 @@ gdk_init (int *argc,
XClassHint *class_hint;
gchar **argv_orig = NULL;
gint argc_orig = 0;
-
+
if (gdk_initialized)
return;
-
+
if (argc && argv)
{
argc_orig = *argc;
@@ -290,9 +290,9 @@ gdk_init (int *argc,
argv_orig[i] = g_strdup ((*argv)[i]);
argv_orig[argc_orig] = NULL;
}
-
+
X_GETTIMEOFDAY (&start);
-
+
#ifndef I_NEED_TO_ACTUALLY_DEBUG_MY_PROGRAMS
signal (SIGHUP, gdk_signal);
signal (SIGINT, gdk_signal);
@@ -302,14 +302,14 @@ gdk_init (int *argc,
signal (SIGPIPE, gdk_signal);
signal (SIGTERM, gdk_signal);
#endif
-
+
gdk_display_name = NULL;
-
+
XSetErrorHandler (gdk_x_error);
XSetIOErrorHandler (gdk_x_io_error);
-
+
synchronize = FALSE;
-
+
#ifdef G_ENABLE_DEBUG
{
gchar *debug_string = getenv("GDK_DEBUG");
@@ -319,20 +319,20 @@ gdk_init (int *argc,
gdk_ndebug_keys);
}
#endif /* G_ENABLE_DEBUG */
-
+
if (argc && argv)
{
if (*argc > 0)
{
gchar *d;
-
+
d = strrchr((*argv)[0],'/');
if (d != NULL)
gdk_progname = g_strdup (d + 1);
else
gdk_progname = g_strdup ((*argv)[0]);
}
-
+
for (i = 1; i < *argc;)
{
#ifdef G_ENABLE_DEBUG
@@ -361,7 +361,7 @@ gdk_init (int *argc,
(strncmp ("--gdk-no-debug=", (*argv)[i], 15) == 0))
{
gchar *equal_pos = strchr ((*argv)[i], '=');
-
+
if (equal_pos != NULL)
{
gdk_debug_flags &= ~g_parse_debug_string (equal_pos+1,
@@ -381,108 +381,108 @@ gdk_init (int *argc,
else
#endif /* G_ENABLE_DEBUG */
if (strcmp ("--display", (*argv)[i]) == 0)
- {
- (*argv)[i] = NULL;
-
- if ((i + 1) < *argc && (*argv)[i + 1])
- {
- gdk_display_name = g_strdup ((*argv)[i + 1]);
- (*argv)[i + 1] = NULL;
- i += 1;
- }
- }
- else if (strcmp ("--sync", (*argv)[i]) == 0)
- {
- (*argv)[i] = NULL;
- synchronize = TRUE;
- }
- else if (strcmp ("--no-xshm", (*argv)[i]) == 0)
- {
- (*argv)[i] = NULL;
- gdk_use_xshm = FALSE;
- }
- else if (strcmp ("--name", (*argv)[i]) == 0)
- {
- if ((i + 1) < *argc && (*argv)[i + 1])
- {
- (*argv)[i++] = NULL;
- gdk_progname = (*argv)[i];
- (*argv)[i] = NULL;
- }
- }
- else if (strcmp ("--class", (*argv)[i]) == 0)
- {
- if ((i + 1) < *argc && (*argv)[i + 1])
- {
- (*argv)[i++] = NULL;
- gdk_progclass = (*argv)[i];
- (*argv)[i] = NULL;
- }
- }
+ {
+ (*argv)[i] = NULL;
+
+ if ((i + 1) < *argc && (*argv)[i + 1])
+ {
+ gdk_display_name = g_strdup ((*argv)[i + 1]);
+ (*argv)[i + 1] = NULL;
+ i += 1;
+ }
+ }
+ else if (strcmp ("--sync", (*argv)[i]) == 0)
+ {
+ (*argv)[i] = NULL;
+ synchronize = TRUE;
+ }
+ else if (strcmp ("--no-xshm", (*argv)[i]) == 0)
+ {
+ (*argv)[i] = NULL;
+ gdk_use_xshm = FALSE;
+ }
+ else if (strcmp ("--name", (*argv)[i]) == 0)
+ {
+ if ((i + 1) < *argc && (*argv)[i + 1])
+ {
+ (*argv)[i++] = NULL;
+ gdk_progname = (*argv)[i];
+ (*argv)[i] = NULL;
+ }
+ }
+ else if (strcmp ("--class", (*argv)[i]) == 0)
+ {
+ if ((i + 1) < *argc && (*argv)[i + 1])
+ {
+ (*argv)[i++] = NULL;
+ gdk_progclass = (*argv)[i];
+ (*argv)[i] = NULL;
+ }
+ }
#ifdef XINPUT_GXI
- else if (strcmp ("--gxid_host", (*argv)[i]) == 0)
- {
- if ((i + 1) < *argc && (*argv)[i + 1])
- {
- (*argv)[i++] = NULL;
- gdk_input_gxid_host = ((*argv)[i]);
- (*argv)[i] = NULL;
- }
- }
- else if (strcmp ("--gxid_port", (*argv)[i]) == 0)
- {
- if ((i + 1) < *argc && (*argv)[i + 1])
- {
- (*argv)[i++] = NULL;
- gdk_input_gxid_port = atoi ((*argv)[i]);
- (*argv)[i] = NULL;
- }
- }
+ else if (strcmp ("--gxid_host", (*argv)[i]) == 0)
+ {
+ if ((i + 1) < *argc && (*argv)[i + 1])
+ {
+ (*argv)[i++] = NULL;
+ gdk_input_gxid_host = ((*argv)[i]);
+ (*argv)[i] = NULL;
+ }
+ }
+ else if (strcmp ("--gxid_port", (*argv)[i]) == 0)
+ {
+ if ((i + 1) < *argc && (*argv)[i + 1])
+ {
+ (*argv)[i++] = NULL;
+ gdk_input_gxid_port = atoi ((*argv)[i]);
+ (*argv)[i] = NULL;
+ }
+ }
#endif
#ifdef USE_XIM
- else if (strcmp ("--xim-preedit", (*argv)[i]) == 0)
- {
- if ((i + 1) < *argc && (*argv)[i + 1])
- {
- (*argv)[i++] = NULL;
- if (strcmp ("none", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMPreeditNone);
- else if (strcmp ("nothing", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMPreeditNothing);
- else if (strcmp ("area", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMPreeditArea);
- else if (strcmp ("position", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMPreeditPosition);
- else if (strcmp ("callbacks", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMPreeditCallbacks);
- }
- }
- else if (strcmp ("--xim-status", (*argv)[i]) == 0)
- {
- if ((i + 1) < *argc && (*argv)[i + 1])
- {
- (*argv)[i++] = NULL;
- if (strcmp ("none", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMStatusNone);
- else if (strcmp ("nothing", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMStatusNothing);
- else if (strcmp ("area", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMStatusArea);
- else if (strcmp ("callbacks", (*argv)[i]) == 0)
- gdk_im_set_best_style (GdkIMStatusCallbacks);
- }
- }
+ else if (strcmp ("--xim-preedit", (*argv)[i]) == 0)
+ {
+ if ((i + 1) < *argc && (*argv)[i + 1])
+ {
+ (*argv)[i++] = NULL;
+ if (strcmp ("none", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMPreeditNone);
+ else if (strcmp ("nothing", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMPreeditNothing);
+ else if (strcmp ("area", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMPreeditArea);
+ else if (strcmp ("position", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMPreeditPosition);
+ else if (strcmp ("callbacks", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMPreeditCallbacks);
+ }
+ }
+ else if (strcmp ("--xim-status", (*argv)[i]) == 0)
+ {
+ if ((i + 1) < *argc && (*argv)[i + 1])
+ {
+ (*argv)[i++] = NULL;
+ if (strcmp ("none", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMStatusNone);
+ else if (strcmp ("nothing", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMStatusNothing);
+ else if (strcmp ("area", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMStatusArea);
+ else if (strcmp ("callbacks", (*argv)[i]) == 0)
+ gdk_im_set_best_style (GdkIMStatusCallbacks);
+ }
+ }
#endif
-
+
i += 1;
}
-
+
for (i = 1; i < *argc; i++)
{
for (k = i; k < *argc; k++)
if ((*argv)[k] != NULL)
break;
-
+
if (k > i)
{
k -= i;
@@ -496,34 +496,34 @@ gdk_init (int *argc,
{
gdk_progname = "<unknown>";
}
-
- GDK_NOTE (MISC, g_print ("Gdk: progname: \"%s\"\n", gdk_progname));
-
+
+ GDK_NOTE (MISC, g_message ("progname: \"%s\"", gdk_progname));
+
gdk_display = XOpenDisplay (gdk_display_name);
if (!gdk_display)
{
g_warning ("cannot open display: %s", XDisplayName (gdk_display_name));
exit(1);
}
-
+
/* This is really crappy. We have to look into the display structure
* to find the base resource id. This is only needed for recording
* and playback of events.
*/
/* base_id = RESOURCE_BASE; */
base_id = 0;
- GDK_NOTE (EVENTS, g_print ("base id: %lu\n", base_id));
-
+ GDK_NOTE (EVENTS, g_message ("base id: %lu", base_id));
+
connection_number = ConnectionNumber (gdk_display);
GDK_NOTE (MISC,
- g_print ("Gdk: connection number: %d\n", connection_number));
-
+ g_message ("connection number: %d", connection_number));
+
if (synchronize)
XSynchronize (gdk_display, True);
-
+
gdk_screen = DefaultScreen (gdk_display);
gdk_root_window = RootWindow (gdk_display, gdk_screen);
-
+
gdk_leader_window = XCreateSimpleWindow(gdk_display, gdk_root_window,
10, 10, 10, 10, 0, 0 , 0);
class_hint = XAllocClassHint();
@@ -548,7 +548,7 @@ gdk_init (int *argc,
gdk_wm_window_protocols[0] = gdk_wm_delete_window;
gdk_wm_window_protocols[1] = gdk_wm_take_focus;
gdk_selection_property = XInternAtom (gdk_display, "GDK_SELECTION", False);
-
+
gdk_dnd.gdk_XdeEnter = gdk_atom_intern("_XDE_ENTER", FALSE);
gdk_dnd.gdk_XdeLeave = gdk_atom_intern("_XDE_LEAVE", FALSE);
gdk_dnd.gdk_XdeRequest = gdk_atom_intern("_XDE_REQUEST", FALSE);
@@ -556,29 +556,29 @@ gdk_init (int *argc,
gdk_dnd.gdk_XdeTypelist = gdk_atom_intern("_XDE_TYPELIST", FALSE);
gdk_dnd.c->gdk_cursor_dragdefault = XCreateFontCursor(gdk_display, XC_bogosity);
gdk_dnd.c->gdk_cursor_dragok = XCreateFontCursor(gdk_display, XC_heart);
-
+
XGetKeyboardControl (gdk_display, &keyboard_state);
autorepeat = keyboard_state.global_auto_repeat;
-
+
timer.tv_sec = 0;
timer.tv_usec = 0;
timerp = NULL;
-
+
button_click_time[0] = 0;
button_click_time[1] = 0;
button_window[0] = NULL;
button_window[1] = NULL;
button_number[0] = -1;
button_number[1] = -1;
-
+
if (ATEXIT (gdk_exit_func))
g_warning ("unable to register exit function");
-
+
gdk_visual_init ();
gdk_window_init ();
gdk_image_init ();
gdk_input_init ();
-
+
#ifdef USE_XIM
/* initialize XIM Protocol variables */
xim_using = FALSE;
@@ -590,10 +590,10 @@ gdk_init (int *argc,
gdk_im_set_best_style (GdkIMStatusCallbacks);
xim_ic = NULL;
xim_window = (GdkWindow*)NULL;
-
+
gdk_im_open (NULL, NULL, NULL);
#endif
-
+
gdk_initialized = 1;
}
@@ -619,9 +619,9 @@ gdk_init (int *argc,
void
gdk_exit (int errorcode)
{
- /* de-initialisation is done by the gdk_exit_funct(),
- no need to do this here (Alex J.) */
- exit (errorcode);
+ /* de-initialisation is done by the gdk_exit_funct(),
+ no need to do this here (Alex J.) */
+ exit (errorcode);
}
/*
@@ -641,19 +641,19 @@ gchar*
gdk_set_locale (void)
{
if (!setlocale (LC_ALL,""))
- g_print ("locale not supported by C library\n");
-
+ g_message ("locale not supported by C library");
+
if (!XSupportsLocale ())
{
- g_print ("locale not supported by Xlib, locale set to C\n");
+ g_message ("locale not supported by Xlib, locale set to C");
setlocale (LC_ALL, "C");
}
-
+
if (!XSetLocaleModifiers (""))
{
- g_print ("can not set locale modifiers\n");
+ g_message ("can not set locale modifiers");
}
-
+
return setlocale (LC_ALL,NULL);
}
@@ -680,9 +680,9 @@ gdk_events_pending (void)
{
gint result;
GList *tmp_list;
-
+
result = XPending (gdk_display);
-
+
tmp_list = putback_events;
while (tmp_list)
{
@@ -717,7 +717,7 @@ graphics_expose_predicate (Display *display,
GdkWindowPrivate *private = (GdkWindowPrivate *)arg;
g_return_val_if_fail (private != NULL, False);
-
+
if ((xevent->xany.window == private->xwindow) &&
((xevent->xany.type == GraphicsExpose) ||
(xevent->xany.type == NoExpose)))
@@ -733,20 +733,20 @@ gdk_event_get_graphics_expose (GdkWindow *window)
GdkEvent *event;
g_return_val_if_fail (window != NULL, NULL);
-
+
XIfEvent (gdk_display, &xevent, graphics_expose_predicate, (XPointer)window);
-
+
if (xevent.xany.type == GraphicsExpose)
{
event = gdk_event_new ();
-
+
if (gdk_event_translate (event, &xevent))
return event;
else
gdk_event_free (event);
}
- return NULL;
+ return NULL;
}
/*
@@ -775,7 +775,7 @@ gdk_event_get (void)
GdkEvent *event;
GList *temp_list;
XEvent xevent;
-
+
#if 0
if (pred)
{
@@ -783,7 +783,7 @@ gdk_event_get (void)
while (temp_list)
{
temp_event = temp_list->data;
-
+
if ((* pred) (temp_event, data))
{
if (event)
@@ -792,29 +792,29 @@ gdk_event_get (void)
g_list_free (temp_list);
return TRUE;
}
-
+
temp_list = temp_list->next;
}
-
+
event_pred.func = pred;
event_pred.data = data;
-
+
if (XCheckIfEvent (gdk_display, &xevent, gdk_event_get_type, (XPointer) & event_pred))
if (event)
return gdk_event_translate (event, &xevent);
}
else
#endif
- if (putback_events)
- {
- event = putback_events->data;
-
- temp_list = putback_events;
- putback_events = g_list_remove_link (putback_events, temp_list);
- g_list_free_1 (temp_list);
-
- return event;
- }
+ if (putback_events)
+ {
+ event = putback_events->data;
+
+ temp_list = putback_events;
+ putback_events = g_list_remove_link (putback_events, temp_list);
+ g_list_free_1 (temp_list);
+
+ return event;
+ }
/* Wait for an event to occur or the timeout to elapse.
* If an event occurs "gdk_event_wait" will return TRUE.
@@ -841,7 +841,7 @@ gdk_event_get (void)
XNextEvent (gdk_display, &xevent);
#endif
event = gdk_event_new ();
-
+
event->any.type = GDK_NOTHING;
event->any.window = NULL;
event->any.send_event = FALSE;
@@ -852,7 +852,7 @@ gdk_event_get (void)
else
gdk_event_free (event);
}
-
+
return NULL;
}
@@ -860,11 +860,11 @@ void
gdk_event_put (GdkEvent *event)
{
GdkEvent *new_event;
-
+
g_return_if_fail (event != NULL);
-
+
new_event = gdk_event_copy (event);
-
+
putback_events = g_list_prepend (putback_events, new_event);
}
@@ -898,9 +898,9 @@ gdk_event_new (void)
sizeof (GdkEvent),
4096,
G_ALLOC_AND_FREE);
-
+
new_event = g_chunk_new (GdkEvent, event_chunk);
-
+
return new_event;
}
@@ -910,25 +910,25 @@ gdk_event_copy (GdkEvent *event)
GdkEvent *new_event;
g_return_val_if_fail (event != NULL, NULL);
-
+
new_event = gdk_event_new ();
-
+
*new_event = *event;
gdk_window_ref (new_event->any.window);
-
+
switch (event->any.type)
{
case GDK_KEY_PRESS:
case GDK_KEY_RELEASE:
new_event->key.string = g_strdup (event->key.string);
break;
-
+
case GDK_ENTER_NOTIFY:
case GDK_LEAVE_NOTIFY:
if (event->crossing.subwindow != NULL)
gdk_window_ref (event->crossing.subwindow);
break;
-
+
case GDK_DROP_DATA_AVAIL:
new_event->dropdataavailable.data_type = g_strdup (event->dropdataavailable.data_type);
new_event->dropdataavailable.data = g_malloc (event->dropdataavailable.data_numbytes);
@@ -936,11 +936,11 @@ gdk_event_copy (GdkEvent *event)
event->dropdataavailable.data,
event->dropdataavailable.data_numbytes);
break;
-
+
default:
break;
}
-
+
return new_event;
}
@@ -967,36 +967,36 @@ gdk_event_free (GdkEvent *event)
{
g_assert (event_chunk != NULL);
g_return_if_fail (event != NULL);
-
+
if (event->any.window)
gdk_window_unref (event->any.window);
-
+
switch (event->any.type)
{
case GDK_KEY_PRESS:
case GDK_KEY_RELEASE:
g_free (event->key.string);
break;
-
+
case GDK_ENTER_NOTIFY:
case GDK_LEAVE_NOTIFY:
if (event->crossing.subwindow != NULL)
gdk_window_unref (event->crossing.subwindow);
break;
-
+
case GDK_DROP_DATA_AVAIL:
g_free (event->dropdataavailable.data_type);
g_free (event->dropdataavailable.data);
break;
-
+
case GDK_DRAG_REQUEST:
g_free (event->dragrequest.data_type);
break;
-
+
default:
break;
}
-
+
g_mem_chunk_free (event_chunk, event);
}
@@ -1073,9 +1073,9 @@ gdk_time_get (void)
struct timeval end;
struct timeval elapsed;
guint32 milliseconds;
-
+
X_GETTIMEOFDAY (&end);
-
+
if (start.tv_usec > end.tv_usec)
{
end.tv_usec += 1000000;
@@ -1083,9 +1083,9 @@ gdk_time_get (void)
}
elapsed.tv_sec = end.tv_sec - start.tv_sec;
elapsed.tv_usec = end.tv_usec - start.tv_usec;
-
+
milliseconds = (elapsed.tv_sec * 1000) + (elapsed.tv_usec / 1000);
-
+
return milliseconds;
}
@@ -1138,7 +1138,7 @@ gdk_timer_set (guint32 milliseconds)
timer_val = milliseconds;
timer.tv_sec = milliseconds / 1000;
timer.tv_usec = (milliseconds % 1000) * 1000;
-
+
}
void
@@ -1154,25 +1154,25 @@ gdk_timer_disable (void)
}
gint
-gdk_input_add_full (gint source,
+gdk_input_add_full (gint source,
GdkInputCondition condition,
GdkInputFunction function,
- gpointer data,
+ gpointer data,
GdkDestroyNotify destroy)
{
static gint next_tag = 1;
GList *list;
GdkInput *input;
gint tag;
-
+
tag = 0;
list = inputs;
-
+
while (list)
{
input = list->data;
list = list->next;
-
+
if ((input->source == source) && (input->condition == condition))
{
if (input->destroy)
@@ -1183,7 +1183,7 @@ gdk_input_add_full (gint source,
tag = input->tag;
}
}
-
+
if (!tag)
{
input = g_new (GdkInput, 1);
@@ -1194,18 +1194,18 @@ gdk_input_add_full (gint source,
input->data = data;
input->destroy = destroy;
tag = input->tag;
-
+
inputs = g_list_prepend (inputs, input);
}
-
+
return tag;
}
gint
-gdk_input_add (gint source,
+gdk_input_add (gint source,
GdkInputCondition condition,
- GdkInputFunction function,
- gpointer data)
+ GdkInputFunction function,
+ gpointer data)
{
return gdk_input_add_interp (source, condition, function, data, NULL);
}
@@ -1215,23 +1215,23 @@ gdk_input_remove (gint tag)
{
GList *list;
GdkInput *input;
-
+
list = inputs;
while (list)
{
input = list->data;
-
+
if (input->tag == tag)
{
if (input->destroy)
(input->destroy) (input->data);
-
- input->tag = 0; /* do not free it here */
- input->condition = 0; /* it's done in gdk_event_wait */
-
+
+ input->tag = 0; /* do not free it here */
+ input->condition = 0; /* it's done in gdk_event_wait */
+
break;
}
-
+
list = list->next;
}
}
@@ -1260,17 +1260,17 @@ gdk_input_remove (gint tag)
*/
gint
-gdk_pointer_grab (GdkWindow * window,
- gint owner_events,
- GdkEventMask event_mask,
- GdkWindow * confine_to,
- GdkCursor * cursor,
- guint32 time)
+gdk_pointer_grab (GdkWindow * window,
+ gint owner_events,
+ GdkEventMask event_mask,
+ GdkWindow * confine_to,
+ GdkCursor * cursor,
+ guint32 time)
{
- /* From gdkwindow.c */
+ /* From gdkwindow.c */
extern int nevent_masks;
extern int event_mask_table[];
-
+
gint return_val;
GdkWindowPrivate *window_private;
GdkWindowPrivate *confine_to_private;
@@ -1280,33 +1280,33 @@ gdk_pointer_grab (GdkWindow * window,
Window xconfine_to;
Cursor xcursor;
int i;
-
+
g_return_val_if_fail (window != NULL, 0);
-
+
window_private = (GdkWindowPrivate*) window;
confine_to_private = (GdkWindowPrivate*) confine_to;
cursor_private = (GdkCursorPrivate*) cursor;
-
+
xwindow = window_private->xwindow;
-
+
if (!confine_to || confine_to_private->destroyed)
xconfine_to = None;
else
xconfine_to = confine_to_private->xwindow;
-
+
if (!cursor)
xcursor = None;
else
xcursor = cursor_private->xcursor;
-
-
+
+
xevent_mask = 0;
for (i = 0; i < nevent_masks; i++)
{
if (event_mask & (1 << (i + 1)))
xevent_mask |= event_mask_table[i];
}
-
+
if (((GdkWindowPrivate *)window)->extension_events &&
gdk_input_vtable.grab_pointer)
return_val = gdk_input_vtable.grab_pointer (window,
@@ -1331,7 +1331,7 @@ gdk_pointer_grab (GdkWindow * window,
else
return_val = AlreadyGrabbed;
}
-
+
if (return_val == GrabSuccess)
xgrab_window = window_private;
@@ -1358,7 +1358,7 @@ gdk_pointer_ungrab (guint32 time)
{
if (gdk_input_vtable.ungrab_pointer)
gdk_input_vtable.ungrab_pointer (time);
-
+
XUngrabPointer (gdk_display, time);
xgrab_window = NULL;
}
@@ -1405,18 +1405,18 @@ gdk_pointer_is_grabbed (void)
*/
gint
-gdk_keyboard_grab (GdkWindow * window,
- gint owner_events,
- guint32 time)
+gdk_keyboard_grab (GdkWindow * window,
+ gint owner_events,
+ guint32 time)
{
GdkWindowPrivate *window_private;
Window xwindow;
-
+
g_return_val_if_fail (window != NULL, 0);
-
+
window_private = (GdkWindowPrivate*) window;
xwindow = window_private->xwindow;
-
+
if (!window_private->destroyed)
return XGrabKeyboard (window_private->xdisplay,
xwindow,
@@ -1467,9 +1467,9 @@ gint
gdk_screen_width (void)
{
gint return_val;
-
+
return_val = DisplayWidth (gdk_display, gdk_screen);
-
+
return return_val;
}
@@ -1492,9 +1492,9 @@ gint
gdk_screen_height (void)
{
gint return_val;
-
+
return_val = DisplayHeight (gdk_display, gdk_screen);
-
+
return return_val;
}
@@ -1517,9 +1517,9 @@ gint
gdk_screen_width_mm (void)
{
gint return_val;
-
+
return_val = DisplayWidthMM (gdk_display, gdk_screen);
-
+
return return_val;
}
@@ -1542,9 +1542,9 @@ gint
gdk_screen_height_mm (void)
{
gint return_val;
-
+
return_val = DisplayHeightMM (gdk_display, gdk_screen);
-
+
return return_val;
}
@@ -1624,7 +1624,7 @@ gdk_event_wait (void)
SELECT_MASK exceptfds;
int max_input;
int nfd;
-
+
/* If there are no events pending we will wait for an event.
* The time we wait is dependant on the "timer". If no timer
* has been specified then we'll block until an event arrives.
@@ -1632,21 +1632,21 @@ gdk_event_wait (void)
* arrives or the timer expires. (This is all done using the
* "select" system call).
*/
-
+
if (XPending (gdk_display) == 0)
{
FD_ZERO (&readfds);
FD_ZERO (&writefds);
FD_ZERO (&exceptfds);
-
+
FD_SET (connection_number, &readfds);
max_input = connection_number;
-
+
list = inputs;
while (list)
{
input = list->data;
-
+
if (input->tag)
{
if (input->condition & GDK_INPUT_READ)
@@ -1655,14 +1655,14 @@ gdk_event_wait (void)
FD_SET (input->source, &writefds);
if (input->condition & GDK_INPUT_EXCEPTION)
FD_SET (input->source, &exceptfds);
-
+
max_input = MAX (max_input, input->source);
list = list->next;
}
- else /* free removed inputs */
+ else /* free removed inputs */
{
temp_list = list;
-
+
if (list->next)
list->next->prev = list->prev;
if (list->prev)
@@ -1671,28 +1671,28 @@ gdk_event_wait (void)
inputs = list->next;
list = list->next;
-
+
temp_list->next = NULL;
temp_list->prev = NULL;
-
+
g_free (temp_list->data);
g_list_free (temp_list);
}
}
-
+
#ifdef USE_PTHREADS
if (gdk_using_threads)
{
gdk_select_waiting = TRUE;
-
+
FD_SET (gdk_threads_pipe[0], &readfds);
max_input = MAX (max_input, gdk_threads_pipe[0]);
gdk_threads_leave ();
}
#endif
-
+
nfd = select (max_input+1, &readfds, &writefds, &exceptfds, timerp);
-
+
#ifdef USE_PTHREADS
if (gdk_using_threads)
{
@@ -1704,10 +1704,10 @@ gdk_event_wait (void)
read (gdk_threads_pipe[0], &c, 1);
}
#endif
-
+
timerp = NULL;
timer_val = 0;
-
+
if (nfd > 0)
{
if (FD_ISSET (connection_number, &readfds))
@@ -1724,13 +1724,13 @@ gdk_event_wait (void)
else
return TRUE;
}
-
+
list = inputs;
while (list)
{
input = list->data;
list = list->next;
-
+
condition = 0;
if (FD_ISSET (input->source, &readfds))
condition |= GDK_INPUT_READ;
@@ -1738,7 +1738,7 @@ gdk_event_wait (void)
condition |= GDK_INPUT_WRITE;
if (FD_ISSET (input->source, &exceptfds))
condition |= GDK_INPUT_EXCEPTION;
-
+
if (condition && input->function)
(* input->function) (input->data, input->source, condition);
}
@@ -1746,7 +1746,7 @@ gdk_event_wait (void)
}
else
return TRUE;
-
+
return FALSE;
}
@@ -1758,20 +1758,20 @@ gdk_event_apply_filters (XEvent *xevent,
GdkEventFilter *filter;
GList *tmp_list;
GdkFilterReturn result;
-
+
tmp_list = filters;
while (tmp_list)
{
filter = (GdkEventFilter *)tmp_list->data;
-
+
result = (*filter->function)(xevent, event, filter->data);
if (result != GDK_FILTER_CONTINUE)
return result;
-
+
tmp_list = tmp_list->next;
}
-
+
return GDK_FILTER_CONTINUE;
}
@@ -1779,7 +1779,7 @@ static gint
gdk_event_translate (GdkEvent *event,
XEvent *xevent)
{
-
+
GdkWindow *window;
GdkWindowPrivate *window_private;
static XComposeStatus compose;
@@ -1792,13 +1792,13 @@ gdk_event_translate (GdkEvent *event,
char buf[16];
#endif
gint return_val;
-
+
return_val = FALSE;
-
+
/* We need to play catch-up with the dnd motion events */
if(gdk_dnd.drag_really && xevent->type == MotionNotify)
- while (XCheckTypedEvent(xevent->xany.display,MotionNotify,xevent));
-
+ while (XCheckTypedEvent(xevent->xany.display,MotionNotify,xevent));
+
/* Find the GdkWindow that this event occurred in.
* All events occur in some GdkWindow (otherwise, why
* would we be receiving them). It really is an error
@@ -1807,30 +1807,30 @@ gdk_event_translate (GdkEvent *event,
* specially - they are generated by XFree86's XInput under
* some circumstances.
*/
-
+
if ((xevent->xany.window == None) &&
gdk_input_vtable.window_none_event)
{
return_val = gdk_input_vtable.window_none_event (event,xevent);
-
+
if (return_val >= 0) /* was handled */
return return_val;
else
return_val = FALSE;
}
-
+
window = gdk_window_lookup (xevent->xany.window);
window_private = (GdkWindowPrivate *) window;
-
+
if (window != NULL)
gdk_window_ref (window);
else if(gdk_null_window_warnings) /* Special purpose programs that
get events for other windows may
want to disable this */
g_warning ("%#lx -> NULL\n", xevent->xany.window);
-
+
/* Check for filters for this window */
-
+
{
GdkFilterReturn result;
result = gdk_event_apply_filters (xevent, event,
@@ -1843,7 +1843,7 @@ gdk_event_translate (GdkEvent *event,
return (result == GDK_FILTER_TRANSLATE) ? TRUE : FALSE;
}
}
-
+
/* We do a "manual" conversion of the XEvent to a
* GdkEvent. The structures are mostly the same so
* the conversion is fairly straightforward. We also
@@ -1861,12 +1861,12 @@ gdk_event_translate (GdkEvent *event,
*/
#ifdef USE_XIM
if (buf_len == 0)
- {
+ {
buf_len = 128;
buf = g_new (gchar, buf_len);
}
keysym = GDK_VoidSymbol;
-
+
if (xim_using == TRUE && xim_ic)
{
Status status;
@@ -1876,15 +1876,15 @@ gdk_event_translate (GdkEvent *event,
&xevent->xkey, buf, buf_len-1,
&keysym, &status);
if (status == XBufferOverflow)
- { /* retry */
+ { /* retry */
/* alloc adequate size of buffer */
GDK_NOTE (XIM,
- g_print("XIM: overflow (required %i)\n", charcount));
-
+ g_message("XIM: overflow (required %i)", charcount));
+
while (buf_len <= charcount)
buf_len *= 2;
buf = (gchar *) g_realloc (buf, buf_len);
-
+
charcount = XmbLookupString (xim_ic->xic,
&xevent->xkey, buf, buf_len-1,
&keysym, &status);
@@ -1903,41 +1903,41 @@ gdk_event_translate (GdkEvent *event,
&keysym, &compose);
#endif
event->key.keyval = keysym;
-
+
if (charcount > 0 && buf[charcount-1] == '\0')
charcount --;
else
buf[charcount] = '\0';
-
+
/* Print debugging info.
*/
#ifdef G_ENABLE_DEBUG
if (gdk_debug_flags & GDK_DEBUG_EVENTS)
{
- g_print ("key press:\twindow: %ld key: %12s %d\n",
- xevent->xkey.window - base_id,
- event->key.keyval ? XKeysymToString (event->key.keyval) : "(none)",
- event->key.keyval);
+ g_message ("key press:\twindow: %ld key: %12s %d",
+ xevent->xkey.window - base_id,
+ event->key.keyval ? XKeysymToString (event->key.keyval) : "(none)",
+ event->key.keyval);
if (charcount > 0)
- g_print ("\t\tlength: %4d string: \"%s\"\n",
- charcount, buf);
+ g_message ("\t\tlength: %4d string: \"%s\"",
+ charcount, buf);
}
#endif /* G_ENABLE_DEBUG */
-
+
event->key.type = GDK_KEY_PRESS;
event->key.window = window;
event->key.time = xevent->xkey.time;
event->key.state = (GdkModifierType) xevent->xkey.state;
event->key.string = g_strdup (buf);
event->key.length = charcount;
-
+
return_val = window_private && !window_private->destroyed;
if (!return_val)
g_free (event->key.string);
break;
-
+
case KeyRelease:
/* Lookup the string corresponding to the given keysym.
*/
@@ -1945,40 +1945,40 @@ gdk_event_translate (GdkEvent *event,
charcount = XLookupString (&xevent->xkey, buf, 16,
&keysym, &compose);
event->key.keyval = keysym;
-
+
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("key release:\t\twindow: %ld key: %12s %d\n",
- xevent->xkey.window - base_id,
- XKeysymToString (event->key.keyval),
- event->key.keyval));
-
+ g_message ("key release:\t\twindow: %ld key: %12s %d",
+ xevent->xkey.window - base_id,
+ XKeysymToString (event->key.keyval),
+ event->key.keyval));
+
event->key.type = GDK_KEY_RELEASE;
event->key.window = window;
event->key.time = xevent->xkey.time;
event->key.state = (GdkModifierType) xevent->xkey.state;
event->key.length = 0;
event->key.string = NULL;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case ButtonPress:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("button press[%d]:\t\twindow: %ld x,y: %d %d button: %d\n",
- window_private?window_private->dnd_drag_enabled:0,
- xevent->xbutton.window - base_id,
- xevent->xbutton.x, xevent->xbutton.y,
- xevent->xbutton.button));
-
+ g_message ("button press[%d]:\t\twindow: %ld x,y: %d %d button: %d",
+ window_private?window_private->dnd_drag_enabled:0,
+ xevent->xbutton.window - base_id,
+ xevent->xbutton.x, xevent->xbutton.y,
+ xevent->xbutton.button));
+
if (window_private &&
(window_private->extension_events != 0) &&
gdk_input_ignore_core)
break;
-
+
event->button.type = GDK_BUTTON_PRESS;
event->button.window = window;
event->button.time = xevent->xbutton.time;
@@ -1993,13 +1993,13 @@ gdk_event_translate (GdkEvent *event,
event->button.button = xevent->xbutton.button;
event->button.source = GDK_SOURCE_MOUSE;
event->button.deviceid = GDK_CORE_POINTER;
-
+
if ((event->button.time < (button_click_time[1] + TRIPLE_CLICK_TIME)) &&
(event->button.window == button_window[1]) &&
(event->button.button == button_number[1]))
{
gdk_synthesize_click (event, 3);
-
+
button_click_time[1] = 0;
button_click_time[0] = 0;
button_window[1] = NULL;
@@ -2012,7 +2012,7 @@ gdk_event_translate (GdkEvent *event,
(event->button.button == button_number[0]))
{
gdk_synthesize_click (event, 2);
-
+
button_click_time[1] = button_click_time[0];
button_click_time[0] = event->button.time;
button_window[1] = button_window[0];
@@ -2047,13 +2047,13 @@ gdk_event_translate (GdkEvent *event,
}
gdk_dnd.drag_numwindows = gdk_dnd.drag_really = 0;
gdk_dnd.dnd_grabbed = FALSE;
-
+
{
/* Set motion mask for first DnD'd window, since it
will be the one that is actually dragged */
XWindowAttributes dnd_winattr;
XSetWindowAttributes dnd_setwinattr;
-
+
/* We need to get motion events while the button is down, so
we can know whether to really start dragging or not... */
XGetWindowAttributes(gdk_display, (Window)window_private->xwindow,
@@ -2062,29 +2062,29 @@ gdk_event_translate (GdkEvent *event,
window_private->dnd_drag_savedeventmask = dnd_winattr.your_event_mask;
dnd_setwinattr.event_mask =
window_private->dnd_drag_eventmask = ButtonMotionMask | ButtonPressMask | ButtonReleaseMask |
- EnterWindowMask | LeaveWindowMask | ExposureMask;
+ EnterWindowMask | LeaveWindowMask | ExposureMask;
XChangeWindowAttributes(gdk_display, window_private->xwindow,
CWEventMask, &dnd_setwinattr);
+ }
}
- }
return_val = window_private && !window_private->destroyed;
break;
-
+
case ButtonRelease:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("button release[%d]:\twindow: %ld x,y: %d %d button: %d\n",
- window_private?window_private->dnd_drag_enabled:0,
- xevent->xbutton.window - base_id,
- xevent->xbutton.x, xevent->xbutton.y,
- xevent->xbutton.button));
-
+ g_message ("button release[%d]:\twindow: %ld x,y: %d %d button: %d",
+ window_private?window_private->dnd_drag_enabled:0,
+ xevent->xbutton.window - base_id,
+ xevent->xbutton.x, xevent->xbutton.y,
+ xevent->xbutton.button));
+
if (window_private &&
(window_private->extension_events != 0) &&
gdk_input_ignore_core)
break;
-
+
event->button.type = GDK_BUTTON_RELEASE;
event->button.window = window;
event->button.time = xevent->xbutton.time;
@@ -2099,7 +2099,7 @@ gdk_event_translate (GdkEvent *event,
event->button.button = xevent->xbutton.button;
event->button.source = GDK_SOURCE_MOUSE;
event->button.deviceid = GDK_CORE_POINTER;
-
+
gdk_dnd.last_drop_time = xevent->xbutton.time;
if(gdk_dnd.drag_perhaps)
{
@@ -2109,7 +2109,7 @@ gdk_event_translate (GdkEvent *event,
doesn't change during drag */
attrs.event_mask = gdk_dnd.real_sw->dnd_drag_savedeventmask;
XChangeWindowAttributes(gdk_display, gdk_dnd.real_sw->xwindow,
- CWEventMask, &attrs);
+ CWEventMask, &attrs);
}
if (gdk_dnd.dnd_grabbed)
@@ -2121,51 +2121,51 @@ gdk_event_translate (GdkEvent *event,
gdk_dnd.dnd_grabbed = FALSE;
}
- if(gdk_dnd.drag_really)
- {
- GdkPoint foo;
- foo.x = xevent->xbutton.x_root;
- foo.y = xevent->xbutton.y_root;
-
- if(gdk_dnd.dnd_drag_target != None)
- gdk_dnd_drag_end(gdk_dnd.dnd_drag_target, foo);
- gdk_dnd.drag_really = 0;
-
- gdk_dnd.drag_numwindows = 0;
- if(gdk_dnd.drag_startwindows)
+ if(gdk_dnd.drag_really)
{
- g_free(gdk_dnd.drag_startwindows);
- gdk_dnd.drag_startwindows = NULL;
+ GdkPoint foo;
+ foo.x = xevent->xbutton.x_root;
+ foo.y = xevent->xbutton.y_root;
+
+ if(gdk_dnd.dnd_drag_target != None)
+ gdk_dnd_drag_end(gdk_dnd.dnd_drag_target, foo);
+ gdk_dnd.drag_really = 0;
+
+ gdk_dnd.drag_numwindows = 0;
+ if(gdk_dnd.drag_startwindows)
+ {
+ g_free(gdk_dnd.drag_startwindows);
+ gdk_dnd.drag_startwindows = NULL;
+ }
+
+ gdk_dnd.real_sw = NULL;
}
-
- gdk_dnd.real_sw = NULL;
- }
-
- gdk_dnd.drag_perhaps = 0;
- gdk_dnd.dnd_drag_start.x = gdk_dnd.dnd_drag_start.y = 0;
- gdk_dnd.dnd_drag_dropzone.x = gdk_dnd.dnd_drag_dropzone.y = 0;
- gdk_dnd.dnd_drag_dropzone.width = gdk_dnd.dnd_drag_dropzone.height = 0;
- gdk_dnd.dnd_drag_curwin = None;
- return_val = window_private?TRUE:FALSE;
- } else
- return_val = window_private && !window_private->destroyed;
+
+ gdk_dnd.drag_perhaps = 0;
+ gdk_dnd.dnd_drag_start.x = gdk_dnd.dnd_drag_start.y = 0;
+ gdk_dnd.dnd_drag_dropzone.x = gdk_dnd.dnd_drag_dropzone.y = 0;
+ gdk_dnd.dnd_drag_dropzone.width = gdk_dnd.dnd_drag_dropzone.height = 0;
+ gdk_dnd.dnd_drag_curwin = None;
+ return_val = window_private?TRUE:FALSE;
+ } else
+ return_val = window_private && !window_private->destroyed;
break;
-
+
case MotionNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("motion notify:\t\twindow: %ld x,y: %d %d hint: %s d:%d r%d\n",
- xevent->xmotion.window - base_id,
- xevent->xmotion.x, xevent->xmotion.y,
- (xevent->xmotion.is_hint) ? "true" : "false",
- gdk_dnd.drag_perhaps, gdk_dnd.drag_really));
-
+ g_message ("motion notify:\t\twindow: %ld x,y: %d %d hint: %s d:%d r%d",
+ xevent->xmotion.window - base_id,
+ xevent->xmotion.x, xevent->xmotion.y,
+ (xevent->xmotion.is_hint) ? "true" : "false",
+ gdk_dnd.drag_perhaps, gdk_dnd.drag_really));
+
if (window_private &&
(window_private->extension_events != 0) &&
gdk_input_ignore_core)
break;
-
+
event->motion.type = GDK_MOTION_NOTIFY;
event->motion.window = window;
event->motion.time = xevent->xmotion.time;
@@ -2180,12 +2180,12 @@ gdk_event_translate (GdkEvent *event,
event->motion.is_hint = xevent->xmotion.is_hint;
event->motion.source = GDK_SOURCE_MOUSE;
event->motion.deviceid = GDK_CORE_POINTER;
-
+
#define IS_IN_ZONE(cx, cy) (cx >= gdk_dnd.dnd_drag_dropzone.x \
&& cy >= gdk_dnd.dnd_drag_dropzone.y \
&& cx < (gdk_dnd.dnd_drag_dropzone.x + gdk_dnd.dnd_drag_dropzone.width) \
&& cy < (gdk_dnd.dnd_drag_dropzone.y + gdk_dnd.dnd_drag_dropzone.height))
-
+
if(gdk_dnd.drag_perhaps && gdk_dnd.drag_really
/* && event->motion.is_hint */ /* HINTME */)
{
@@ -2199,13 +2199,13 @@ gdk_event_translate (GdkEvent *event,
#endif
Window childwin = gdk_root_window;
int x, y, ox, oy;
-
+
/* Interlude - display cursor for the drag ASAP */
gdk_dnd_display_drag_cursor(xevent->xmotion.x_root,
xevent->xmotion.y_root,
gdk_dnd.dnd_drag_target?TRUE:FALSE,
FALSE);
-
+
lastwin = curwin;
curwin = gdk_root_window;
ox = x = xevent->xmotion.x_root;
@@ -2231,23 +2231,23 @@ gdk_event_translate (GdkEvent *event,
}
#endif
GDK_NOTE (DND,
- g_print("Drag is now in window %#lx, lastwin was %#lx, ddc = %#lx\n",
- curwin, lastwin, gdk_dnd.dnd_drag_curwin));
+ g_message("Drag is now in window %#lx, lastwin was %#lx, ddc = %#lx",
+ curwin, lastwin, gdk_dnd.dnd_drag_curwin));
if(curwin != gdk_dnd.dnd_drag_curwin && curwin != lastwin)
{
/* We have left one window and entered another
(do leave & enter bits) */
if(gdk_dnd.dnd_drag_curwin != None)
- gdk_dnd_drag_leave(gdk_dnd.dnd_drag_curwin);
+ gdk_dnd_drag_leave(gdk_dnd.dnd_drag_curwin);
gdk_dnd.dnd_drag_curwin = curwin;
gdk_dnd_drag_enter(gdk_dnd.dnd_drag_curwin);
gdk_dnd.dnd_drag_dropzone.x = gdk_dnd.dnd_drag_dropzone.y = 0;
gdk_dnd.dnd_drag_dropzone.width = gdk_dnd.dnd_drag_dropzone.height = 0;
gdk_dnd.dnd_drag_target = None;
GDK_NOTE (DND,
- g_print("curwin = %#lx, lastwin = %#lx, dnd_drag_curwin = %#lx\n",
- curwin, lastwin, gdk_dnd.dnd_drag_curwin));
-
+ g_message("curwin = %#lx, lastwin = %#lx, dnd_drag_curwin = %#lx",
+ curwin, lastwin, gdk_dnd.dnd_drag_curwin));
+
gdk_dnd_display_drag_cursor(xevent->xmotion.x_root,
xevent->xmotion.y_root,
FALSE, TRUE);
@@ -2263,7 +2263,7 @@ gdk_event_translate (GdkEvent *event,
xevent->xmotion.y_root);
gboolean old_in_zone = IS_IN_ZONE(gdk_dnd.dnd_drag_oldpos.x,
gdk_dnd.dnd_drag_oldpos.y);
-
+
if (!in_zone && old_in_zone)
{
/* We were in the drop zone and moved out */
@@ -2284,31 +2284,31 @@ gdk_event_translate (GdkEvent *event,
}
}
} /* else
- dnd_drag_curwin = None; */
+ dnd_drag_curwin = None; */
return_val = FALSE;
}
else
return_val = window_private && !window_private->destroyed;
break;
-
+
case EnterNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("enter notify:\t\twindow: %ld detail: %d subwin: %ld\n",
- xevent->xcrossing.window - base_id,
- xevent->xcrossing.detail,
- xevent->xcrossing.subwindow - base_id));
-
+ g_message ("enter notify:\t\twindow: %ld detail: %d subwin: %ld",
+ xevent->xcrossing.window - base_id,
+ xevent->xcrossing.detail,
+ xevent->xcrossing.subwindow - base_id));
+
/* Tell XInput stuff about it if appropriate */
if (window_private &&
(window_private->extension_events != 0) &&
gdk_input_vtable.enter_event)
gdk_input_vtable.enter_event (&xevent->xcrossing, window);
-
+
event->crossing.type = GDK_ENTER_NOTIFY;
event->crossing.window = window;
-
+
/* If the subwindow field of the XEvent is non-NULL, then
* lookup the corresponding GdkWindow.
*/
@@ -2316,13 +2316,13 @@ gdk_event_translate (GdkEvent *event,
event->crossing.subwindow = gdk_window_lookup (xevent->xcrossing.subwindow);
else
event->crossing.subwindow = NULL;
-
+
event->crossing.time = xevent->xcrossing.time;
event->crossing.x = xevent->xcrossing.x;
event->crossing.y = xevent->xcrossing.y;
event->crossing.x_root = xevent->xcrossing.x_root;
event->crossing.y_root = xevent->xcrossing.y_root;
-
+
/* Translate the crossing mode into Gdk terms.
*/
switch (xevent->xcrossing.mode)
@@ -2337,7 +2337,7 @@ gdk_event_translate (GdkEvent *event,
event->crossing.mode = GDK_CROSSING_UNGRAB;
break;
};
-
+
/* Translate the crossing detail into Gdk terms.
*/
switch (xevent->xcrossing.detail)
@@ -2361,52 +2361,52 @@ gdk_event_translate (GdkEvent *event,
event->crossing.detail = GDK_NOTIFY_UNKNOWN;
break;
}
-
+
event->crossing.focus = xevent->xcrossing.focus;
event->crossing.state = xevent->xcrossing.state;
-
+
#ifdef G_ENABLE_DEBUG
- if ((gdk_debug_flags & GDK_DEBUG_DND) & gdk_dnd.drag_perhaps)
- {
- g_print("We may[%d] have a drag into %#lx = %#lx\n",
+ if ((gdk_debug_flags & GDK_DEBUG_DND) & gdk_dnd.drag_perhaps)
+ {
+ g_message("We may[%d] have a drag into %#lx = %#lx",
gdk_dnd.drag_really,
xevent->xcrossing.window, gdk_dnd.real_sw->xwindow);
- }
+ }
#endif /* G_ENABLE_DEBUG */
-
- if (gdk_dnd.drag_perhaps && gdk_dnd.drag_really &&
- (xevent->xcrossing.window == gdk_dnd.real_sw->xwindow))
- {
+
+ if (gdk_dnd.drag_perhaps && gdk_dnd.drag_really &&
+ (xevent->xcrossing.window == gdk_dnd.real_sw->xwindow))
+ {
#if 0
- gdk_dnd.drag_really = 0;
-
- GDK_NOTE (DND, g_print("Ungrabbed\n"));
-
- gdk_dnd.drag_numwindows = 0;
- g_free(gdk_dnd.drag_startwindows);
- gdk_dnd.drag_startwindows = NULL;
- /* We don't want to ungrab the pointer here, or we'll
- * start getting spurious enter/leave events */
+ gdk_dnd.drag_really = 0;
+
+ GDK_NOTE (DND, g_message("Ungrabbed"));
+
+ gdk_dnd.drag_numwindows = 0;
+ g_free(gdk_dnd.drag_startwindows);
+ gdk_dnd.drag_startwindows = NULL;
+ /* We don't want to ungrab the pointer here, or we'll
+ * start getting spurious enter/leave events */
#endif
#if 0
- XChangeActivePointerGrab (gdk_display, 0, None, CurrentTime);
+ XChangeActivePointerGrab (gdk_display, 0, None, CurrentTime);
#endif
- }
-
- return_val = window_private && !window_private->destroyed;
- break;
-
+ }
+
+ return_val = window_private && !window_private->destroyed;
+ break;
+
case LeaveNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("leave notify:\t\twindow: %ld detail: %d subwin: %ld\n",
- xevent->xcrossing.window - base_id,
- xevent->xcrossing.detail, xevent->xcrossing.subwindow - base_id));
-
+ g_message ("leave notify:\t\twindow: %ld detail: %d subwin: %ld",
+ xevent->xcrossing.window - base_id,
+ xevent->xcrossing.detail, xevent->xcrossing.subwindow - base_id));
+
event->crossing.type = GDK_LEAVE_NOTIFY;
event->crossing.window = window;
-
+
/* If the subwindow field of the XEvent is non-NULL, then
* lookup the corresponding GdkWindow.
*/
@@ -2414,13 +2414,13 @@ gdk_event_translate (GdkEvent *event,
event->crossing.subwindow = gdk_window_lookup (xevent->xcrossing.subwindow);
else
event->crossing.subwindow = NULL;
-
+
event->crossing.time = xevent->xcrossing.time;
event->crossing.x = xevent->xcrossing.x;
event->crossing.y = xevent->xcrossing.y;
event->crossing.x_root = xevent->xcrossing.x_root;
event->crossing.y_root = xevent->xcrossing.y_root;
-
+
/* Translate the crossing mode into Gdk terms.
*/
switch (xevent->xcrossing.mode)
@@ -2435,7 +2435,7 @@ gdk_event_translate (GdkEvent *event,
event->crossing.mode = GDK_CROSSING_UNGRAB;
break;
};
-
+
/* Translate the crossing detail into Gdk terms.
*/
switch (xevent->xcrossing.detail)
@@ -2459,16 +2459,16 @@ gdk_event_translate (GdkEvent *event,
event->crossing.detail = GDK_NOTIFY_UNKNOWN;
break;
}
-
+
event->crossing.focus = xevent->xcrossing.focus;
event->crossing.state = xevent->xcrossing.state;
-
+
#ifdef G_ENABLE_DEBUG
if ((gdk_debug_flags & GDK_DEBUG_DND) & gdk_dnd.drag_perhaps)
{
- g_print("We may[%d] have a drag out of %#lx = %#lx\n",
- gdk_dnd.drag_really,
- xevent->xcrossing.window, gdk_dnd.real_sw->xwindow);
+ g_message("We may[%d] have a drag out of %#lx = %#lx",
+ gdk_dnd.drag_really,
+ xevent->xcrossing.window, gdk_dnd.real_sw->xwindow);
}
#endif /* G_ENABLE_DEBUG */
if (gdk_dnd.drag_perhaps && !gdk_dnd.drag_really &&
@@ -2478,14 +2478,14 @@ gdk_event_translate (GdkEvent *event,
gdk_dnd_drag_addwindow((GdkWindow *) gdk_dnd.real_sw);
gdk_dnd_drag_begin((GdkWindow *) gdk_dnd.real_sw);
xgpret =
- XGrabPointer(gdk_display, gdk_dnd.real_sw->xwindow, False,
- ButtonMotionMask | PointerMotionMask |
- /* PointerMotionHintMask | */ /* HINTME */
- ButtonPressMask | ButtonReleaseMask,
- GrabModeAsync, GrabModeAsync, None,
- None, CurrentTime);
+ XGrabPointer(gdk_display, gdk_dnd.real_sw->xwindow, False,
+ ButtonMotionMask | PointerMotionMask |
+ /* PointerMotionHintMask | */ /* HINTME */
+ ButtonPressMask | ButtonReleaseMask,
+ GrabModeAsync, GrabModeAsync, None,
+ None, CurrentTime);
#ifdef G_ENABLE_DEBUG
- GDK_NOTE(DND, g_print("xgpret = %d\n", xgpret));
+ GDK_NOTE(DND, g_message("xgpret = %d", xgpret));
#endif
gdk_dnd.dnd_grabbed = TRUE;
gdk_dnd.drag_really = 1;
@@ -2493,10 +2493,10 @@ gdk_event_translate (GdkEvent *event,
xevent->xmotion.y_root,
FALSE, TRUE);
}
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case FocusIn:
case FocusOut:
/* We only care about focus events that indicate that _this_
@@ -2510,9 +2510,9 @@ gdk_event_translate (GdkEvent *event,
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("focus %s:\t\twindow: %ld\n",
- (xevent->xany.type == FocusIn) ? "in" : "out",
- xevent->xfocus.window - base_id));
+ g_message ("focus %s:\t\twindow: %ld",
+ (xevent->xany.type == FocusIn) ? "in" : "out",
+ xevent->xfocus.window - base_id));
event->focus_change.type = GDK_FOCUS_CHANGE;
event->focus_change.window = window;
@@ -2521,28 +2521,28 @@ gdk_event_translate (GdkEvent *event,
return_val = window_private && !window_private->destroyed;
break;
default:
- ;
+ ;
}
break;
-
+
case KeymapNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("keymap notify\n"));
-
+ g_message ("keymap notify"));
+
/* Not currently handled */
break;
-
+
case Expose:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("expose:\t\twindow: %ld %d x,y: %d %d w,h: %d %d\n",
- xevent->xexpose.window - base_id, xevent->xexpose.count,
- xevent->xexpose.x, xevent->xexpose.y,
- xevent->xexpose.width, xevent->xexpose.height));
-
+ g_message ("expose:\t\twindow: %ld %d x,y: %d %d w,h: %d %d",
+ xevent->xexpose.window - base_id, xevent->xexpose.count,
+ xevent->xexpose.x, xevent->xexpose.y,
+ xevent->xexpose.width, xevent->xexpose.height));
+
event->expose.type = GDK_EXPOSE;
event->expose.window = window;
event->expose.area.x = xevent->xexpose.x;
@@ -2550,17 +2550,17 @@ gdk_event_translate (GdkEvent *event,
event->expose.area.width = xevent->xexpose.width;
event->expose.area.height = xevent->xexpose.height;
event->expose.count = xevent->xexpose.count;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case GraphicsExpose:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("graphics expose:\tdrawable: %ld\n",
- xevent->xgraphicsexpose.drawable - base_id));
-
+ g_message ("graphics expose:\tdrawable: %ld",
+ xevent->xgraphicsexpose.drawable - base_id));
+
event->expose.type = GDK_EXPOSE;
event->expose.window = window;
event->expose.area.x = xevent->xgraphicsexpose.x;
@@ -2568,23 +2568,23 @@ gdk_event_translate (GdkEvent *event,
event->expose.area.width = xevent->xgraphicsexpose.width;
event->expose.area.height = xevent->xgraphicsexpose.height;
event->expose.count = xevent->xexpose.count;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case NoExpose:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("no expose:\t\tdrawable: %ld\n",
- xevent->xnoexpose.drawable - base_id));
-
+ g_message ("no expose:\t\tdrawable: %ld",
+ xevent->xnoexpose.drawable - base_id));
+
event->no_expose.type = GDK_NO_EXPOSE;
event->no_expose.window = window;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case VisibilityNotify:
/* Print debugging info.
*/
@@ -2593,33 +2593,33 @@ gdk_event_translate (GdkEvent *event,
switch (xevent->xvisibility.state)
{
case VisibilityFullyObscured:
- g_print ("visibility notify:\twindow: %ld none\n",
- xevent->xvisibility.window - base_id);
+ g_message ("visibility notify:\twindow: %ld none",
+ xevent->xvisibility.window - base_id);
break;
case VisibilityPartiallyObscured:
- g_print ("visibility notify:\twindow: %ld partial\n",
- xevent->xvisibility.window - base_id);
+ g_message ("visibility notify:\twindow: %ld partial",
+ xevent->xvisibility.window - base_id);
break;
case VisibilityUnobscured:
- g_print ("visibility notify:\twindow: %ld full\n",
- xevent->xvisibility.window - base_id);
+ g_message ("visibility notify:\twindow: %ld full",
+ xevent->xvisibility.window - base_id);
break;
}
#endif /* G_ENABLE_DEBUG */
-
+
event->visibility.type = GDK_VISIBILITY_NOTIFY;
event->visibility.window = window;
-
+
switch (xevent->xvisibility.state)
{
case VisibilityFullyObscured:
event->visibility.state = GDK_VISIBILITY_FULLY_OBSCURED;
break;
-
+
case VisibilityPartiallyObscured:
event->visibility.state = GDK_VISIBILITY_PARTIAL;
break;
-
+
case VisibilityUnobscured:
event->visibility.state = GDK_VISIBILITY_UNOBSCURED;
break;
@@ -2627,84 +2627,84 @@ gdk_event_translate (GdkEvent *event,
return_val = window_private && !window_private->destroyed;
break;
-
+
case CreateNotify:
/* Not currently handled */
break;
-
+
case DestroyNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("destroy notify:\twindow: %ld\n",
- xevent->xdestroywindow.window - base_id));
-
+ g_message ("destroy notify:\twindow: %ld",
+ xevent->xdestroywindow.window - base_id));
+
event->any.type = GDK_DESTROY;
event->any.window = window;
-
+
return_val = window_private && !window_private->destroyed;
-
+
if(window && window_private->xwindow != GDK_ROOT_WINDOW())
- gdk_window_destroy_notify (window);
+ gdk_window_destroy_notify (window);
break;
-
+
case UnmapNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("unmap notify:\t\twindow: %ld\n",
- xevent->xmap.window - base_id));
-
+ g_message ("unmap notify:\t\twindow: %ld",
+ xevent->xmap.window - base_id));
+
event->any.type = GDK_UNMAP;
event->any.window = window;
-
+
if (xgrab_window == window_private)
xgrab_window = NULL;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case MapNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("map notify:\t\twindow: %ld\n",
- xevent->xmap.window - base_id));
-
+ g_message ("map notify:\t\twindow: %ld",
+ xevent->xmap.window - base_id));
+
event->any.type = GDK_MAP;
event->any.window = window;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case ReparentNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("reparent notify:\twindow: %ld\n",
- xevent->xreparent.window - base_id));
-
+ g_message ("reparent notify:\twindow: %ld",
+ xevent->xreparent.window - base_id));
+
/* Not currently handled */
break;
-
+
case ConfigureNotify:
/* Print debugging info.
*/
while ((XPending (gdk_display) > 0) &&
XCheckTypedWindowEvent(gdk_display, xevent->xany.window,
ConfigureNotify, xevent))
- {
+ {
GdkFilterReturn result;
-
+
GDK_NOTE (EVENTS,
- g_print ("configure notify discarded:\twindow: %ld\n",
- xevent->xconfigure.window - base_id));
-
+ g_message ("configure notify discarded:\twindow: %ld",
+ xevent->xconfigure.window - base_id));
+
result = gdk_event_apply_filters (xevent, event,
window_private
?window_private->filters
:gdk_default_filters);
-
+
/* If the result is GDK_FILTER_REMOVE, there will be
* trouble, but anybody who filtering the Configure events
* better know what they are doing
@@ -2713,21 +2713,21 @@ gdk_event_translate (GdkEvent *event,
{
return (result == GDK_FILTER_TRANSLATE) ? TRUE : FALSE;
}
-
- /*XSync (gdk_display, 0);*/
+
+ /*XSync (gdk_display, 0);*/
}
-
+
GDK_NOTE (EVENTS,
- g_print ("configure notify:\twindow: %ld x,y: %d %d w,h: %d %d b-w: %d above: %ld ovr: %d\n",
- xevent->xconfigure.window - base_id,
- xevent->xconfigure.x,
- xevent->xconfigure.y,
- xevent->xconfigure.width,
- xevent->xconfigure.height,
- xevent->xconfigure.border_width,
- xevent->xconfigure.above - base_id,
- xevent->xconfigure.override_redirect));
+ g_message ("configure notify:\twindow: %ld x,y: %d %d w,h: %d %d b-w: %d above: %ld ovr: %d",
+ xevent->xconfigure.window - base_id,
+ xevent->xconfigure.x,
+ xevent->xconfigure.y,
+ xevent->xconfigure.width,
+ xevent->xconfigure.height,
+ xevent->xconfigure.border_width,
+ xevent->xconfigure.above - base_id,
+ xevent->xconfigure.override_redirect));
if (window_private)
{
@@ -2749,7 +2749,7 @@ gdk_event_translate (GdkEvent *event,
gint tx = 0;
gint ty = 0;
Window child_window = 0;
-
+
if (!XTranslateCoordinates (window_private->xdisplay,
window_private->xwindow,
gdk_root_window,
@@ -2782,36 +2782,36 @@ gdk_event_translate (GdkEvent *event,
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("property notify:\twindow: %ld\n",
- xevent->xproperty.window - base_id));
-
+ g_message ("property notify:\twindow: %ld",
+ xevent->xproperty.window - base_id));
+
event->property.type = GDK_PROPERTY_NOTIFY;
event->property.window = window;
event->property.atom = xevent->xproperty.atom;
event->property.time = xevent->xproperty.time;
event->property.state = xevent->xproperty.state;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case SelectionClear:
GDK_NOTE (EVENTS,
- g_print ("selection clear:\twindow: %ld\n",
- xevent->xproperty.window - base_id));
-
+ g_message ("selection clear:\twindow: %ld",
+ xevent->xproperty.window - base_id));
+
event->selection.type = GDK_SELECTION_CLEAR;
event->selection.window = window;
event->selection.selection = xevent->xselectionclear.selection;
event->selection.time = xevent->xselectionclear.time;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case SelectionRequest:
GDK_NOTE (EVENTS,
- g_print ("selection request:\twindow: %ld\n",
- xevent->xproperty.window - base_id));
-
+ g_message ("selection request:\twindow: %ld",
+ xevent->xproperty.window - base_id));
+
event->selection.type = GDK_SELECTION_REQUEST;
event->selection.window = window;
event->selection.selection = xevent->xselectionrequest.selection;
@@ -2819,43 +2819,43 @@ gdk_event_translate (GdkEvent *event,
event->selection.property = xevent->xselectionrequest.property;
event->selection.requestor = xevent->xselectionrequest.requestor;
event->selection.time = xevent->xselectionrequest.time;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case SelectionNotify:
GDK_NOTE (EVENTS,
- g_print ("selection notify:\twindow: %ld\n",
- xevent->xproperty.window - base_id));
-
-
+ g_message ("selection notify:\twindow: %ld",
+ xevent->xproperty.window - base_id));
+
+
event->selection.type = GDK_SELECTION_NOTIFY;
event->selection.window = window;
event->selection.selection = xevent->xselection.selection;
event->selection.target = xevent->xselection.target;
event->selection.property = xevent->xselection.property;
event->selection.time = xevent->xselection.time;
-
+
return_val = window_private && !window_private->destroyed;
break;
-
+
case ColormapNotify:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("colormap notify:\twindow: %ld\n",
- xevent->xcolormap.window - base_id));
-
+ g_message ("colormap notify:\twindow: %ld",
+ xevent->xcolormap.window - base_id));
+
/* Not currently handled */
break;
-
+
case ClientMessage:
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("client message:\twindow: %ld\n",
- xevent->xclient.window - base_id));
-
+ g_message ("client message:\twindow: %ld",
+ xevent->xclient.window - base_id));
+
/* Client messages are the means of the window manager
* communicating with a program. We'll first check to
* see if this is really the window manager talking
@@ -2873,16 +2873,16 @@ gdk_event_translate (GdkEvent *event,
* the event is passed along to the program,
* which should then destroy the window.
*/
-
+
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("delete window:\t\twindow: %ld\n",
- xevent->xclient.window - base_id));
-
+ g_message ("delete window:\t\twindow: %ld",
+ xevent->xclient.window - base_id));
+
event->any.type = GDK_DELETE;
event->any.window = window;
-
+
return_val = window_private && !window_private->destroyed;
}
else if ((Atom) xevent->xclient.data.l[0] == gdk_wm_take_focus)
@@ -2892,13 +2892,13 @@ gdk_event_translate (GdkEvent *event,
else if (xevent->xclient.message_type == gdk_dnd.gdk_XdeEnter)
{
Atom reptype = 0;
-
+
event->dropenter.u.allflags = xevent->xclient.data.l[1];
-
- GDK_NOTE (DND, g_print ("GDK_DROP_ENTER [%d][%d]\n",
- window_private->dnd_drop_enabled, event->dropenter.u.flags.sendreply));
+
+ GDK_NOTE (DND, g_message ("GDK_DROP_ENTER [%d][%d]",
+ window_private->dnd_drop_enabled, event->dropenter.u.flags.sendreply));
return_val = FALSE;
-
+
/* Now figure out if we really want this drop...
* If someone is trying funky clipboard stuff, ignore
*/
@@ -2908,35 +2908,35 @@ gdk_event_translate (GdkEvent *event,
&& (reptype = gdk_dnd_check_types (window, xevent)))
{
XEvent replyev;
-
+
replyev.xclient.type = ClientMessage;
replyev.xclient.window = xevent->xclient.data.l[0];
replyev.xclient.format = 32;
replyev.xclient.message_type = gdk_dnd.gdk_XdeRequest;
replyev.xclient.data.l[0] = window_private->xwindow;
-
+
event->dragrequest.u.allflags = 0;
event->dragrequest.u.flags.protocol_version =
DND_PROTOCOL_VERSION;
event->dragrequest.u.flags.willaccept = 1;
event->dragrequest.u.flags.delete_data =
(window_private->dnd_drop_destructive_op) ? 1 : 0;
-
+
replyev.xclient.data.l[1] = event->dragrequest.u.allflags;
replyev.xclient.data.l[2] = replyev.xclient.data.l[3] = 0;
replyev.xclient.data.l[4] = reptype;
-
+
if (!gdk_send_xevent (replyev.xclient.window, False,
NoEventMask, &replyev))
- GDK_NOTE (DND, g_print("Sending XdeRequest to %#lx failed\n",
- replyev.xclient.window));
-
+ GDK_NOTE (DND, g_message("Sending XdeRequest to %#lx failed",
+ replyev.xclient.window));
+
event->any.type = GDK_DROP_ENTER;
event->any.window = window;
event->dropenter.requestor = replyev.xclient.window;
event->dropenter.u.allflags = xevent->xclient.data.l[1];
-
- GDK_NOTE (DND, g_print("We sent a GDK_DROP_ENTER on to Gtk\n"));
+
+ GDK_NOTE (DND, g_message("We sent a GDK_DROP_ENTER on to Gtk"));
return_val = TRUE;
}
}
@@ -2944,9 +2944,9 @@ gdk_event_translate (GdkEvent *event,
{
#ifdef G_ENABLE_DEBUG
if (gdk_debug_flags & (GDK_DEBUG_EVENTS | GDK_DEBUG_DND))
- g_print ("GDK_DROP_LEAVE\n");
+ g_message ("GDK_DROP_LEAVE");
#endif
-
+
if (window_private && window_private->dnd_drop_enabled)
{
event->dropleave.type = GDK_DROP_LEAVE;
@@ -2966,11 +2966,11 @@ gdk_event_translate (GdkEvent *event,
*/
#ifdef G_ENABLE_DEBUG
if (gdk_debug_flags & (GDK_DEBUG_EVENTS | GDK_DEBUG_DND))
- g_print ("GDK_DRAG_REQUEST\n");
+ g_message ("GDK_DRAG_REQUEST");
#endif
event->dragrequest.u.allflags = xevent->xclient.data.l[1];
return_val = FALSE;
-
+
if (window && gdk_dnd.drag_really &&
xevent->xclient.data.l[0] == gdk_dnd.dnd_drag_curwin &&
event->dragrequest.u.flags.sendreply == 0)
@@ -2995,7 +2995,7 @@ gdk_event_translate (GdkEvent *event,
window_private->dnd_drag_accepted = 1;
window_private->dnd_drag_data_type =
xevent->xclient.data.l[4];
-
+
gdk_dnd.dnd_drag_target = gdk_dnd.dnd_drag_curwin;
gdk_dnd_display_drag_cursor(-1, -1, TRUE, TRUE);
}
@@ -3008,56 +3008,56 @@ gdk_event_translate (GdkEvent *event,
}
}
else if(xevent->xclient.message_type == gdk_dnd.gdk_XdeDataAvailable)
- {
- gint tmp_int; Atom tmp_atom;
- gulong tmp_long;
- guchar *tmp_charptr;
-
+ {
+ gint tmp_int; Atom tmp_atom;
+ gulong tmp_long;
+ guchar *tmp_charptr;
+
#ifdef G_ENABLE_DEBUG
if (gdk_debug_flags & (GDK_DEBUG_EVENTS | GDK_DEBUG_DND))
- g_print("GDK_DROP_DATA_AVAIL\n");
+ g_message("GDK_DROP_DATA_AVAIL");
#endif
- event->dropdataavailable.u.allflags = xevent->xclient.data.l[1];
- event->dropdataavailable.timestamp = xevent->xclient.data.l[4];
- event->dropdataavailable.coords.x =
- xevent->xclient.data.l[3] & 0xffff;
- event->dropdataavailable.coords.y =
- (xevent->xclient.data.l[3] >> 16) & 0xffff;
- if(window
- /* No preview of data ATM */
- && event->dropdataavailable.u.flags.isdrop)
- {
- event->dropdataavailable.type = GDK_DROP_DATA_AVAIL;
- event->dropdataavailable.window = window;
- event->dropdataavailable.requestor = xevent->xclient.data.l[0];
- event->dropdataavailable.data_type =
- gdk_atom_name(xevent->xclient.data.l[2]);
- if(XGetWindowProperty (gdk_display,
- event->dropdataavailable.requestor,
- xevent->xclient.data.l[2],
- 0, LONG_MAX - 1,
- False, XA_PRIMARY, &tmp_atom,
- &tmp_int,
- &event->dropdataavailable.data_numbytes,
- &tmp_long,
- &tmp_charptr)
- != Success)
- {
- g_warning("XGetWindowProperty on %#x may have failed\n",
+ event->dropdataavailable.u.allflags = xevent->xclient.data.l[1];
+ event->dropdataavailable.timestamp = xevent->xclient.data.l[4];
+ event->dropdataavailable.coords.x =
+ xevent->xclient.data.l[3] & 0xffff;
+ event->dropdataavailable.coords.y =
+ (xevent->xclient.data.l[3] >> 16) & 0xffff;
+ if(window
+ /* No preview of data ATM */
+ && event->dropdataavailable.u.flags.isdrop)
+ {
+ event->dropdataavailable.type = GDK_DROP_DATA_AVAIL;
+ event->dropdataavailable.window = window;
+ event->dropdataavailable.requestor = xevent->xclient.data.l[0];
+ event->dropdataavailable.data_type =
+ gdk_atom_name(xevent->xclient.data.l[2]);
+ if(XGetWindowProperty (gdk_display,
+ event->dropdataavailable.requestor,
+ xevent->xclient.data.l[2],
+ 0, LONG_MAX - 1,
+ False, XA_PRIMARY, &tmp_atom,
+ &tmp_int,
+ &event->dropdataavailable.data_numbytes,
+ &tmp_long,
+ &tmp_charptr)
+ != Success)
+ {
+ g_warning("XGetWindowProperty on %#x may have failed\n",
event->dropdataavailable.requestor);
- event->dropdataavailable.data = NULL;
- }
- else
- {
- GDK_NOTE (DND, g_print("XGetWindowProperty got us %ld bytes\n",
- event->dropdataavailable.data_numbytes));
- event->dropdataavailable.data =
- g_malloc (event->dropdataavailable.data_numbytes);
- memcpy (event->dropdataavailable.data,
- tmp_charptr, event->dropdataavailable.data_numbytes);
- XFree(tmp_charptr);
- return_val = TRUE;
- }
+ event->dropdataavailable.data = NULL;
+ }
+ else
+ {
+ GDK_NOTE (DND, g_message("XGetWindowProperty got us %ld bytes",
+ event->dropdataavailable.data_numbytes));
+ event->dropdataavailable.data =
+ g_malloc (event->dropdataavailable.data_numbytes);
+ memcpy (event->dropdataavailable.data,
+ tmp_charptr, event->dropdataavailable.data_numbytes);
+ XFree(tmp_charptr);
+ return_val = TRUE;
+ }
return_val = TRUE;
}
}
@@ -3083,28 +3083,28 @@ gdk_event_translate (GdkEvent *event,
/* Print debugging info.
*/
GDK_NOTE (EVENTS,
- g_print ("mapping notify\n"));
-
+ g_message ("mapping notify"));
+
/* Let XLib know that there is a new keyboard mapping.
*/
XRefreshKeyboardMapping (&xevent->xmapping);
break;
-
+
default:
/* something else - (e.g., a Xinput event) */
-
+
if (window_private &&
(window_private->extension_events != 0) &&
gdk_input_vtable.other_event)
return_val = gdk_input_vtable.other_event(event, xevent, window);
else
return_val = FALSE;
-
+
return_val = return_val && !window_private->destroyed;
-
+
break;
}
-
+
if (return_val)
{
if (event->any.window)
@@ -3120,10 +3120,10 @@ gdk_event_translate (GdkEvent *event,
event->any.window = NULL;
event->any.type = GDK_NOTHING;
}
-
+
if (window)
gdk_window_unref (window);
-
+
return return_val;
}
@@ -3135,28 +3135,28 @@ gdk_event_get_type (Display *display,
{
GdkEvent event;
GdkPredicate *pred;
-
+
if (gdk_event_translate (&event, xevent))
{
pred = (GdkPredicate*) arg;
return (* pred->func) (&event, pred->data);
}
-
+
return FALSE;
}
#endif
static void
gdk_synthesize_click (GdkEvent *event,
- gint nclicks)
+ gint nclicks)
{
GdkEvent temp_event;
-
+
g_return_if_fail (event != NULL);
-
+
temp_event = *event;
temp_event.type = (nclicks == 2) ? GDK_2BUTTON_PRESS : GDK_3BUTTON_PRESS;
-
+
gdk_event_put (&temp_event);
}
@@ -3181,14 +3181,14 @@ static void
gdk_exit_func (void)
{
static gboolean in_gdk_exit_func = FALSE;
-
+
/* This is to avoid an infinite loop if a program segfaults in
an atexit() handler (and yes, it does happen, especially if a program
- has trounced over memory too badly for even g_print to work) */
+ has trounced over memory too badly for even g_message to work) */
if (in_gdk_exit_func == TRUE)
return;
in_gdk_exit_func = TRUE;
-
+
if (gdk_initialized)
{
#ifdef USE_XIM
@@ -3200,7 +3200,7 @@ gdk_exit_func (void)
gdk_image_exit ();
gdk_input_exit ();
gdk_key_repeat_restore ();
-
+
XCloseDisplay (gdk_display);
gdk_initialized = 0;
}
@@ -3229,11 +3229,11 @@ gdk_exit_func (void)
*/
static int
-gdk_x_error (Display *display,
+gdk_x_error (Display *display,
XErrorEvent *error)
{
char buf[64];
-
+
if (gdk_error_warnings)
{
XGetErrorText (display, error->error_code, buf, 63);
@@ -3244,7 +3244,7 @@ gdk_x_error (Display *display,
error->request_code,
error->minor_code);
}
-
+
gdk_error_code = -1;
return 0;
}
@@ -3301,11 +3301,11 @@ gdk_signal (int sig_num)
{
static int caught_fatal_sig = 0;
char *sig;
-
+
if (caught_fatal_sig)
kill (getpid (), sig_num);
caught_fatal_sig = 1;
-
+
switch (sig_num)
{
case SIGHUP:
@@ -3333,8 +3333,8 @@ gdk_signal (int sig_num)
sig = "unknown signal";
break;
}
-
- g_print ("\n** ERROR **: %s caught\n", sig);
+
+ g_message ("\n** ERROR **: %s caught", sig);
#ifdef G_ENABLE_DEBUG
abort ();
#else /* !G_ENABLE_DEBUG */
@@ -3346,14 +3346,14 @@ static void
gdk_dnd_drag_begin (GdkWindow *initial_window)
{
GdkEvent tev;
-
- GDK_NOTE(DND, g_print("------- STARTING DRAG from %p\n", initial_window));
-
+
+ GDK_NOTE(DND, g_message("------- STARTING DRAG from %p", initial_window));
+
tev.type = GDK_DRAG_BEGIN;
tev.dragbegin.window = initial_window;
tev.dragbegin.u.allflags = 0;
tev.dragbegin.u.flags.protocol_version = DND_PROTOCOL_VERSION;
-
+
gdk_event_put (&tev);
}
@@ -3369,7 +3369,7 @@ gdk_dnd_drag_enter (Window dest)
sev.xclient.format = 32;
sev.xclient.message_type = gdk_dnd.gdk_XdeEnter;
sev.xclient.window = dest;
-
+
tev.u.allflags = 0;
tev.u.flags.protocol_version = DND_PROTOCOL_VERSION;
tev.u.flags.sendreply = 1;
@@ -3395,10 +3395,10 @@ gdk_dnd_drag_enter (Window dest)
else
sev.xclient.data.l[3] = sev.xclient.data.l[4] = None;
if (!gdk_send_xevent (dest, False, StructureNotifyMask, &sev))
- GDK_NOTE (DND, g_print("Sending XdeEnter to %#lx failed\n",
- dest));
+ GDK_NOTE (DND, g_message("Sending XdeEnter to %#lx failed",
+ dest));
}
-
+
}
}
@@ -3413,9 +3413,9 @@ gdk_dnd_drag_enter (Window dest)
*/
/* This needs to match XIMArg as defined in Xlcint.h exactly */
-
+
typedef struct {
- gchar *name;
+ gchar *name;
gpointer value;
} GdkImArg;
@@ -3433,7 +3433,7 @@ gdk_im_va_count (va_list list)
{
gint count = 0;
gchar *name;
-
+
name = va_arg (list, gchar *);
while (name)
{
@@ -3441,7 +3441,7 @@ gdk_im_va_count (va_list list)
(void)va_arg (list, gpointer);
name = va_arg (list, gchar *);
}
-
+
return count;
}
@@ -3460,15 +3460,15 @@ gdk_im_va_to_nested (va_list list, guint count)
{
GdkImArg *result;
GdkImArg *arg;
-
+
gchar *name;
-
+
if (count == 0)
return NULL;
-
+
result = g_new (GdkImArg, count+1);
arg = result;
-
+
name = va_arg (list, gchar *);
while (name)
{
@@ -3477,9 +3477,9 @@ gdk_im_va_to_nested (va_list list, guint count)
arg++;
name = va_arg (list, gchar *);
}
-
+
arg->name = NULL;
-
+
return (XVaNestedList)result;
}
@@ -3508,12 +3508,12 @@ gdk_im_begin (GdkIC ic, GdkWindow* window)
{
GdkICPrivate *private;
Window xwin;
-
+
g_return_if_fail (ic != NULL);
g_return_if_fail (window);
-
+
private = (GdkICPrivate *) ic;
-
+
xim_using = TRUE;
xim_ic = private;
xim_window = window;
@@ -3521,7 +3521,7 @@ gdk_im_begin (GdkIC ic, GdkWindow* window)
{
XGetICValues (private->xic, XNFocusWindow, &xwin, NULL);
if (xwin != GDK_WINDOW_XWINDOW(window))
- XSetICValues (private->xic, XNFocusWindow,
+ XSetICValues (private->xic, XNFocusWindow,
GDK_WINDOW_XWINDOW(window), NULL);
if (private != xim_ic)
XSetICFocus (private->xic);
@@ -3563,13 +3563,13 @@ static GdkIMStyle
gdk_im_choose_better_style (GdkIMStyle style1, GdkIMStyle style2)
{
GdkIMStyle s1, s2, u;
-
+
if (style1 == 0) return style2;
if (style2 == 0) return style1;
if ((style1 & (GdkIMPreeditMask | GdkIMStatusMask))
- == (style2 & (GdkIMPreeditMask | GdkIMStatusMask)))
+ == (style2 & (GdkIMPreeditMask | GdkIMStatusMask)))
return style1;
-
+
s1 = style1 & GdkIMPreeditMask;
s2 = style2 & GdkIMPreeditMask;
u = s1 | s2;
@@ -3603,9 +3603,9 @@ gdk_im_decide_style (GdkIMStyle supported_style)
{
gint i;
GdkIMStyle style, tmp;
-
+
g_return_val_if_fail (xim_styles != NULL, 0);
-
+
style = 0;
for (i=0; i<xim_styles->count_styles; i++)
{
@@ -3622,7 +3622,7 @@ gdk_im_set_best_style (GdkIMStyle style)
if (style & GdkIMPreeditMask)
{
xim_best_allowed_style &= ~GdkIMPreeditMask;
-
+
xim_best_allowed_style |= GdkIMPreeditNone;
if (!(style & GdkIMPreeditNone))
{
@@ -3642,7 +3642,7 @@ gdk_im_set_best_style (GdkIMStyle style)
if (style & GdkIMStatusMask)
{
xim_best_allowed_style &= ~GdkIMStatusMask;
-
+
xim_best_allowed_style |= GdkIMStatusNone;
if (!(style & GdkIMStatusNone))
{
@@ -3669,7 +3669,7 @@ gdk_im_open (XrmDatabase db, gchar* res_name, gchar* res_class)
return FALSE;
}
XGetIMValues (xim_im, XNQueryInputStyle, &xim_styles, NULL, NULL);
-
+
return TRUE;
}
@@ -3703,17 +3703,17 @@ gdk_ic_new (GdkWindow* client_window,
GdkICPrivate *private;
XVaNestedList preedit_attr = NULL;
guint count;
-
+
g_return_val_if_fail (client_window != NULL, NULL);
g_return_val_if_fail (focus_window != NULL, NULL);
g_return_val_if_fail (gdk_im_ready(), NULL);
-
+
private = g_new (GdkICPrivate, 1);
-
+
va_start (list, style);
count = gdk_im_va_count (list);
va_end (list);
-
+
va_start (list, style);
preedit_attr = gdk_im_va_to_nested (list, count);
va_end (list);
@@ -3725,14 +3725,14 @@ gdk_ic_new (GdkWindow* client_window,
g_free (private);
return NULL;
}
-
+
private->xic = XCreateIC(gdk_im_get (),
- XNInputStyle, style,
- XNClientWindow, GDK_WINDOW_XWINDOW (client_window),
- XNFocusWindow, GDK_WINDOW_XWINDOW (focus_window),
- preedit_attr? XNPreeditAttributes : NULL, preedit_attr,
- NULL);
-
+ XNInputStyle, style,
+ XNClientWindow, GDK_WINDOW_XWINDOW (client_window),
+ XNFocusWindow, GDK_WINDOW_XWINDOW (focus_window),
+ preedit_attr? XNPreeditAttributes : NULL, preedit_attr,
+ NULL);
+
g_free (preedit_attr);
if (!private->xic)
@@ -3740,7 +3740,7 @@ gdk_ic_new (GdkWindow* client_window,
g_free (private);
return NULL;
}
-
+
xim_ic_list = g_list_append (xim_ic_list, private);
return private;
}
@@ -3749,14 +3749,14 @@ void
gdk_ic_destroy (GdkIC ic)
{
GdkICPrivate *private;
-
+
g_return_if_fail (ic != NULL);
private = (GdkICPrivate *) ic;
-
+
if (xim_ic == private)
gdk_im_end ();
-
+
XDestroyIC (private->xic);
xim_ic_list = g_list_remove (xim_ic_list, private);
g_free (private);
@@ -3766,11 +3766,11 @@ GdkIMStyle
gdk_ic_get_style (GdkIC ic)
{
GdkICPrivate *private;
-
+
g_return_val_if_fail (ic != NULL, 0);
-
+
private = (GdkICPrivate *) ic;
-
+
return private->style;
}
@@ -3781,21 +3781,21 @@ gdk_ic_set_values (GdkIC ic, ...)
XVaNestedList args;
GdkICPrivate *private;
guint count;
-
+
g_return_if_fail (ic != NULL);
-
+
private = (GdkICPrivate *) ic;
-
+
va_start (list, ic);
count = gdk_im_va_count (list);
va_end (list);
-
+
va_start (list, ic);
args = gdk_im_va_to_nested (list, count);
va_end (list);
-
+
XSetICValues (private->xic, XNVaNestedList, args, NULL);
-
+
g_free (args);
}
@@ -3806,21 +3806,21 @@ gdk_ic_get_values (GdkIC ic, ...)
XVaNestedList args;
GdkICPrivate *private;
guint count;
-
+
g_return_if_fail (ic != NULL);
-
+
private = (GdkICPrivate *) ic;
-
+
va_start (list, ic);
count = gdk_im_va_count (list);
va_end (list);
-
+
va_start (list, ic);
args = gdk_im_va_to_nested (list, count);
va_end (list);
-
+
XGetICValues (private->xic, XNVaNestedList, args, NULL);
-
+
g_free (args);
}
@@ -3831,22 +3831,22 @@ gdk_ic_set_attr (GdkIC ic, const char *target, ...)
XVaNestedList attr;
GdkICPrivate *private;
guint count;
-
+
g_return_if_fail (ic != NULL);
g_return_if_fail (target != NULL);
-
+
private = (GdkICPrivate *) ic;
-
+
va_start (list, target);
count = gdk_im_va_count (list);
va_end (list);
-
+
va_start (list, target);
attr = gdk_im_va_to_nested (list, count);
va_end (list);
-
+
XSetICValues (private->xic, target, attr, NULL);
-
+
g_free (attr);
}
@@ -3857,22 +3857,22 @@ gdk_ic_get_attr (GdkIC ic, const char *target, ...)
XVaNestedList attr;
GdkICPrivate *private;
guint count;
-
+
g_return_if_fail (ic != NULL);
g_return_if_fail (target != NULL);
-
+
private = (GdkICPrivate *) ic;
-
+
va_start (list, target);
count = gdk_im_va_count (list);
va_end (list);
-
+
va_start (list, target);
attr = gdk_im_va_to_nested (list, count);
va_end (list);
-
+
XGetICValues (private->xic, target, attr, NULL);
-
+
g_free (attr);
}
@@ -3884,21 +3884,21 @@ gdk_ic_get_events (GdkIC ic)
glong bit;
GdkICPrivate *private;
gint i;
-
- /* From gdkwindow.c */
+
+ /* From gdkwindow.c */
extern int nevent_masks;
extern int event_mask_table[];
-
+
g_return_val_if_fail (ic != NULL, 0);
-
+
private = (GdkICPrivate *) ic;
-
+
if (XGetICValues (private->xic, XNFilterEvents, &xmask, NULL) != NULL)
{
GDK_NOTE (XIM, g_warning ("Call to XGetICValues: %s failed", XNFilterEvents));
return 0;
}
-
+
mask = 0;
for (i=0, bit=2; i < nevent_masks; i++, bit <<= 1)
if (xmask & event_mask_table [i])
@@ -3906,7 +3906,7 @@ gdk_ic_get_events (GdkIC ic)
mask |= bit;
xmask &= ~ event_mask_table [i];
}
-
+
if (xmask)
g_warning ("ic requires events not supported by the application (%#04lx)", xmask);
@@ -3919,17 +3919,17 @@ gdk_ic_cleanup (void)
GList* node;
gint destroyed;
GdkICPrivate *private;
-
+
destroyed = 0;
for (node = xim_ic_list; node != NULL; node = node->next)
{
if (node->data)
- {
- private = (GdkICPrivate *) (node->data);
- XDestroyIC (private->xic);
- g_free (private);
- destroyed++;
- }
+ {
+ private = (GdkICPrivate *) (node->data);
+ XDestroyIC (private->xic);
+ g_free (private);
+ destroyed++;
+ }
}
#ifdef G_ENABLE_DEBUG
if ((gdk_debug_flags & GDK_DEBUG_XIM) && destroyed > 0)
@@ -4025,10 +4025,10 @@ _g_mbtowc (wchar_t *wstr, const char *str, size_t len)
{
static wchar_t wcs[MB_CUR_MAX + 1];
static gchar mbs[MB_CUR_MAX + 1];
-
+
wcs[0] = (wchar_t) NULL;
mbs[0] = '\0';
-
+
/* The last argument isn't a mistake. The X locale code trims
* the input string to the length of the output string!
*/
@@ -4037,13 +4037,13 @@ _g_mbtowc (wchar_t *wstr, const char *str, size_t len)
return len;
else if (wcs[0] == (wchar_t) NULL)
return -1;
-
+
len = _Xwctomb (mbs, wcs[0]);
if (mbs[0] == '\0')
return -1;
if (wstr)
*wstr = wcs[0];
-
+
return len;
}
@@ -4056,9 +4056,9 @@ gdk_dnd_drag_leave (Window dest)
GdkEventDropLeave tev;
int i;
GdkWindowPrivate *wp;
-
+
tev.u.allflags = 0;
-
+
tev.u.flags.protocol_version = DND_PROTOCOL_VERSION;
sev.xclient.type = ClientMessage;
sev.xclient.window = dest;
@@ -4070,8 +4070,8 @@ gdk_dnd_drag_leave (Window dest)
wp = (GdkWindowPrivate *) gdk_dnd.drag_startwindows[i];
sev.xclient.data.l[0] = wp->xwindow;
if (!gdk_send_xevent (dest, False, StructureNotifyMask, &sev))
- GDK_NOTE (DND, g_print("Sending XdeLeave to %#lx failed\n",
- dest));
+ GDK_NOTE (DND, g_message("Sending XdeLeave to %#lx failed",
+ dest));
wp->dnd_drag_accepted = 0;
}
}
@@ -4088,14 +4088,14 @@ gdk_dnd_drag_end (Window dest,
GdkWindowPrivate *wp;
GdkEvent tev;
int i;
-
+
tev.dragrequest.type = GDK_DRAG_REQUEST;
tev.dragrequest.drop_coords = coords;
tev.dragrequest.requestor = dest;
tev.dragrequest.u.allflags = 0;
tev.dragrequest.u.flags.protocol_version = DND_PROTOCOL_VERSION;
tev.dragrequest.isdrop = 1;
-
+
for (i = 0; i < gdk_dnd.drag_numwindows; i++)
{
wp = (GdkWindowPrivate *) gdk_dnd.drag_startwindows[i];
@@ -4103,32 +4103,32 @@ gdk_dnd_drag_end (Window dest,
{
tev.dragrequest.window = (GdkWindow *) wp;
tev.dragrequest.u.flags.delete_data = wp->dnd_drag_destructive_op;
- tev.dragrequest.timestamp = gdk_dnd.last_drop_time;
+ tev.dragrequest.timestamp = gdk_dnd.last_drop_time;
tev.dragrequest.data_type =
- gdk_atom_name(wp->dnd_drag_data_type);
-
+ gdk_atom_name(wp->dnd_drag_data_type);
+
gdk_event_put(&tev);
}
}
}
static GdkAtom
-gdk_dnd_check_types (GdkWindow *window,
- XEvent *xevent)
+gdk_dnd_check_types (GdkWindow *window,
+ XEvent *xevent)
{
GdkWindowPrivate *wp = (GdkWindowPrivate *) window;
int i, j;
GdkEventDropEnter event;
-
+
g_return_val_if_fail(window != NULL, 0);
g_return_val_if_fail(xevent != NULL, 0);
g_return_val_if_fail(xevent->type == ClientMessage, 0);
g_return_val_if_fail(xevent->xclient.message_type == gdk_dnd.gdk_XdeEnter, 0);
-
+
if(wp->dnd_drop_data_numtypesavail <= 0 ||
!wp->dnd_drop_data_typesavail)
return 0;
-
+
for (i = 2; i <= 4; i++)
{
for (j = 0; j < wp->dnd_drop_data_numtypesavail; j++)
@@ -4137,7 +4137,7 @@ gdk_dnd_check_types (GdkWindow *window,
return xevent->xclient.data.l[i];
}
}
-
+
/* Now we get the extended type list if it's available */
event.u.allflags = xevent->xclient.data.l[1];
if (event.u.flags.extended_typelist)
@@ -4145,21 +4145,21 @@ gdk_dnd_check_types (GdkWindow *window,
Atom *exttypes, realtype;
gulong nitems, nbar;
gint realfmt;
-
+
if (XGetWindowProperty(gdk_display, xevent->xclient.data.l[0],
gdk_dnd.gdk_XdeTypelist, 0L, LONG_MAX - 1,
False, AnyPropertyType, &realtype, &realfmt,
&nitems, &nbar, (unsigned char **) &exttypes)
- != Success)
+ != Success)
return 0;
-
+
if (realfmt != (sizeof(Atom) * 8))
{
g_warning("XdeTypelist property had format of %d instead of the expected %ld, on window %#lx\n",
realfmt, (glong)sizeof(Atom) * 8, xevent->xclient.data.l[0]);
return 0;
}
-
+
for (i = 0; i <= nitems; i++)
{
for (j = 0; j < wp->dnd_drop_data_numtypesavail; j++)
@@ -4185,7 +4185,7 @@ gdk_print_atom (GdkAtom anatom)
{
gchar *tmpstr = NULL;
tmpstr = (anatom!=None)?gdk_atom_name(anatom):"(none)";
- g_print("Atom %lu has name %s\n", anatom, tmpstr);
+ g_message("Atom %lu has name %s", anatom, tmpstr);
if(tmpstr)
g_free(tmpstr);
}
@@ -4195,9 +4195,9 @@ gdk_print_atom (GdkAtom anatom)
* used only by below routine and itself
*/
static Window
-getchildren (Display *dpy,
- Window win,
- Atom WM_STATE)
+getchildren (Display *dpy,
+ Window win,
+ Atom WM_STATE)
{
Window root, parent, *children, inf = 0;
Atom type = None;
@@ -4205,10 +4205,10 @@ getchildren (Display *dpy,
int format;
unsigned long nitems, after;
unsigned char *data;
-
+
if (XQueryTree(dpy, win, &root, &parent, &children, &nchildren) == 0)
return 0;
-
+
for (i = 0; !inf && (i < nchildren); i++)
{
XGetWindowProperty (dpy, children[i], WM_STATE, 0, 0, False,
@@ -4218,13 +4218,13 @@ getchildren (Display *dpy,
inf = children[i];
XFree(data);
}
-
+
for (i = 0; !inf && (i < nchildren); i++)
inf = getchildren (dpy, children[i], WM_STATE);
-
+
if (children != None)
XFree ((char *) children);
-
+
return inf;
}
@@ -4234,8 +4234,8 @@ getchildren (Display *dpy,
* modification of the XmuClientWindow() routine from X11R6.3
*/
Window
-gdk_get_client_window (Display *dpy,
- Window win)
+gdk_get_client_window (Display *dpy,
+ Window win)
{
Atom WM_STATE;
Atom type = None;
@@ -4243,20 +4243,20 @@ gdk_get_client_window (Display *dpy,
unsigned long nitems, after;
unsigned char *data;
Window inf;
-
+
if (win == 0)
return DefaultRootWindow(dpy);
-
+
if ((WM_STATE = XInternAtom (dpy, "WM_STATE", True)) == 0)
return win;
-
+
XGetWindowProperty (dpy, win, WM_STATE, 0, 0, False, AnyPropertyType,
&type, &format, &nitems, &after, &data);
if (type)
return win;
-
+
inf = getchildren (dpy, win, WM_STATE);
-
+
if (inf == 0)
return win;
else
@@ -4273,13 +4273,13 @@ gdk_drop_get_real_window (GdkWindow *w,
GdkWindowPrivate *awin;
GList *children;
gint16 myx = *x, myy = *y;
-
+
g_return_val_if_fail (w != NULL && x != NULL && y != NULL, NULL);
-
+
myx = *x;
myy = *y;
-
-descend:
+
+ descend:
for (children = gdk_window_get_children(retval);
children && children->next;
children = children->next)
@@ -4295,10 +4295,10 @@ descend:
goto descend;
}
}
-
+
*x = myx;
*y = myy;
-
+
return retval;
}
#endif
@@ -4311,9 +4311,9 @@ gdk_event_send_clientmessage_toall (GdkEvent *event)
Window *ret_children, ret_root, ret_parent, curwin;
unsigned int ret_nchildren;
int i;
-
+
g_return_if_fail(event != NULL);
-
+
/* Set up our event to send, with the exception of its target window */
sev.xclient.type = ClientMessage;
sev.xclient.display = gdk_display;
@@ -4321,21 +4321,21 @@ gdk_event_send_clientmessage_toall (GdkEvent *event)
sev.xclient.serial = CurrentTime;
memcpy(&sev.xclient.data, &event->client.data, sizeof(sev.xclient.data));
sev.xclient.message_type = event->client.message_type;
-
+
/* OK, we're all set, now let's find some windows to send this to */
if(XQueryTree(gdk_display, gdk_root_window, &ret_root, &ret_parent,
&ret_children, &ret_nchildren) != True)
return;
-
+
/* foreach true child window of the root window, send an event to it */
for(i = 0; i < ret_nchildren; i++) {
curwin = gdk_get_client_window(gdk_display, ret_children[i]);
sev.xclient.window = curwin;
if (!gdk_send_xevent (curwin, False, NoEventMask, &sev))
- GDK_NOTE (MISC, g_print("Gdk: Sending client message %ld to %#lx failed\n",
- event->client.message_type, curwin));
+ GDK_NOTE (MISC, g_message ("Sending client message %ld to %#lx failed",
+ event->client.message_type, curwin));
}
-
+
XFree(ret_children);
}
@@ -4357,7 +4357,7 @@ gdk_send_xevent (Window window, gboolean propagate, glong event_mask,
result = XSendEvent (gdk_display, window, propagate, event_mask, event_send);
XSync (gdk_display, False);
gdk_error_warnings = 1;
-
+
return result && (gdk_error_code != -1);
}
@@ -4371,13 +4371,13 @@ gdkx_XConvertCase (KeySym symbol,
KeySym *upper)
{
register KeySym sym = symbol;
-
+
g_return_if_fail (lower != NULL);
g_return_if_fail (upper != NULL);
-
+
*lower = sym;
*upper = sym;
-
+
switch (sym >> 8)
{
#if defined (GDK_A) && defined (GDK_Ooblique)
@@ -4472,7 +4472,7 @@ gdkx_XConvertCase (KeySym symbol,
*upper += (GDK_Cyrillic_YU - GDK_Cyrillic_yu);
break;
#endif /* CYRILLIC */
-
+
#if defined (GDK_Greek_ALPHAaccent) && defined (GDK_Greek_finalsmallsigma)
case 7: /* Greek */
/* Assume the KeySym is a legal value (ignore discontinuities) */
@@ -4494,7 +4494,7 @@ gdkx_XConvertCase (KeySym symbol,
#endif
gchar*
-gdk_keyval_name (guint keyval)
+gdk_keyval_name (guint keyval)
{
return XKeysymToString (keyval);
}
@@ -4503,18 +4503,18 @@ guint
gdk_keyval_from_name (const gchar *keyval_name)
{
g_return_val_if_fail (keyval_name != NULL, 0);
-
+
return XStringToKeysym (keyval_name);
}
guint
-gdk_keyval_to_upper (guint keyval)
+gdk_keyval_to_upper (guint keyval)
{
if (keyval)
{
KeySym lower_val = 0;
KeySym upper_val = 0;
-
+
XConvertCase (keyval, &lower_val, &upper_val);
return upper_val;
}
@@ -4522,13 +4522,13 @@ gdk_keyval_to_upper (guint keyval)
}
guint
-gdk_keyval_to_lower (guint keyval)
+gdk_keyval_to_lower (guint keyval)
{
if (keyval)
{
KeySym lower_val = 0;
KeySym upper_val = 0;
-
+
XConvertCase (keyval, &lower_val, &upper_val);
return lower_val;
}
@@ -4536,13 +4536,13 @@ gdk_keyval_to_lower (guint keyval)
}
gboolean
-gdk_keyval_is_upper (guint keyval)
+gdk_keyval_is_upper (guint keyval)
{
if (keyval)
{
KeySym lower_val = 0;
KeySym upper_val = 0;
-
+
XConvertCase (keyval, &lower_val, &upper_val);
return upper_val == keyval;
}
@@ -4550,13 +4550,13 @@ gdk_keyval_is_upper (guint keyval)
}
gboolean
-gdk_keyval_is_lower (guint keyval)
+gdk_keyval_is_lower (guint keyval)
{
if (keyval)
{
KeySym lower_val = 0;
KeySym upper_val = 0;
-
+
XConvertCase (keyval, &lower_val, &upper_val);
return lower_val == keyval;
}
diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c
index e7bf1648cc..693020ef61 100644
--- a/gdk/x11/gdkvisual-x11.c
+++ b/gdk/x11/gdkvisual-x11.c
@@ -211,9 +211,9 @@ gdk_visual_init (void)
#ifdef G_ENABLE_DEBUG
if (gdk_debug_flags & GDK_DEBUG_MISC)
for (i = 0; i < nvisuals; i++)
- g_print ("Gdk: visual: %s: %d\n",
- visual_names[visuals[i].visual.type],
- visuals[i].visual.depth);
+ g_message ("visual: %s: %d",
+ visual_names[visuals[i].visual.type],
+ visuals[i].visual.depth);
#endif /* G_ENABLE_DEBUG */
navailable_depths = 0;
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index 5c1feb2e3a..8c8623d4b0 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -407,7 +407,7 @@ gdk_window_new (GdkWindow *parent,
(private->colormap != gdk_colormap_get_system ()) &&
(private->colormap != gdk_window_get_colormap (gdk_window_get_toplevel (window))))
{
- GDK_NOTE (MISC, g_print ("adding colormap window\n"));
+ GDK_NOTE (MISC, g_message ("adding colormap window\n"));
gdk_window_add_colormap_windows (window);
}
@@ -1771,7 +1771,7 @@ gdk_window_dnd_data_set (GdkWindow *window,
data_numbytes);
tmp = gdk_atom_name(window_private->dnd_drag_data_type);
#ifdef DEBUG_DND
- g_print("DnD type %s on window %ld\n", tmp, window_private->xwindow);
+ g_message("DnD type %s on window %ld\n", tmp, window_private->xwindow);
#endif
g_free(tmp);
@@ -1801,9 +1801,8 @@ gdk_window_dnd_data_set (GdkWindow *window,
if (!gdk_send_xevent (event->dragrequest.requestor, False,
StructureNotifyMask, &sev))
- GDK_NOTE (DND, g_print("Sending XdeDataAvailable to %#x failed\n",
- event->dragrequest.requestor));
-
+ GDK_NOTE (DND, g_message("Sending XdeDataAvailable to %#x failed\n",
+ event->dragrequest.requestor));
}
void