Commit Graph

60 Commits

Author SHA1 Message Date
Matthias Clasen
f0576244a2 Fix prototype mismatch. (#148589, Nicolas Deves)
2004-07-28  Matthias Clasen  <mclasen@redhat.com>

	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_background): Fix
	prototype mismatch.  (#148589, Nicolas Deves)
2004-07-28 13:51:48 +00:00
Soeren Sandmann
1a5e92dd61 Bug 143330, support update counter spec.
Sun Jul 11 15:24:03 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	Bug 143330, support update counter spec.

	* configure.in: Add check for the Sync extension

	* gdk/gdkwindow.h: gdk_window_enable_synchronized_configure() and
	gdk_window_configure_finished()

	* gtk/gtkwindow.c (gtk_window_move_resize): Call gdk_window_finish_configure().
	* gtk/gtkwindow.c (gtk_window_realize): Automatically enable
	synchronized configures.

	* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Store current
	and pending counter values.

	* gdk/x11/gdkwindow-x11.c (gdk_window_configure_finished): New function.
	* gdk/x11/gdkwindow-x11.c
	(gdk_window_enable_synchronized_configure): New function.
	* gdk/x11/gdkwindow-x11.c (gdk_toplevel_x11_free_contents):
	Delete update counter.
	* gdk/x11/gdkwindow-x11.c (set_wm_protocols): Advertise
	_NET_WM_SYNC_REQUEST when Sync is available

	* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Handle
	_NET_WM_SYNC_REQUEST messages
	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Save counter
	value for use by gdk_window_configure_finished() when receiving
	ConfigureNotifies.

	* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add use_sync flag
	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Check if the XSync
	extension is available
	* gdk/x11/gdkdisplay-x11.c: Add _NET_WM_SYNC_REQUEST and
	_NET_WM_SYNC_REQUEST_COUNTER to list of supported atoms.

	* gdk/linux-fb/gdkwindow-fb.c, gdk/win32/gdkwindow-win32.c: Add
	stubs for enable_synchronized_configure() and configure_finished()
2004-07-11 13:26:57 +00:00
Elijah Newren
5502f77eaf Changes to support do-not-focus-on-map hint in conjunction with
2004-05-05  Elijah Newren  <newren@math.utah.edu>

	Changes to support do-not-focus-on-map hint in conjunction with
	_NET_WM_USER_TIME (#115650):

	* gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
	field focus_on_map

	* gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
	set it.

	* gtk/gtkwindow.[hc]: Add a boolean property "focus_on_map"
	and gtk_window_get_focus_on_map() and gtk_window_set_focus_on_map().

	* gdk/win32/gdkwindow-win32.c (gdk_window_new):
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
	* gdk/x11/gdkwindow-x11.c (gdk_window_new):
	Initialize the focus_on_map field to TRUE.

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_focus_on_map):
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_focus_on_map):
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_focus_on_map):
	* gdk/x11/gdkwindow-x11.c (setup_toplevel_window):
	Implementations for the various backends. The Win32 and linux-fb
	implementations set the focus_on_map field, but don't use it yet
	to actually implement noinput windows. The X implementation sets
	_NET_WM_USER_TIME to 0 if focus_on_map is FALSE (see the EWMH).

	* gdk/x11/gdkwindow-x11.h:
	* gdk/x11/gdkevents-x11.c (set_user_time):
	* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event):
	* gdk/x11/gdkwindow-x11.c (gdk_x11_window_set_user_time):
	s/_gdk_x11_window_set_user_time/gdk_x11_window_set_user_time/,
	since we want that function to be part of the public API.
2004-05-06 02:57:01 +00:00
Federico Mena Quintero
d2f1faa2fd Make <config.h> the very first include. Likewise. Likewise.
2004-03-05  Federico Mena Quintero  <federico@ximian.com>

	* gdk/linux-fb/gdkglobals-fb.c: Make <config.h> the very first
	include.
	* gdk/linux-fb/gdkwindow-fb.c: Likewise.
	* gdk/linux-fb/gdkinput.c: Likewise.
2004-03-06 04:00:07 +00:00
Federico Mena Quintero
80581c3011 Fixes #136082 and #135265, patch by Morten Welinder.
2004-03-05  Federico Mena Quintero  <federico@ximian.com>

	Fixes #136082 and #135265, patch by Morten Welinder.

	* configure.in: Use AC_SYS_LARGEFILE.

	* */*.c: #include <config.h>
2004-03-06 03:38:59 +00:00
Federico Mena Quintero
5ebb6b04f2 Fix #105497; constify uses of GdkColor.
2004-01-26  Federico Mena Quintero  <federico@ximian.com>

	Fix #105497; constify uses of GdkColor.

	* gdk/gdkgc.c (gdk_gc_set_rgb_fg_color): Constify.
	(gdk_gc_set_rgb_bg_color): Constify.
	(gdk_gc_set_foreground): Constify.

	* gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): Constify.
	* gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Constify.
	* gdk/linux-fb/gdkcursor-fb.c (gdk_cursor_new_from_pixmap): Constify.

	* gdk/x11/gdkpixmap-x11.c (gdk_pixmap_create_from_data): Constify.
	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data): Constify.
	* gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_create_from_data): Constify.

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_background): Constify.
	* gdk/win32/gdkwindow-win32.c (gdk_window_set_background): Constify.
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_background): Constify.

	* gdk/gdkpango.c (gdk_draw_layout_line_with_colors): Constify.
	(gdk_draw_layout_with_colors): Constify.

	* gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf): Constify.
	(gdk_pixmap_colormap_create_from_xpm): Constify.
	(gdk_pixmap_create_from_xpm): Constify.
	(gdk_pixmap_colormap_create_from_xpm_d): Constify.
	(gdk_pixmap_create_from_xpm_d): Constify.

	* gtk/gtkcellview.c (gtk_cell_view_set_background_color): Constify.

	* gtk/gtkclist.c (gtk_clist_set_foreground): Constify.
	(gtk_clist_set_background): Constify.

	* gtk/gtkcolorbutton.c (gtk_color_button_new_with_color): Constify.
	(gtk_color_button_set_color): Constify.

	* gtk/gtkcolorsel.c (gtk_color_selection_set_current_color):
	Constify and add a check for color != NULL.
	(gtk_color_selection_get_current_color): Add a check for color != NULL.
	(gtk_color_selection_set_previous_color): Constify and add a check
	for color != NULL.
	(gtk_color_selection_get_previous_color): Add a check for color != NULL.

	* gtk/gtkctree.c (gtk_ctree_node_set_foreground): Constify.
	(gtk_ctree_node_set_background): Constify.

	* gtk/gtktext.c (gtk_text_insert): Constify.
	(insert_text_property): Constify.
	(text_properties_equal): Constify.
	(new_text_property): Constify.

	* gtk/gtkwidget.c (gtk_widget_modify_color_component): Constify.
	(gtk_widget_modify_fg): Constify.
	(gtk_widget_modify_bg): Constify.
	(gtk_widget_modify_text): Constify.
	(gtk_widget_modify_base): Constify.
2004-01-26 20:21:09 +00:00
Matthias Clasen
5fb61f3075 Changes to allow "no input" windows (#64613):
Thu Dec 11 00:35:12 2003  Matthias Clasen  <maclas@gmx.de>

	Changes to allow "no input" windows (#64613):

	* gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
	field accept_focus.

	* gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
	set it.

	* gtk/gtkwindow.[hc]: Add a boolean property "accept_focus"
	and gtk_window_get_focus() and gtk_window_set_focus().

	* gdk/win32/gdkwindow-win32.c (gdk_window_new):
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_new):
	Initialize the accept_focus field to TRUE.

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_accept_focus):
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_accept_focus):
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_accept_focus):
	Implementations for the various backends. The Win32 and linux-fb
	implementations set the accept_focus field, but don't use it yet
	to actually implement noinput windows. The X implementation updates
	the WM_HINTS to select the globally active input model (see the
	ICCCM) if accept_focus is FALSE.

	* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Ignore the
	WM_TAKE_FOCUS message if accept_focus is FALSE.
2003-12-10 23:58:23 +00:00
Eric Warmenhoven
79439c9c7b Add gdk_window_set_keep_{above,below} stubs to fix compilation
Tue Sep 16 10:42:00 2003  Eric Warmenhoven  <eric@warmenhoven.org>

        * gdk/linux-fb/gdkwindow-fb.c: Add gdk_window_set_keep_{above,below}
        stubs to fix compilation

        * gdk/linux-fb/gdkrender-fb.c: Add gdk_shadow_fb_stop_updates stub for
        when shadowfb is disabled. Patch from pjm@cctechnol.com (#120847).

        * gdk/linux-fb/gdkmouse-fb.c: Add GDK_MOUSE_DEVICE environment
        variable. Patch from Marc Welz (#121347).
2003-09-16 17:59:20 +00:00
Matthias Clasen
d03b2741ad Trivial cleanups (bug #107664) 2003-03-08 20:49:00 +00:00
Eric Warmenhoven
6173371a61 fix compilation
Mon Oct  7 19:14:24 2002  Eric Warmenhoven <eric@warmenhoven.org>

	* gdk/linux-fb/gdkwindow-fb.c: fix compilation

	* gdk/linux-fb/gdkmain-fb.c: better display mode setting
2002-10-08 02:19:09 +00:00
Owen Taylor
253458ec52 - Replace GdkPointerHooks with a multihead-safe GdkDisplayPointerHooks,
Mon Oct  7 15:10:00 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkdisplay.[ch] gdk/gdkinternals.h
        gdk/gdkwindow.[ch] gdk/linux-fb/gdkwindow-fb.c
        gdk/win32/gdkwindow-win32.c gdk/x11/gdkwindow-x11.c:

        - Replace GdkPointerHooks with a multihead-safe
          GdkDisplayPointerHooks, leave GdkPointerHooks
          around for singlehead.
        - Add gdk_display_get_pointer() to get the pointer
          location with the screen it is on.

        * gdk/gdk.def gdk/gdkdisplay.[ch] gdk/gdkscreen.[ch]:
        Change gdk_screen_get_window_at_pointer() to
        gdk_display_get_window_at_pointer().

        * gtk/gtktreeview.c demos/gtk-demo/changedisplay.c
        tests/testgtk.c: Use gdk_display_get_window_at_pointer(),
        not gdk_screen_get_window_at_pointer().

        * gtk/gtkcolorsel.c: Fix grabbing color to be multihead
        safe.

        * gtk/gtkwidget.c: Allow gtk_widget_push_colormap (NULL).
        since it is useful for writing code that doesn't
        know the dcurrent state but needs a clean colormap.

        * gtk/gtkrc.c: When loading the settings for a particular
        screen, only reset toplevels on that screen.

        * gtk/gtkiconfactory.h: Fix #ifdef GTK_MULTIHEAD_SAFE
        that should have been #ifndef GTK_MULTIHEAD_SAFE.
2002-10-07 19:42:49 +00:00
Eric Warmenhoven
ccc2ccf221 implement maximize for linux-fb
Thu Oct  3 16:40:18 2002 Eric Warmenhoven <eric@warmenhoven.org>

        * gdk/gdkevents.c, gdk/linux-fb/gdkwindow-fb.c,
        gtk/gtkwindow-decorate.c: implement maximize for linux-fb

        * gdk/linux-fb/gdkkeyboard-fb.c: implement raw keyboard mode

        * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkdnd-fb.c,
        gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkselection-fb.c,
        gdk/linux-fb/miarc.c, gdk/linux-fb/mifpolycon.c,
        gdk/linux-fb/miwideline.c, gdk/linux-fb/mizerclip.c,
        gdk/linux-fb/mizerline.c: small cleanups
2002-10-03 23:45:03 +00:00
Eric Warmenhoven
393ad7381e Move gdk_keval_name and gdk_keyval_from_name to new gdkkeynames.c, share
Fri Sep 27 14:30:34 2002 Eric Warmenhoven <eric@warmenhoven.org>

	* gdk/Makefile.am gdk/gdkkeynames.c gdk/linux-fb/gdkmain-fb.c
	gdk/win32/gdkkeys-win32.c: Move gdk_keval_name and
	gdk_keyval_from_name to new gdkkeynames.c, share implementation for
	linux-fb and win32 (#94123)

	* gdk/linux-fb/Makefile.am gdk/linux-fb/gdkkeyboard-fb.c
	gdk/linux-fb/gdkmain-fb.c gdk/linux-fb/gdkmouse-fb.c: add
	-DG_DISABLE_DEPRECATED and -DGDK_PIXBUF_DISABLE_DEPRECATED to compile
	flags

	* gdk/linux-fb/gdkdisplay-fb.c: prevent segfault if display can't
	initialize

	* gdk/linux-fb/gdkkeyboard-fb.c: better parsing of keycodes

	* gdk/linux-fb/gdkwindow-fb.c: add stubs for new functions
2002-09-27 21:36:11 +00:00
Owen Taylor
5102e76f2b Patch from Eric Warmenhoven to with miscellaneous linux-fb fixes,
Sun Sep 22 18:22:37 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/linux-fb/{gdkinput.c,gdkkeyboard-fb.c,gdk/linux-fb/gdkmain-fb.c,
        gdk/linux-fb/gdkprivate-fb.h, gdk/linux-fb/gdkwindow-fb.c}:
        Patch from Eric Warmenhoven to with miscellaneous linux-fb
        fixes, including a fix for a crash in
        gdk_keymap_get_entries_for_keycode (#87420)
2002-09-22 22:32:05 +00:00
Owen Taylor
7ddfec4f80 Patch from Eric Warmonhoven to get linux-fb compiling with multihead
Tue Sep 10 11:11:09 2002  Owen Taylor  <otaylor@redhat.com>
        * gdk/linux-fb/*: Patch from Eric Warmonhoven to
        get linux-fb compiling with multihead changes.
2002-09-10 15:19:13 +00:00
Owen Taylor
1dd8a1453f Add a sanity g_return_if_fail() check for the depths for the window and
Tue May 14 15:40:49 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkwindow-{linux-fb,win32,x11.c} (gdk_window_set_back_pixmap):        Add a sanity g_return_if_fail() check for the depths
        for the window and pixmap. (#79191, Shivaram Upadhyayula)
2002-05-14 19:45:08 +00:00
Owen Taylor
7ea17ce7fd ed Feb 27 19:16:50 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_new):
        * gdk/x11/gdkwindow-x11.c (gdk_window_get_events):
        * gdk/x11/gdkwindow-x11.c (gdk_window_set_events):
        * gdk/win32/gdkwindow-win32.c (gdk_window_set_events):
        * gdk/win32/gdkwindow-win32.c (gdk_window_new):
        * gdk/gdkwindow.h (struct _GdkWindowObject):
        * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_events):
        Save the window's event mask in window->event_mask.

        * gdk/gdkwindow.c (gdk_window_process_updates_internal): Only
        generate expose events if GDK_EXPOSE_MASK is included
        window->event_mask. (#54506)
2002-02-28 00:26:51 +00:00
Manish Singh
dc0b9c8021 gdk/linux-fb/gdkdrawable-fb2.c update to latest Pango API
Sat Nov 24 13:39:51 2001  Manish Singh  <yosh@gimp.org>

        * gdk/linux-fb/gdkdrawable-fb2.c
        * gdk/linux-fb/gdkpango-fb.c: update to latest Pango API

        * gdk/linux-fb/gdkwindow-fb.c: implement gdk_window_show_unraised

        * gdk/linux-fb/gdkfont-fb.c (gdk_font_load): plug memleak on
        set_family

        * gdk/linux-fb/gdkfbswitch.c: minor cleanups
2001-11-24 21:52:50 +00:00
Owen Taylor
86dbeabc40 Include glib-object.h instead of gobject/gsignal.h
Sat Nov 17 21:07:46 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkenums.h: Include glib-object.h instead of
	gobject/gsignal.h

	* gdk/{gdkinternals.h,gdkwindow.c,gdkwindow.[ch],
	  x11,{fb,win32,x11/gdkwindow-*.c}: Add a dummy GdkScreen
	argument to the window_at_pointer() field of
	GdkPointerHooks. (Patch from Erwann Chenede)

	* gdk/gdkdrawable.h (struct _GdkDrawableClass ): Up
	to 6 pointers.
2001-11-18 02:15:52 +00:00
Alex Larsson
b4187613f4 Update to new Pango APIs
2001-10-24  Alex Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkfont-fb.c:
	Update to new Pango APIs

	* gdk/linux-fb/gdkproperty-fb.c:
	Update to new GdkAtom APIs

	* gdk/linux-fb/gdkwindow-fb.c:
	Remove warnings
2001-10-24 23:41:12 +00:00
Matthias Clasen
73e845eeab Add gdk_window_lookup, gdk_window_foreign_new, gdk_pixmap_lookup and
* gdk/gdkwindow.h, gdk/gdkpixmap.h, gdk/x11/gdkx.h,
        gdk/x11/gdkwindow-x11.c, gdk/x11/gdkpixmap-x11.c,
        gdk/win32/gdkwin32.h, gdk/win32/gdkwindow-win32.c,
        gdk/win32/gdkpixmap-win32.c, gdk/linux-fb/gdkfb.h,
        gdk/linux-fb/gdkwindow-fb.c, gdk/linux-fb/gdkpixmap-fb.c:
        Add gdk_window_lookup, gdk_window_foreign_new, gdk_pixmap_lookup
        and gkd_pixmap_foreign_new to the gdk frontend api. (#62063)

        * gtk/gtkselection.c: Remove gdk backend dependencies. (#62063)
2001-10-18 20:23:17 +00:00
Alex Larsson
27401e1e46 Removed unused function.
2001-09-07  Alex Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkcolor-fb.c:
	Removed unused function.

	* gdk/linux-fb/gdkdrawable-fb2.c
	* gdk/linux-fb/gdkfont-fb.c:
	Use PangoLanguage functions.

	* gdk/linux-fb/gdkinput.c:
	* gdk/linux-fb/gdkselection-fb.c:
	Fix const warnings.

	* gdk/linux-fb/gdkwindow-fb.c:
	Fix warning. Implement gdk_window_set_icon_list() and
	gdk_window_get_frame_extents(). (No icon support yet though.)

	* gtk/gtkwindow.c (gtk_window_get_position):
	If window->frame is set get the extents of it instead.
2001-09-08 00:30:13 +00:00
Owen Taylor
1bbf2ac7ee Make gdkx.h the only installed header from gdk/x11. All structures in
Fri Sep  7 11:51:44 2001  Owen Taylor  <otaylor@redhat.com>

      Make gdkx.h the only installed header from gdk/x11.
      All structures in gdk/x11 are opaque.

	* gdk/x11/Makefile.am gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h:
	Don't install gdk{drawable,pixmap,window}-x11.h.

	* gdk/x11/{gdkcolormap-x11.c, gdkfont-x11.c, gdkx.h, gdkvisual-x11.c:
	Move GdkColormapPrivateX11, GdkFontPrivateX GdkImagePrivateX11,
	GdkVisualClass into C files.

	* gdk/gdkpixmap-x11.[ch]: Make gdk_pixmap_impl_get_type() static.

	* gdk/x11/{gdkcolor-x11.c, gdkcursor-x11.c, gdkdrawable-x11.c,
	gdkfont-x11.c, gdkgc-x11.c, gdkx.h, gdkimage-x11,gdkvisual-x11.c}
	Add public functions to replace previously exported direct
	structure access.
	gdk_x11_colormap_get_{xdisplay,xcolormap}
	gdk_x11_cursor_get_{xdisplay,xcursor},
	gdk_x11_drawable_get_{xdisplay,xcursor,gdk_x11_visual_get_xvisual,
	gdk_x11_font_get_{xdisplay,xfont}, gdk_x11_image_get_{xdisplay,ximage},
	gdk_x11_gc_get_{xdisplay,ximage}

	* gdk/gdkprivate.h gdk/gdkinternals.h: Move GdkColorInfo,
	GdkEventFilter, GdkClientFilter, GdkFontPrivate to gdkinternals.

      Fix a number of variables and functions that were exported
      "accidentally" from GDK.

	* gdk/**.[ch]: gdk => _gdk for gdk_visual_init,
	gdk_events_init, gdk_input_init, gdk_dnd_init, gdk_image_exit,
	gdk_input_exit,	gdk_windowing_exit, gdk_event_func, gdk_event_data,
	gdk_event_notify, gdk_queued_events, gdk_queued_tail,
	gdk_event_new, gdk_events_queue, gdk_events_unqueue,
	gdk_event_queue_find_first, gdk_event_queue_remove_link,
	gdk_event_queue_append, gdk_event_button_generate,
	gdk_debug_flags, gdk_default_filters, gdk_parent_root.

	* gdk/x11/{gdkevents-x11.c, gdkglobals-x11.c, gdkimage-x11.c,
	   gdkmain-x11.c, gdkprivate-x11.h, gdk/x11/gdkwindow-x11.c}:
	gdk => _gdk for gdk_event_mask_table, gkd_nevent_masks,
	gdk_wm_window_protocols, gdk_leader_window, gdk_xgrab_window,
	gdk_use_xshm, gdk_input_ignore_core.

	* gdk/x11/xsettings-common.h (xsettings_list_insert): Add
	#defines to namespace functions into the private _gdk_
	namespace.

	* gdk/gdkwindow.[ch] gdk/x11/gdkx.h: Add gdk_get_default_root_window ()
	to replace gdk_parent_root exported variable. Adjust and
	deprecate GDK_ROOT_PARENT().

	* demos/{testpixbuf-drawable.c,testpixbuf-save.c}: Fix
	GDK_ROOT_PARENT usage, remove includes of port-specific
	headers.

	* gdk/{win32,x11,fb}/gdkinput*.[ch]: s/gdk/_gdk/ for
	_gdk_input_gxid_host, _gdk_input_gxid_port, _gdk_input_ignore_core,
	gdk_input_devices, _gdk_input_windows, gdk_init_input_core.

	* gdk/x11/{gdkevents-x11.,c gdkglobals-x11.c, gdkmain-x11.c}
	docs/Changes-2.0.txt: Remove gdk_wm_protocols,
	gdk_wm_delete_window functions, gdk_wm_take_focus,
	use gdk_atom_intern() instead.

	* gdk/linux-fb/{gdkselection-fb.c, gdkmain-fb.c, gdkprivatefb.h}
	  gdk/win32/{gdkselection-win32.c, gdkmgdkwin32.h, gdkprivate-win32.h}
	  gdk/x11/{gdkselection-x11.c gdkx.h, gtkprivate-x11.h}
	  gtk/gtkselection.c
        Unexport gdk_selection_property, just use
	gdk_atom_intern ("GDK_SELECTION").

	* gdk/x11/{gdkprivate-x11.h,gdkdrawable-x11h,gdkgc-x11.c,gdkx.h}:
	Unexport gdk_drawable_impl_x11_get_type, gdk_gc_x11_get_type,
	GDK_GC_X11 cast macros, GdkGCX11 structures, GdkCursorPrivate,
	GdkVisualprivate, gdk_x11_gc_flush.

      Make a number of public exports of variables into functions
      to increase encapsulation.

	* gdk/gdkinternals.h gdk/gdkinput.h gdk/gdkevents.h
	gdk/linux-fb/gdkmouse-fb.c: gdk_core_pointer => _gdk_core_pointer,
	move to gdkinternals.h. Add gdk_device_get_core_pointer ().

	* gdk/gdkprivate.h gdk/gdkpango.c gdk/gdkinternals.h
	docs/Changes-2.0.txt: Unexport gdk_parent_root, gdk_error_code,
	gdk_error_warnings.

	* gdk/x11/{gdkcolormap-x11.c, gdkmain-x11.c, gdkx.h}
	  docs/Changes-2.0.txt:
	s/gdk_screen/_gdk_screen/, add gdk_x11_get_default_screen()
	s/gdk_root_window/_gdk_root_window/, add gdk_x11_get_default_root_xwindow()
	Add gdk_x11_get_default_xdisplay().

	* gdk/gdk.h gdk/gdk.c linux-fb/gdkfb.h linux-fb/gdkglobals-fb.c
	win32/gdkwin32.h x11/gdkglobals-x11.c gdk/x11/gdkmain-x11.c
	gdk/x11/gdkx.h: gdk/gdk.def: Add gdk_get/set_program_class,
	Don't export gdk_progclass, move --class command line
	option and handling to common portion of GDK.

      Miscellaneous fixes:

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Fix
	g_return_val_if_fail that should have been g_return_if_fail.

	* gdk/gdkinternals.h gdk/gdkprivate.h: Move
	gdk_synthesize_window_state() to the semi-public gdkprivate.h.

	* gtk/gtkdnd.c (_gtk_drag_source_handle_event): Remove uneeded
	X11 dependency.

	* gdk/linux-fb/gdkmain-fb.c gdk/win32/gdkmain-win32.c gdk/TODO:
	Remove unused gdk_key_repeat_disable/restore.

	* linux-fb/gdkglobals-fb.c win32/gdkglobals-win32.c
	x11/gdkglobals-x11.c x11/gdkprivate-x11.h gdk/gdk.def:
	Remove unused gdk_null_window_warnings variable.

	* gdk/Makefile.am (DIST_SUBDIRS) nanox/*: cvs remove nanox;
	it can be retrieved from the repository; it is too far
	from functional to be worth having people check out;
	it would be easier to start from scratch, I suspect.

	* gdk/x11/gdkpixmap-x11.c: Fix lvalue usage of GDK_PIXMAP_XID().

	* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
	gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
	Fix some accidentally global variables and unused global variables.

	* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
	gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
	Fix some accidentally global variables and unused global variables.

      Add some space for future expansion to multihead.

	* gdk/gdkdrawable.h: Add four reserved function pointers
	for future expansion of GdkDrawableClass.

	* gtk/gtkwindow.h gtk/gtkinvisible.h: Add reserved pointer
	where we can put a GdkScreen * later.
2001-09-07 21:50:20 +00:00
Owen Taylor
191e83b32a Add gdk_set_pointer_hooks() to allow pointer-querying to be hooked by an
Mon Jul  2 01:09:37 2001  Owen Taylor  <otaylor@redhat.com>

 	* gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkwindow-x11.c
 	gdk/linux-fb/gdkwindow-fb.c gdk/x11/gdkwindow-x11.c gdk/gdk:
 	Add gdk_set_pointer_hooks() to allow pointer-querying to
 	be hooked by an event record/playback system like GERD.
	(#56914)
2001-07-05 13:41:34 +00:00
Alexander Larsson
be12f52526 Unify shaped window code and make it repaint the area that used to be part
2001-06-13  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkwindow-fb.c:
	Unify shaped window code and make it repaint the area that used
	to be part of the shape, but isn't anymore.
2001-06-13 21:40:37 +00:00
Alexander Larsson
2c396fea9f Make sure you can compile out the implementation/wrapper assert macros.
2001-05-10  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkprivate-fb.h:
	Make sure you can compile out the implementation/wrapper assert
	macros.

	* gdk/linux-fb/gdkdrawable-fb2.c:
	Check implementation/wrappers, initialize type for pixmap dummys.

	* gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
	Hide the cursor if reading from the screen.

	* gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
	Fix sign bug in tiling code.

	* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
	Handle background pixmaps.
2001-05-10 22:44:27 +00:00
Alexander Larsson
404d1a2d7e New function for getting toplevel window at position.
2001-05-07  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkdnd-fb.c (get_toplevel_window_at):
	New function for getting toplevel window at position.
	(gdk_drag_find_window): Use get_toplevel_window () instead
	of gdk_window_get_pointer(). (gdk_drag_status): Use
	correct context for getting window.

	* gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name):
	g_strdup the atom name.

	* gdk/linux-fb/gdkwindow-fb.c:
	Costmetic fix.

	* gtk/gtkdnd.c (gtk_drag_source_handle_event):
	Add code for changing cursor on linux-fb backend (same as
	win32).
2001-05-07 19:24:18 +00:00
Alexander Larsson
5d1ee0929e Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove
2001-04-02 Alexander Larsson   <alexl@redhat.com>

	* gdk/linux-fb/gdkwindow-fb.c:
	Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
	warnings that were spewed on startup.

	* gtk/gtkwindow-decorate.c:
	gtk_window_reposition -> _gtk_window_reposition
2001-04-02 07:15:30 +00:00
Alexander Larsson
a647514c33 Make GtkFB compile and link.
2001-03-12  Alexander Larsson  <alexl@redhat.com>

	Make GtkFB compile and link.

        * gdk/linux-fb/gdkdrawable-fb2.c:
	window->mapped to GDK_WINDOW_IS_MAPPED().

	* gdk/linux-fb/gdkwindow-fb.c:
	window->mapped to GDK_WINDOW_IS_MAPPED().
	Added gdk_window_shape_combine_region.
	Added assorted placeholders for unimplemented new GdkWindow API calls.
2001-03-12 17:10:37 +00:00
Alexander Larsson
065b633961 Actually copy the whole gc, not just the public parts.
2001-02-20  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
	Actually copy the whole gc, not just the public parts.

	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
	GDK_WINDOW_TEMP are not toplevel. Fixes selectable
	labels.
2001-02-20 10:56:41 +00:00
Alexander Larsson
73c5da419c Add a shortcut if the window and the current clip_region doesn't overlap.
2001-02-13  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
	Add a shortcut if the window and the current clip_region doesn't
	overlap. This is needed when there are a lot of windows in a
	window. The layout test in testgtk is a good test.

	* gdk/linux-fb/gdkwindow-fb.c:
	Whitespace fix.
2001-02-13 16:22:11 +00:00
Alexander Larsson
e86265ecf3 Don't reference last_cursor if it is null. Fixes crash when rotating the
2001-02-13  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
	Don't reference last_cursor if it is null. Fixes crash when rotating
	the screen before having moved the mouse.

	* gdk/linux-fb/gdkcc-fb.c: Zapp!

	* gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c

	* gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw when
	using 90 or 270 degrees rotation.
2001-02-13 13:35:48 +00:00
2
a081fe7d54 Don't leak visible_region. Use visible_region instead of region.
2001-01-22    <alexl@redhat.com>

	* gdk/gdkwindow.c (gdk_window_invalidate_region):
	Don't leak visible_region. Use visible_region instead of region.

	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
	Don't do extra gdk_drawable_ref(). This is not X.
	(gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
	gdk_fb_focused_window is ref:ed.
	(gdk_fb_window_send_crossing_events): Watch out for destroyed
	windows.
2001-01-22 14:35:49 +00:00
7
9012254c1e Doh! Mixed up x and y.
2001-01-17    <alexl@redhat.com>

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
	Doh! Mixed up x and y.

	* gdk/linux-fb/gdkglobals-fb.c:
	Removed gdk_fb_pointer_grab_window_events,
	added _gdk_fb_pointer_grab_owner_events and
	_gdk_fb_keyboard_grab_owner_events.

	* gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
	Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
	crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
	(gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
	Send crossing events after ungrab finished.
	(gdk_keyboard_grab): Set ..._owner_events
	(type_masks): Move out of function.
	(gdk_fb_other_event_window, gdk_fb_pointer_event_window,
	gdk_fb_keyboard_event_window): New functions, return the
	window an event should be targeted at. Handles grabs and
	event propagation. Can return NULL.
	(gdk_event_make): Remove event_mask checking. Now always
	returns an event.

	* gdk/linux-fb/gdkkeyboard-fb.c:
	* gdk/linux-fb/gdkproperty-fb.c:
	* gdk/linux-fb/gdkselection-fb.c:
	Use new event_window/gdk_event_make() behaviour.

	* gdk/linux-fb/gdkmouse-fb.c:
	Use new event_window/gdk_event_make() behaviour.
	Only send motion events if in the same window.
	If grabbed, use cursor from window if sibling of grabbed
	window, and cursor from grabbed window otherwise.

	* gdk/linux-fb/gdkprivate-fb.h:
	Update gdk_fb_window_send_crossing_events, gdk_event_make
	and grab varaible declarations. Add gdk_fb_*_event_window().

	* gdk/linux-fb/gdkwindow-fb.c:
	Use new event_window/gdk_event_make() behaviour.
	Keep correct track of focus window.
	(gdk_window_set_events): Set all specific button motion masks
	if GDK_BUTTON_MOTION_MASK set.

	* gtk/gtkdnd.c (gtk_drag_update):
	Free info->last_event if gdk_drag_motion returned FALSE.
2001-01-17 15:52:22 +00:00
Alexander Larsson
6a184ba228 Use gdk_window_invalidate_rect instead of gdk_window_invalidate_rect_clear
2001-01-15  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkwindow-fb.c:
	Use gdk_window_invalidate_rect instead of
	gdk_window_invalidate_rect_clear to minimise flashing.
	When hiding windows you need to clear the root window though.
2001-01-15 10:22:15 +00:00
Alexander Larsson
c288355ffd For optization, add an full_shapes argument to gdk_fb_clip_region. If this
2001-01-15  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkdrawable-fb2.c:
	For optization, add an full_shapes argument to gdk_fb_clip_region.
	If this is false, only the cliprects of the shapes are used.

	* gdk/linux-fb/gdkprivate-fb.h:
	Export gdk_fb_window_peek_shape.
	Add full_shapes to gdk_fb_clip_region.

	* gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
	When moving a window, don't clear everything under the it, just the
	root window. Makes stuff faster and flash less.
	(gdk_window_get_pointer): Correctly handle offseted shapes, due to
	USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
	offset of the shape.
2001-01-15 09:54:28 +00:00
Alexander Larsson
058c2d9320 Take shaped windows in consideration when generating clip region.
2001-01-12  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
	windows in consideration when generating clip region.

	* gdk/linux-fb/gdkfb.h:
	Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.

	* gdk/linux-fb/gdkprivate-fb.h:
	Add shape to GdkWindowFBDatat.
	exported gdk_fb_window_get_abs_shape().
	removed gdk_fb_draw_lines declaration.

	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
	Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
	send focus changes when there is a grabbed window.
	(gdk_window_get_pointer): Handle shaped windows.
	(gdk_fb_region_create_from_bitmap): Convert bitmap to region.
	(gdk_fb_window_peek_shape): Returns the shape for a window,
	handles GDK_FB_USE_CHILD_SHAPE.
	(gdk_fb_window_get_abs_shape): Returns the shape of the window,
	offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
	(gdk_window_shape_combine_mask): Implement.

	* gtk/gtkwindow-decorate.c:
	HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
	setting the shape of a window makes the window transparent.
2001-01-12 15:45:26 +00:00
Alexander Larsson
b29eece81f Added ENABLE_SHADOW_FB
2001-01-11  Alexander Larsson  <alexl@redhat.com>

	* acconfig.h:
	Added ENABLE_SHADOW_FB

	* configure.in:
	Added --disable-shadowfb

	* gdk/linux-fb/gdkcursor-fb.c:
	Update shadowfb when updating cursor

	* gdk/linux-fb/gdkdrawable-fb2.c:
	Added wrappers for shadowfb that calls 	the normal drawable
	methods, but calls gdk_shadow_fb_update(bounding box) when
	GdkWindows are drawed to.
	Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
	which also returns the bounding box.

	* gdk/linux-fb/gdkfb.h:
	Added GdkFBAngle type and gdk_fb_set_rotation declaration.

	* gdk/linux-fb/gdkgeometry-fb.c:
	Update shadowfb when scrolling window.

	* gdk/linux-fb/gdkglobals-fb.c:
	Add _gdk_fb_screen_angle.

	* gdk/linux-fb/gdkkeyboard-fb.c:
	Test code for screen rotation. Shift-F2 in the xlate driver
	rotates the screen.

	* gdk/linux-fb/gdkmain-fb.c:
	Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.

	* gdk/linux-fb/gdkmouse-fb.c:
	Use fb_width/height instead of modeinfo.xres/yres.

	* gdk/linux-fb/gdkprivate-fb.h:
	Added fb_men, fb_width, fb_height & fb_stride. When using
	shadow fb these can differ from the framebuffer stuff.
	Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
	gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
	_gdk_fb_screen_angle. Removed CM, RP.

	* gdk/linux-fb/gdkrender-fb.c:
	Added code for shadowfb handling and screen rotation using
	shadowfb.

	* gdk/linux-fb/gdkwindow-fb.c:
	Use fb_mem, fb_stride, fb_width, fb_height.
	Added recompute_rowstride to reset the rowstride of all windows.
	Added gdk_fb_recompute_all() which recomputes rootwindow size,
	window abs positions and window rowstrides. Usefull when the
	rotation has changed.
2001-01-11 16:39:21 +00:00
Alexander Larsson
49bb8dfa19 Correct filename ~/.pangoft2_aliases
2001-01-08  Alexander Larsson  <alexl@redhat.com>

	* docs/README.linux-fb:
	Correct filename ~/.pangoft2_aliases

	* gdk/gdkwindow.h:
	Added new function gdk_window_get_decorations.

	* gdk/linux-fb/gdkfb.h:
	Removed _gdk_window_get_decorations declaration.
	Renamed _gdk_window_set_child_handler to
	gdk_fb_window_set_child_handler.

	* gdk/linux-fb/gdkwindow-fb.c:
	Renamed _gdk_window_set_child_handler to
	gdk_fb_window_set_child_handler.

	* gdk/x11/gdkwindow-x11.c:
	New function gdk_window_get_mwm_hints().
	Implemented gdk_window_get_decorations.

	* docs/reference/gdk/tmpl/windows.sgml:
	* docs/reference/gdk/gdk-sections.txt:
	Added gdk_window_get_decorations docs.
2001-01-08 16:42:08 +00:00
Alexander Larsson
94dfd3dd82 Possibly send focus events when the mouse moves from one window to
2001-01-08  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
	gdk_fb_window_find_focus, gdk_fb_send_focus_change,
	gdk_fb_window_send_crossing_events):
	Possibly send focus events when the mouse moves from one
	window to another.
2001-01-08 11:12:21 +00:00
Alexander Larsson
ee053ddd2e Uh? What happed? My cvs checkin got broken pipe.. 2000-12-21 10:33:40 +00:00
Alexander Larsson
6d0c6b792e New file containing the abstracted keyboard driver. Most code taken from
2000-12-08  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkkeyboard-fb.c:
	New file containing the abstracted keyboard driver. Most code
	taken from gdkinput-ps2.c

	* gdk/linux-fb/gdkinput-ps2.c:
	Removed file.

	* gdk/linux-fb/Makefile.am:
	Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.

	* gdk/linux-fb/gdkcolor-fb.c:
	display->fb was renamed to display->fb_fd.

	* gdk/linux-fb/gdkcursor-fb.c:
	gdk_mouse_get_info -> gdk_fb_mouse_get_info

	* gdk/linux-fb/gdkinput.c:
	Moved gdk_input_init here from gdkinput-ps2.c

	* gdk/linux-fb/gdkmain-fb.c:
	display->fb was renamed to display->fb_fd.
	Now the tty and the console is opened here instead
	of in the keyboard driver. Also check GDK_VT to see what
	tty to open.
	Move gdk_beep () here from gdkinput-ps2.c
	gdk_mouse_get_info -> gdk_fb_mouse_get_info

	* gdk/linux-fb/gdkmouse-fb.c:
	Add header.
	gdk_mouse_get_info -> gdk_fb_mouse_get_info
	Return correct keyboard modifiers.
	GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy

	* gdk/linux-fb/gdkprivate-fb.h:
	Add tty and vt info to display.
	Add orignal modeinfo storage to display
	Update global functions

	* gdk/linux-fb/gdkwindow-fb.c:
	Added gdk_fb_window_find_focus().
	gdk_mouse_get_info -> gdk_fb_mouse_get_info
2000-12-08 12:38:48 +00:00
Alexander Larsson
7fa13eaf35 Add gdkmouse-fb.c
2000-12-06  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/Makefile.am:
	Add gdkmouse-fb.c

	* gdk/linux-fb/gdkmouse-fb.c:
	New file. Abstracted the mouse drivers a bit.

	* gdk/linux-fb/gdkcursor-fb.c:
	The cursor hide/show functions was moved here from gdkinput-ps2.c.

	* gdk/linux-fb/gdkinput-ps2.c:
	Removed old mouse handling code. Moved cursor handling code
	to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
	gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
	gdk_mouse_get_info.

	* gdk/linux-fb/gdkmain-fb.c:
	Pass NULL pointers for x,y in gdk_mouse_get_info call.

	* gdk/linux-fb/gdkprivate-fb.h:
	Removed public gdk_fb_find_common_ancestor, added and renamed
	functions for the new mouse handling code.

	* gdk/linux-fb/gdkwindow-fb.c:
	Moved gdk_fb_window_send_crossing_events here. added global
	variable gdk_fb_window_containing_pointer. made
	gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
	renamed to gdk_mouse_get_info.
2000-12-06 17:27:52 +00:00
Alexander Larsson
f1046d9a66 Remove old debug g_warning(). (gdk_fb_draw_drawable): The src argument can
2000-12-05  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
	Remove old debug g_warning().
	(gdk_fb_draw_drawable): The src argument can be either a wrapper
	or an implementation, just pass the implementation to draw_drawable_2.

	* gdk/linux-fb/gdkprivate-fb.h:
	Added GDK_IS_DRAWABLE_IMPL_FBDATA()

	* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
	clear and invalidate area when window is destroyed.
	(send_map_events): Remove old commented out code.
2000-12-05 11:39:26 +00:00
Alexander Larsson
92bc6d4175 If you pass width or height == 0 to gdk_window_clear_area they should be
2000-11-29  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
	If you pass width or height == 0 to gdk_window_clear_area they
	should be calculated from the window size.
2000-11-29 13:13:20 +00:00
Alexander Larsson
270d45a3e5 The cursor should be hidden if it is part of either the source or
2000-11-28  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
	The cursor should be hidden if it is part of either the
	source or destination region. Not only if it is in both.
	(gdk_window_set_transient_for): Silence warnings.
2000-11-28 16:39:55 +00:00
Alexander Larsson
7f8a4aa1c3 Fix filled arcs and commit previous stuff which i somehow missed. 2000-11-28 15:38:23 +00:00
Alexander Larsson
26b7063388 Implement configure events and correct enter/leave notification. 2000-11-28 08:44:02 +00:00
Alexander Larsson
1c805555ce Huge GtkFB patch with lots of small bugfixes and initial selections implementation.
2000-11-23  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkselection-fb.c:
	Initial selection implementation.

	* gtk/gtkselection.c:
	if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
	requestor in gtk_selection_request.

	* gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
	Added gdk_selection_property atom.

	* gdk/linux-fb/gdkprivate-fb.h:
	Export _gdk_selection_window_destroyed.
	Removed mask_off_x/y from GdkCursorPrivateFB.
	Removed hbearing, added top, left to PangoFBGlyphInfo.

	* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
	Call _gdk_selection_window_destroyed
	(_gdk_windowing_window_init): Don't call gdk_cursor_new() before
	the root window has been created.
	(static_dx_hack, static_dy_hack, compare_draw_rects,
	gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
	in region. They are already sorted. Instead just traverse them in
	reverse if draw_direction < 0.

	* gdk/linux-fb/gdkinput-ps2.c (send_button_event):
	Double-clicks must be sent after the normal button_press.
	(gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.

	* gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
	Pass _gdk_fb_screen_gc instead of NULL.

	* gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
	Initialize gdk_selection_property.
	(gdk_event_make): Remove unused code.

	* gdk/linux-fb/gdkcursor-fb.c:
	Make the pixmap for the cursor the same size as the mask. Also remove
	the mask_off_x/y fields in GdkCursorPrivateFB and combine
	_gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
	Now the whole cursor is visible.

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
	Fix bug where xdest+height instead of ydest+height was used
	to calculate if the source and dest overlapped. This fixes the
	redraw bug when the main window in testgtk was scrolled when
	partially covered by a tall window.
	Copy rectangles in region in order depending on draw_direction.
	Also moved the draw_direction flipping of start_y and end_y into
	the gc functions, as this might not be what all of them want.
	(gdk_fb_draw_lines): Support dashed lines.
	(gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
	so that the text is positioned correctly (was 1 pixel high).

	gdk/linux-fb/gdkgc-fb.c:
	Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
	all lines were drawn a pixel to short. Also checked the default of
	the rest of the values, and they're the same as X now.

	* gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
	Clean up pixel positioning of the glyphs. Just use bgy->top and
	bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
	to all divisions to get correct rounding behaviour.

	* gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
	gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
	Moved start_y/end_y flip into draw_drawable implementations.
	Flip also x rendering when draw_direction < 0.
	Remove unneccesary multiply with draw_direction.
2000-11-25 15:44:35 +00:00
Alexander Larsson
2eb744a3c4 Added virtual functions set_pixel, get_color, fill_span and draw_drawable
2000-11-15  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkprivate-fb.h:
	Added virtual functions set_pixel, get_color,
	fill_span and draw_drawable to the GC.
	Added global _gdk_fb_screen_gc to use instead of
	NULL when drawing to the screen.
	Added _gdk_fb_gc_calc_state() prototype.

	* gdk/linux-fb/gdkgc-fb.c:
	Call _gdk_fb_gc_calc_state() on any gc state change.

	* gdk/linux-fb/gdkglobals-fb.c:
	Add _gdk_fb_screen_gc

	* gdk/linux-fb/gdkdrawable-fb2.c:
	_gdk_fb_gc_calc_state() calculates best functions
	for the GC state and depth.
	Moved bpp specialized code to separate functions.
	Added optimized 24 bpp AA draw_drawable.

	* gdk/linux-fb/gdkevents-fb.c:
	Silence gcc warning.

	* gdk/linux-fb/gdkimage-fb.c:
	Use _gdk_fb_screen_gc

	* gdk/linux-fb/gdkwindow-fb.c:
	Init and use _gdk_fb_screen_gc

	* gdk/linux-fb/mitypes.h:
	Remove unused types.
2000-11-15 12:45:30 +00:00