summaryrefslogtreecommitdiff
path: root/gdk/directfb/gdkmain-directfb.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdk/directfb/gdkmain-directfb.c')
-rw-r--r--gdk/directfb/gdkmain-directfb.c417
1 files changed, 0 insertions, 417 deletions
diff --git a/gdk/directfb/gdkmain-directfb.c b/gdk/directfb/gdkmain-directfb.c
deleted file mode 100644
index 8883f42d8b..0000000000
--- a/gdk/directfb/gdkmain-directfb.c
+++ /dev/null
@@ -1,417 +0,0 @@
-/* GDK - The GIMP Drawing Kit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- * Copyright (C) 1998-1999 Tor Lillqvist
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser 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.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GTK+ Team.
- */
-
-/*
- * GTK+ DirectFB backend
- * Copyright (C) 2001-2002 convergence integrated media GmbH
- * Copyright (C) 2002-2004 convergence GmbH
- * Written by Denis Oliver Kropp <dok@convergence.de> and
- * Sven Neumann <sven@convergence.de>
- */
-
-/*
- Main entry point for 2.6 seems to be open_display so
- most stuff in main is moved over to gdkdisplay-directfb.c
- I'll move stub functions here that make no sense for directfb
- and true globals
- Michael Emmel
-*/
-
-#include "config.h"
-#include <string.h>
-#include <stdlib.h>
-#include "gdk.h"
-
-#include "gdkdisplay.h"
-#include "gdkdirectfb.h"
-#include "gdkprivate-directfb.h"
-
-#include "gdkinternals.h"
-
-#include "gdkinput-directfb.h"
-
-#include "gdkintl.h"
-
-
-void
-_gdk_windowing_init (void)
-{
- /* Not that usable called before parse_args
- */
-}
-
-void
-_gdk_windowing_display_set_sm_client_id (GdkDisplay *display,const gchar *sm_client_id)
-{
- g_message ("gdk_set_sm_client_id() is unimplemented.");
-}
-
-
-void
-_gdk_windowing_exit (void)
-{
-
- if (_gdk_display->buffer)
- _gdk_display->buffer->Release (_gdk_display->buffer);
-
- _gdk_directfb_keyboard_exit ();
-
- if (_gdk_display->keyboard)
- _gdk_display->keyboard->Release (_gdk_display->keyboard);
-
- _gdk_display->layer->Release (_gdk_display->layer);
-
- _gdk_display->directfb->Release (_gdk_display->directfb);
-
- g_free (_gdk_display);
- _gdk_display = NULL;
-}
-
-gchar *
-gdk_get_display (void)
-{
- return g_strdup (gdk_display_get_name (gdk_display_get_default ()));
-}
-
-
-/* utils */
-static const guint type_masks[] =
-{
- GDK_STRUCTURE_MASK, /* GDK_DELETE = 0, */
- GDK_STRUCTURE_MASK, /* GDK_DESTROY = 1, */
- GDK_EXPOSURE_MASK, /* GDK_EXPOSE = 2, */
- GDK_POINTER_MOTION_MASK, /* GDK_MOTION_NOTIFY = 3, */
- GDK_BUTTON_PRESS_MASK, /* GDK_BUTTON_PRESS = 4, */
- GDK_BUTTON_PRESS_MASK, /* GDK_2BUTTON_PRESS = 5, */
- GDK_BUTTON_PRESS_MASK, /* GDK_3BUTTON_PRESS = 6, */
- GDK_BUTTON_RELEASE_MASK, /* GDK_BUTTON_RELEASE = 7, */
- GDK_KEY_PRESS_MASK, /* GDK_KEY_PRESS = 8, */
- GDK_KEY_RELEASE_MASK, /* GDK_KEY_RELEASE = 9, */
- GDK_ENTER_NOTIFY_MASK, /* GDK_ENTER_NOTIFY = 10, */
- GDK_LEAVE_NOTIFY_MASK, /* GDK_LEAVE_NOTIFY = 11, */
- GDK_FOCUS_CHANGE_MASK, /* GDK_FOCUS_CHANGE = 12, */
- GDK_STRUCTURE_MASK, /* GDK_CONFIGURE = 13, */
- GDK_VISIBILITY_NOTIFY_MASK,/* GDK_MAP = 14, */
- GDK_VISIBILITY_NOTIFY_MASK,/* GDK_UNMAP = 15, */
- GDK_PROPERTY_CHANGE_MASK, /* GDK_PROPERTY_NOTIFY = 16, */
- GDK_PROPERTY_CHANGE_MASK, /* GDK_SELECTION_CLEAR = 17, */
- GDK_PROPERTY_CHANGE_MASK, /* GDK_SELECTION_REQUEST = 18, */
- GDK_PROPERTY_CHANGE_MASK, /* GDK_SELECTION_NOTIFY = 19, */
- GDK_PROXIMITY_IN_MASK, /* GDK_PROXIMITY_IN = 20, */
- GDK_PROXIMITY_OUT_MASK, /* GDK_PROXIMITY_OUT = 21, */
- GDK_ALL_EVENTS_MASK, /* GDK_DRAG_ENTER = 22, */
- GDK_ALL_EVENTS_MASK, /* GDK_DRAG_LEAVE = 23, */
- GDK_ALL_EVENTS_MASK, /* GDK_DRAG_MOTION = 24, */
- GDK_ALL_EVENTS_MASK, /* GDK_DRAG_STATUS = 25, */
- GDK_ALL_EVENTS_MASK, /* GDK_DROP_START = 26, */
- GDK_ALL_EVENTS_MASK, /* GDK_DROP_FINISHED = 27, */
- GDK_ALL_EVENTS_MASK, /* GDK_CLIENT_EVENT = 28, */
- GDK_VISIBILITY_NOTIFY_MASK,/* GDK_VISIBILITY_NOTIFY = 29, */
- GDK_EXPOSURE_MASK, /* GDK_NO_EXPOSE = 30, */
- GDK_SCROLL_MASK /* GDK_SCROLL = 31 */
-};
-
-GdkWindow *
-gdk_directfb_other_event_window (GdkWindow *window,
- GdkEventType type)
-{
- guint32 evmask;
- GdkWindow *w;
-
- w = window;
- while (w != _gdk_parent_root)
- {
- /* Huge hack, so that we don't propagate events to GtkWindow->frame */
- if ((w != window) &&
- (GDK_WINDOW_OBJECT (w)->window_type != GDK_WINDOW_CHILD) &&
- (g_object_get_data (G_OBJECT (w), "gdk-window-child-handler")))
- break;
-
- evmask = GDK_WINDOW_OBJECT (w)->event_mask;
-
- if (evmask & type_masks[type])
- return w;
-
- w = gdk_window_get_parent (w);
- }
-
- return NULL;
-}
-
-GdkWindow *
-gdk_directfb_pointer_event_window (GdkWindow *window,
- GdkEventType type)
-{
- guint evmask;
- GdkModifierType mask;
- GdkWindow *w;
-
- gdk_directfb_mouse_get_info (NULL, NULL, &mask);
-
- if (_gdk_directfb_pointer_grab_window && !_gdk_directfb_pointer_grab_owner_events )
- {
- evmask = _gdk_directfb_pointer_grab_events;
-
- if (evmask & (GDK_BUTTON1_MOTION_MASK |
- GDK_BUTTON2_MOTION_MASK |
- GDK_BUTTON3_MOTION_MASK))
- {
- if (((mask & GDK_BUTTON1_MASK) &&
- (evmask & GDK_BUTTON1_MOTION_MASK)) ||
- ((mask & GDK_BUTTON2_MASK) &&
- (evmask & GDK_BUTTON2_MOTION_MASK)) ||
- ((mask & GDK_BUTTON3_MASK) &&
- (evmask & GDK_BUTTON3_MOTION_MASK)))
- evmask |= GDK_POINTER_MOTION_MASK;
- }
-
- if (evmask & type_masks[type]) {
-
- if( _gdk_directfb_pointer_grab_owner_events ) {
- return _gdk_directfb_pointer_grab_window;
- }else {
- GdkWindowObject *obj= GDK_WINDOW_OBJECT(window);
- while (obj != NULL &&
- obj != GDK_WINDOW_OBJECT(_gdk_directfb_pointer_grab_window)) {
- obj = (GdkWindowObject *)obj->parent;
- }
- if( obj ==GDK_WINDOW_OBJECT(_gdk_directfb_pointer_grab_window) ) {
- return window;
- }else {
- //was not child of the grab window so return the grab window
- return _gdk_directfb_pointer_grab_window;
- }
- }
- }
- }
-
- w = window;
- while (w != _gdk_parent_root)
- {
- /* Huge hack, so that we don't propagate events to GtkWindow->frame */
- if ((w != window) &&
- (GDK_WINDOW_OBJECT (w)->window_type != GDK_WINDOW_CHILD) &&
- (g_object_get_data (G_OBJECT (w), "gdk-window-child-handler")))
- break;
-
- evmask = GDK_WINDOW_OBJECT (w)->event_mask;
-
- if (evmask & (GDK_BUTTON1_MOTION_MASK |
- GDK_BUTTON2_MOTION_MASK |
- GDK_BUTTON3_MOTION_MASK))
- {
- if (((mask & GDK_BUTTON1_MASK) &&
- (evmask & GDK_BUTTON1_MOTION_MASK)) ||
- ((mask & GDK_BUTTON2_MASK) &&
- (evmask & GDK_BUTTON2_MOTION_MASK)) ||
- ((mask & GDK_BUTTON3_MASK) &&
- (evmask & GDK_BUTTON3_MOTION_MASK)))
- evmask |= GDK_POINTER_MOTION_MASK;
- }
-
- if (evmask & type_masks[type])
- return w;
-
- w = gdk_window_get_parent (w);
- }
-
- return NULL;
-}
-
-GdkWindow *
-gdk_directfb_keyboard_event_window (GdkWindow *window,
- GdkEventType type)
-{
- guint32 evmask;
- GdkWindow *w;
-
- if (_gdk_directfb_keyboard_grab_window &&
- !_gdk_directfb_keyboard_grab_owner_events)
- {
- return _gdk_directfb_keyboard_grab_window;
- }
-
- w = window;
- while (w != _gdk_parent_root)
- {
- /* Huge hack, so that we don't propagate events to GtkWindow->frame */
- if ((w != window) &&
- (GDK_WINDOW_OBJECT (w)->window_type != GDK_WINDOW_CHILD) &&
- (g_object_get_data (G_OBJECT (w), "gdk-window-child-handler")))
- break;
-
- evmask = GDK_WINDOW_OBJECT (w)->event_mask;
-
- if (evmask & type_masks[type])
- return w;
-
- w = gdk_window_get_parent (w);
- }
- return w;
-}
-
-
-GdkEvent *
-gdk_directfb_event_make (GdkWindow *window,
- GdkEventType type)
-{
- GdkEvent *event = gdk_event_new (GDK_NOTHING);
- guint32 the_time = gdk_directfb_get_time ();
- event->any.type = type;
- event->any.window = g_object_ref (window);
- event->any.send_event = FALSE;
-
- switch (type)
- {
- case GDK_MOTION_NOTIFY:
- event->motion.time = the_time;
- event->motion.axes = NULL;
- break;
- case GDK_BUTTON_PRESS:
- case GDK_2BUTTON_PRESS:
- case GDK_3BUTTON_PRESS:
- case GDK_BUTTON_RELEASE:
- event->button.time = the_time;
- event->button.axes = NULL;
- break;
- case GDK_KEY_PRESS:
- case GDK_KEY_RELEASE:
- event->key.time = the_time;
- break;
- case GDK_ENTER_NOTIFY:
- case GDK_LEAVE_NOTIFY:
- event->crossing.time = the_time;
- break;
- case GDK_PROPERTY_NOTIFY:
- event->property.time = the_time;
- break;
- case GDK_SELECTION_CLEAR:
- case GDK_SELECTION_REQUEST:
- case GDK_SELECTION_NOTIFY:
- event->selection.time = the_time;
- break;
- case GDK_PROXIMITY_IN:
- case GDK_PROXIMITY_OUT:
- event->proximity.time = the_time;
- break;
- case GDK_DRAG_ENTER:
- case GDK_DRAG_LEAVE:
- case GDK_DRAG_MOTION:
- case GDK_DRAG_STATUS:
- case GDK_DROP_START:
- case GDK_DROP_FINISHED:
- event->dnd.time = the_time;
- break;
- case GDK_SCROLL:
- event->scroll.time = the_time;
- break;
- case GDK_FOCUS_CHANGE:
- case GDK_CONFIGURE:
- case GDK_MAP:
- case GDK_UNMAP:
- case GDK_CLIENT_EVENT:
- case GDK_VISIBILITY_NOTIFY:
- case GDK_NO_EXPOSE:
- case GDK_DELETE:
- case GDK_DESTROY:
- case GDK_EXPOSE:
- default:
- break;
- }
-
- _gdk_event_queue_append (gdk_display_get_default (), event);
-
- return event;
-}
-
-void
-gdk_error_trap_push (void)
-{
-}
-
-gint
-gdk_error_trap_pop (void)
-{
- return 0;
-}
-
-GdkGrabStatus
-gdk_keyboard_grab (GdkWindow *window,
- gint owner_events,
- guint32 time)
-{
- return gdk_directfb_keyboard_grab (gdk_display_get_default(),
- window,
- owner_events,
- time);
-}
-
-/*
- *--------------------------------------------------------------
- * gdk_pointer_grab
- *
- * Grabs the pointer to a specific window
- *
- * Arguments:
- * "window" is the window which will receive the grab
- * "owner_events" specifies whether events will be reported as is,
- * or relative to "window"
- * "event_mask" masks only interesting events
- * "confine_to" limits the cursor movement to the specified window
- * "cursor" changes the cursor for the duration of the grab
- * "time" specifies the time
- *
- * Results:
- *
- * Side effects:
- * requires a corresponding call to gdk_pointer_ungrab
- *
- *--------------------------------------------------------------
- */
-
-
-GdkGrabStatus
-_gdk_windowing_pointer_grab (GdkWindow *window,
- GdkWindow *native,
- gboolean owner_events,
- GdkEventMask event_mask,
- GdkWindow *confine_to,
- GdkCursor *cursor,
- guint32 time)
-{
- g_return_val_if_fail (GDK_IS_WINDOW (window), 0);
- g_return_val_if_fail (confine_to == NULL || GDK_IS_WINDOW (confine_to), 0);
-
- _gdk_display_add_pointer_grab (&_gdk_display->parent,
- window,
- native,
- owner_events,
- event_mask,
- 0,
- time,
- FALSE);
-
- return GDK_GRAB_SUCCESS;
-}