Commit Graph

222 Commits

Author SHA1 Message Date
Richard Hult
a862e9f6b9 Import AppKit.h instead of Quartz.h. Don't use userSpaceScaleFactor for
2007-02-18  Richard Hult  <richard@imendio.com>

	* gdk/quartz/GdkQuartzView.h:
	* gdk/quartz/GdkQuartzWindow.h:
	* gdk/quartz/gdkquartz.h: Import AppKit.h instead of Quartz.h.
	* gdk/quartz/gdkscreen-quartz.c: (get_mm_from_pixels): Don't use 
	userSpaceScaleFactor for 10.3. Those changes bring us closer to working
	on panther, patch from Mathias Hasselmann.
	
	* gdk/quartz/gdkeventloop-quartz.c: Add includes to fix build warnings.

svn path=/trunk/; revision=17323
2007-02-18 10:26:49 +00:00
Mikael Hallendal
693c3c2649 Factored out the event loop integration into gdkeventloop-quartz.c.
2006-12-28  Mikael Hallendal  <micke@imendio.com>

	* gdk/quartz/gdkevents-quartz.c: Factored out the event loop
	integration into gdkeventloop-quartz.c.

	* gdk/quartz/Makefile.am: Added gdkeventloop-quartz.c

	* gdk/quartz/gdkeventloop-quartz.c: New file containing the event loop
	integration.
2006-12-28 09:04:48 +00:00
Mikael Hallendal
7c92045621 Splitted out the GdkPixbuf to NSImage routine so that it can be used from
2006-12-19  Mikael Hallendal  <micke@imendio.com>

	* gdk/quartz/gdkcursor-quartz.c: Splitted out the GdkPixbuf to NSImage
	routine so that it can be used from libgtk as well (needed for
	upcoming GtkStatusIcon support in the Quartz port).
	* gdk/quartz/gdkevents-quartz.c: Don't assume that all NSWindows are
	created from GDK, this is not true for the status icon.
	* gdk/quartz/gdkprivate-quartz.h:
	* gdk/quartz/gdkquartz.h: Added
	gdk_quartz_pixbuf_to_ns_image_libgtk_only so that it is available to
	the status icon code.
2006-12-19 15:53:44 +00:00
Michael Natterer
2f50232a42 Implement lots of value setters for GdkGC, based on a heavily modified
2006-09-21  Michael Natterer  <mitch@imendio.com>

       Implement lots of value setters for GdkGC, based on a heavily
       modified patch from Thomas Broyer (bug #328853):

	* gdk/quartz/gdkcolor-quartz.c: removed functions which set colors
	on the CGContext. Instead, added gdk_quartz_get_rgba_from_pixel()
	which simply returns RGBA values from a GdkColor's pixel value.
	See gdk_quartz_update_context_from_gc() below.

	* gdk/quartz/gdkprivate-quartz.h (struct GdkGCQuartz): added lots
	of members for the newly suppored GC values. Added enum
	GdkQuartzContextValuesMask which is used for setting up the
	CGContext for filling and/or stroking.

	* gdk/quartz/gdkgc-quartz.c (gdk_quartz_gc_get_values)
	(gdk_quartz_gc_set_values)
	(_gdk_windowing_gc_copy): support a lot more GC values.

	(gdk_quartz_update_context_from_gc): added
	GdkQuartzContextValuesMask parameter and set filling/stroking
	parameters accordingly. This function also gained full control
	over the FG and BG colors (they can't be set separately any more).

	The stipple mask part of the patch doesn't work but seems to take
	the right approach and doesn't make things worse, so I applied it.

	Did *not* apply the clipping part of the patch since I don't
	understand it (I don't understand the version in CVS either, but
	it at least works :-)

	* gdk/quartz/gdkdrawable-quartz.c: pass the right masks to
	gdk_quartz_update_context_from_gc() and removed separate color
	setting calls. Some minor fixes.

	* gdk/quartz/gdkwindow-quartz.c
	(gdk_window_impl_quartz_begin_paint_region): set the CGContext's
	fill color manually. We don't have/need a GC here.
2006-09-21 17:05:33 +00:00
Michael Natterer
c148c41bab fix cast: it's drawable_impl->wrapper that is the GdkWindow, not the
2006-09-21  Michael Natterer  <mitch@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c
	(gdk_window_impl_quartz_begin_paint_region): fix cast: it's
	drawable_impl->wrapper that is the GdkWindow, not the
	drawable_impl itself.
2006-09-21 11:19:25 +00:00
Michael David Emmel
48d1be65e3 /tmp/cvsX7MHVx 2006-09-14 02:56:20 +00:00
Richard Hult
7724832996 Special-case shift-tab and map it to GDK_ISO_Left_Tab, fixes bug #350806.
2006-09-06  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkkeys-quartz.c: (maybe_update_keymap): Special-case
	shift-tab and map it to GDK_ISO_Left_Tab, fixes bug #350806.
2006-09-06 17:29:28 +00:00
Richard Hult
611f5526e9 Don't do anything if exposure isn't in the event mask, plug a leak, and
2006-09-03  Richard Hult  <richard@imendio.com>

	* gdk/quartz/GdkQuartzView.c (drawRect): Don't do anything if
	exposure isn't in the event mask, plug a leak, and check that the
	window isn't destroyed.
	(isOpaque): Check that the window isn't destroyed, fixes bug
	#353028.
2006-09-03 10:46:32 +00:00
Richard Hult
5467cb3cdc Fix build.
2006-08-30  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c (gdk_window_beep): Fix build.
2006-08-30 18:18:09 +00:00
Matthias Clasen
6760faeb4b Add a function to beep on a window. For X11, implement this with XkbBell.
2006-08-29  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkwindow.h:
	* gdk/gdk.symbols:
	* gdk/directfb/gdkwindow-directfb.c (gdk_window_beep):
	* gdk/win32/gdkwindow-win32.c (gdk_window_beep):
	* gdk/quartz/gdkwindow-quartz.c (gdk_window_beep):
	* gdk/x11/gdkwindow-x11.c (gdk_window_beep): Add a function
	to beep on a window. For X11, implement this with
	XkbBell.  (#353455, Mariano Suárez-Alvarez)
2006-08-30 03:30:43 +00:00
Michael Natterer
4773f80c48 return the hostname instead of NULL.
2006-08-24  Michael Natterer  <mitch@imendio.com>

	* gdk/quartz/gdkdisplay-quartz.c (gdk_display_get_name): return
	the hostname instead of NULL.
2006-08-24 19:41:40 +00:00
Richard Hult
382ef872b4 Add GDK button mask for NS dragging events. (create_scroll_event): Remove
2006-08-15  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c: (get_event_mask_from_ns_event):
	Add GDK button mask for NS dragging events.
	(create_scroll_event): Remove obsolete comment.
	(_gdk_quartz_get_current_event_mask), (gdk_event_translate): Keep
	track of the latest event mask here...

	* gdk/quartz/gdkwindow-quartz.c:
	(_gdk_windowing_window_get_pointer): And use it here. Patch from
	Kristian Rietveld.
	(gdk_window_quartz_update_idle): Rename to make things clearer.
2006-08-15 20:13:13 +00:00
Michael Natterer
cac12e4d65 don't try to set the state of unmapped windows, call
2006-08-10  Michael Natterer  <mitch@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c
	(gdk_window_maximize)
	(gdk_window_unmaximize)
	(gdk_window_iconify)
	(gdk_window_deiconify): don't try to set the state of unmapped
	windows, call gdk_synthesize_window_state() instead. Also added
	autorelease pools back, seems they are needed after all.

	* gdk/quartz/gdkwindow-quartz.c (show_window_internal): maximize
	and iconify windows here if the state says so.
2006-08-10 09:16:38 +00:00
Michael Natterer
0802881649 implement MIN_SIZE, MAX_SIZE and RESIZE_INC.
2006-08-09  Michael Natterer  <mitch@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c (gdk_window_set_geometry_hints):
	implement MIN_SIZE, MAX_SIZE and RESIZE_INC.
2006-08-08 22:55:27 +00:00
Michael Natterer
7af7c0a3e3 Shutup CVS 2006-08-08 22:47:57 +00:00
Richard Hult
230fcecae8 Whitespace cleanup. (synthesize_crossing_events): Add comments and prevent
2006-08-08  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c: (poll_func): Whitespace cleanup.
	(synthesize_crossing_events): Add comments and prevent a crash.
2006-08-08 21:06:03 +00:00
Michael Natterer
d451252f73 implement.
2006-08-08  Michael Natterer  <mitch@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c
	(gdk_window_maximize)
	(gdk_window_unmaximize): implement.

	(gdk_window_iconify)
	(gdk_window_deiconify): remove unneeded autorelease pools.
2006-08-08 21:00:23 +00:00
Richard Hult
d3ee9f833a Just expose the minimal region instead of the whole rect.
2006-08-08  Richard Hult  <richard@imendio.com>

	* gdk/quartz/GdkQuartzView.c: Just expose the minimal region
	instead of the whole rect.

	* gdk/quartz/gdkwindow-quartz.c:
	(gdk_window_quartz_process_all_updates), (gdk_window_update_idle),
	(gdk_window_impl_quartz_invalidate_maybe_recurse),
	(gdk_window_impl_quartz_process_updates),
	(_gdk_windowing_window_destroy): Rework the expose handling so that
	it works like the X11 backend, using an idle with the right
	priority instead of relying on quartz to do it.
	(gdk_window_set_type_hint): Use tornoff instead of submenu as the
	documentation (and Mitch) suggests.
2006-08-08 20:53:09 +00:00
Michael Natterer
f2faaf2fd8 some whitespace and indentation cleanup.
2006-08-08  Michael Natterer  <mitch@imendio.com>

	* gdk/quartz/gdkdrawable-quartz.c: some whitespace and indentation
	cleanup.

	(gdk_quartz_draw_rectangle)
	(gdk_quartz_draw_arc)
	(gdk_quartz_draw_polygon)
	(gdk_quartz_draw_points): for pixel-prefect drawing, stroked
	coordinates need to go through pixel centers, while filled ones
	need to go along pixel boundaries. Moved +0.5 adjusting to the
	if(!filled) branches and added/removed some adjustments where they
	were wrong.
2006-08-08 09:12:10 +00:00
Richard Hult
d2014a6084 Don't get and release the context for each point, just once, speeds up
2006-08-07  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkdrawable-quartz.c (gdk_quartz_draw_points): Don't
	get and release the context for each point, just once, speeds up
	drawing many points a lot.
2006-08-07 16:45:16 +00:00
Richard Hult
0cb61e8a48 Patch from Erik van Pienbroek to implement drawing bg_pixmaps (#348145).
2006-07-31  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkdrawable-quartz.c: (gdk_quartz_draw_drawable):
	* gdk/quartz/gdkwindow-quartz.c:
	(gdk_window_impl_quartz_begin_paint_region): Patch from Erik van
	Pienbroek to implement drawing bg_pixmaps (#348145).
2006-07-31 21:05:12 +00:00
Richard Hult
571c460503 Always set success to TRUE. (gdk_color_change): Implement.
2006-07-29  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkcolor-quartz.c (gdk_colormap_alloc_colors): Always
	set success to TRUE.
	(gdk_color_change): Implement.

	* gdk/quartz/GdkQuartzWindow.c
	([GdkQuartzWindow -canBecomeKeyWindow]): Add comment.

	* gdk/quartz/gdkevents-quartz.c (gdk_screen_get_setting): Make the
	default font a bit smaller until we have made this get the system
	setting.

	* gdk/quartz/gdkwindow-quartz.c (gdk_window_set_type_hint): Enable
	shadows for the right window types.

	* gdk/quartz/gdkprivate-quartz.h:
	* gdk/quartz/gdkgc-quartz.c:
	* gdk/quartz/gdkdrawable-quartz.c:
	* gdk/quartz/gdkcolor-quartz.c: Expose the CGContext functions,
	update callers.

	* gdk/quartz/gdkmain-quartz.c: (_gdk_windowing_init): No need to
	get the current process ID, use the right constant instead.
2006-07-29 11:05:15 +00:00
Richard Hult
348bffc856 Implement getting the double click threshold.
2006-07-24  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c (gdk_screen_get_setting): Implement
	getting the double click threshold.
2006-07-24 12:31:17 +00:00
Richard Hult
7a3c18ab7b Set the window level depending on the type hint.
2006-07-24  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c (gdk_window_set_type_hint): Set the
	window level depending on the type hint.

	* gdk/quartz/gdkevents-quartz.c (gdk_keyboard_grab,
	pointer_ungrab_internal): Only break the grab if the new window is
	a different one.
	(gdk_event_translate): Catch the case where the entire app loses
	focus and break any grabs. Only do implicit grabs when the event
	mask has both press and release.

	* gdk/quartz/gdkkeys-quartz.c (translate_keysym):
	* gdk/quartz/gdkselection-quartz.c:

        * gdk/quartz/GdkQuartzWindow.c
	([GdkQuartzWindow -windowDidResignKey:]): Use this to update the
	focus window instead of resignMain, fixes the case where other apps
	uses focus follows mouse (like the terminal can).
2006-07-24 10:46:21 +00:00
Richard Hult
a0cdff6cca Implement.
2006-07-21  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkgc-quartz.c: (gdk_quartz_gc_get_values),
	(gdk_quartz_gc_set_values), (_gdk_windowing_gc_copy),
	(gdk_gc_get_screen): Implement.

	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_back_pixmap):
	Implement.
2006-07-21 15:17:59 +00:00
Richard Hult
cb5f9e62e9 Append the event to the queue instead of using gdk_event_put.
2006-07-20  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c: (generate_grab_broken_event):
	Append the event to the queue instead of using gdk_event_put.
	(_gdk_quartz_get_mouse_window, find_current_keyboard_window):
	Handle grabs.
	(get_event_mask_from_ns_event, create_focus_event)
	(convert_window_coordinates_to_root, find_window_for_event)
	(gdk_event_translate): Improve readability (style changes).
	(gdk_flush, gdk_display_sync, gdk_display_flush)
	(gdk_event_send_client_message_for_display),
	(gdk_screen_broadcast_client_message): Remove FIXMEs.
	(gdk_screen_get_setting): Reindent.
	Also move find_child_window_by_point to gdkwindow-quartz.c.

	* gdk/quartz/gdkwindow-quartz.c:
	(find_child_window_by_point_helper),
	(_gdk_quartz_find_child_window_by_point): Move here from
	gdkevents-quartz.c
	(_gdk_windowing_window_get_pointer): Handle destroyed windows and
	imlement the return value.
	(_gdk_windowing_window_at_pointer): Implement.
2006-07-20 08:06:54 +00:00
Richard Hult
d3973cb865 ]): Listen to windowDidResignMain notifications and properly update the
2006-07-19  Richard Hult  <richard@imendio.com>

	* gdk/quartz/GdkQuartzWindow.c
	([GdkQuartzWindow -windowDidResignMain:]):
	* gdk/quartz/gdkevents-quartz.c (_gdk_quartz_update_focus_window):
	Listen to windowDidResignMain notifications and properly update the
	focus window when windows are unfocused.
2006-07-19 17:06:40 +00:00
Richard Hult
157ba89508 ]): Remove unused variables to fix compiler warnings.
2006-07-19  Richard Hult  <richard@imendio.com>

	* gdk/quartz/GdkQuartzView.c ([GdkQuartzView -drawRect:]):
	* gdk/quartz/gdkpixmap-quartz.c (gdk_pixmap_new): Remove unused
	variables to fix compiler warnings.
2006-07-19 09:15:58 +00:00
Richard Hult
7f15d73769 Implement type hints and use them to determine which windows should be
2006-07-19  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c (gdk_window_impl_quartz_init)
	(gdk_window_set_type_hint, gdk_window_get_type_hint):
	* gdk/quartz/GdkQuartzWindow.c
	([GdkQuartzWindow -canBecomeMainWindow])
	([GdkQuartzWindow -canBecomeKeyWindow]): Implement type hints and
	use them to determine which windows should be allowed to become
	main and key windows.
2006-07-19 09:13:24 +00:00
Richard Hult
53b0354823 Get the position correctly for the root window. Fixes bug #347976, patch
2006-07-19  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c:
	(_gdk_windowing_window_get_pointer): Get the position correctly
	for the root window. Fixes bug #347976, patch by Dave Vasilevsky.
2006-07-19 07:28:42 +00:00
Richard Hult
d473868ace Fill in string, length and is_modifier for key events. Map some more keys
2006-07-17  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c: (create_key_event):
	* gdk/quartz/gdkkeys-quartz.c: (_gdk_quartz_key_event_type),
	(_gdk_quartz_key_is_modifier):
	* gdk/quartz/gdkprivate-quartz.h: Fill in string, length and
	is_modifier for key events. Map some more keys into gdk keyvals.
2006-07-17 18:39:43 +00:00
Richard Hult
da6c726ce0 Add escape to the list of special keys, to get the escape key working.
2006-07-17  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkkeys-quartz.c: Add escape to the list of special
	keys, to get the escape key working.
2006-07-17 15:43:55 +00:00
Richard Hult
b4f78d06f8 Initialize GdkInput.
2006-07-17  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkdisplay-quartz.c (gdk_display_open): Initialize
	GdkInput.
2006-07-17 14:48:10 +00:00
Richard Hult
2d41ff51f5 Fix comment. (gdk_window_set_title): Surround by release pool macros.
2006-07-17  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c:
	(_gdk_windowing_window_destroy_foreign): Fix comment.
	(gdk_window_set_title): Surround by release pool macros.
	(gdk_window_get_type_hint): Fix return value.
	(gdk_window_get_frame_extents): Implement.
	(gdk_window_iconify): Use the release pool macros.
	(gdk_window_deiconify): Likewise.
	(_gdk_windowing_get_pointer): Implement.
	(gdk_window_get_deskrelative_origin, gdk_window_get_root_origin):
	Implement.

	* gdk/quartz/gdkevents-quartz.c (create_crossing_event)
	(create_scroll_event, convert_window_coordinates_to_root):
	Set coordinates and root coordinates for crossing and scroll
	events.

	* gdk/quartz/gdkcursor-quartz.c (gdk_cursor_new_for_display):
	Map some more cursors.
2006-07-17 08:07:55 +00:00
Richard Hult
4904b59030 Account for alignment when reading xbm data. (#346721, patch by Dave
2006-07-10  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkpixmap-quartz.c: (gdk_bitmap_create_from_data):
	Account for alignment when reading xbm data. (#346721, patch
	by Dave Vasilevsky)
2006-07-10 09:54:21 +00:00
Richard Hult
451543039a Implement some more stubs for pygtk, bug #346713.
2006-07-09  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkgeometry-quartz.c:
	* gdk/quartz/gdkmain-quartz.c:
	* gdk/quartz/gdkpixmap-quartz.c:
	* gdk/quartz/gdkwindow-quartz.c:
	* gtk/gtkclipboard-quartz.c: Implement some more stubs for pygtk,
	bug #346713.
2006-07-09 18:09:09 +00:00
Richard Hult
faed5298bd Release the pool in all cases. (move_resize_window_internal): Surround by
2006-07-09  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c (gdk_window_new): Release the pool
	in all cases.
	(move_resize_window_internal): Surround by alloc/release pool.
	Patch from Brian Tarricone, fixes bug #347018.
2006-07-09 07:50:44 +00:00
Richard Hult
2fbe2ebc9a Generate a grab broken event when appropriate. Fixes bug #346603, patch
2006-07-07  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c: Generate a grab broken event when
	appropriate. Fixes bug #346603, patch from Dave Vasilevsky.

	* gdk/quartz/gdkevents-quartz.c:
	* gdk/quartz/gdkkeys-quartz.c:
	* gdk/quartz/gdkprivate-quartz.c: Another patch from Dave Vasilevsky,
	fixes bug #346605. Makes modifier key events being sent properly.
2006-07-07 20:19:22 +00:00
Richard Hult
de10529edc Add spawn functions, copied from the win32 backend.
2006-06-03  Richard Hult  <richard@imendio.com>
	* gdk/quartz/Makefile.am:
	* gdk/quartz/gdkspawn-quartz.c: Add spawn functions, copied from the
	win32 backend.
2006-06-03 17:51:34 +00:00
Richard Hult
4080181c45 Remove obsolete comment. (poll_func): Remove assert and add a comment on
2006-05-15  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c (_gdk_events_init): Remove obsolete
	comment.
	(poll_func): Remove assert and add a comment on how to fix properly.
	(gdk_events_pending): Implement.
2006-05-15 19:01:57 +00:00
Matthias Clasen
964a638291 Add missing files. (#340533, Ludovic Rousseau)
2006-05-03  Matthias Clasen  <mclasen@redhat.com>

	* gdk/quartz/Makefile.am (libgdk_quartz_la_SOURCES): Add
	missing files.  (#340533, Ludovic Rousseau)
2006-05-03 17:59:39 +00:00
Søren Sandmann
b9d1a03440 Create 'composited' label.
Tue Apr 25 10:25:28 2006  Søren Sandmann  <sandmann@redhat.com>

	* tests/testgtk.c (create_alpha_window): Create 'composited' label.

	* tests/testgtk.c (on_composited_changed): New function, change
	the label to say whether the screen is composited or not.

	* gtk/gtkwindow.c (gtk_window_on_composited_changed): When
	composited status change, invalidate the window and propagate the signal;.

	* gtk/gtkwindow.c (gtk_window_map): Set the appropriate type hint
	if reset_type_hint is TRUE.

	* gtk/gtkwindow.c (gtk_window_set_type_hint): If hint is one of
	the old hints, store a shadow copy in the public window->type_hint
	bitfield, otherwise set this field to normal. Set the private
	field to the type hint.

	* gtk/gtkwindow.c (gtk_window_init): Initialize priv->type_hint.

	* gtk/gtkwindow.c (struct _GtkWindowPrivate): New field
	"reset_type_hint" indicating whether the type hint needs to be
	reset. New field type_hint containing a GdkWindowTypeHint.

	* gtk/gtkwidget.c (propagate_composited_changed): New function to
	propagate changes in composited status.
	(gtk_widget_class_init): Add composited_changed signal.

	* gtk/gtkwidget.h (struct _GtkWidgetClass): New signal composited-changed.

	* gtk/gtkwidget.c (gtk_widget_is_composited): New function.

	* gtk/gtktooltips.c (gtk_tooltips_draw_tips): Set transient for.

	* gtk/gtktooltips.c (gtk_tooltips_force_window): Set the type hint

	* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Compute whether
	the item belongs to a menubar. Set the type_hint appropriately
	depending on the outcome.

	* gtk/gtkmenu.c (gtk_menu_position): Set the default type hint here.

	* gtk/gtkmenu.c (gtk_menu_attach_to_widget): connect to hierarchy
	changed on the attach widget.

	* gtk/gtkmenu.c (attach_widget_hierarchy_changed): New function to
	set the transient_for property for menus.

	* gtk/gtkdnd.c (set_icon_stock_pixbuf): Set the appropriate type hint.

	* gtk/gtkcombo.c (gtk_combo_popup_list): Make the popup window
	transient for the toplevel.

	* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Set
	transient-for, for the popup window.

	* gdk/x11/gdkwindow-x11.c (gdk_window_get_type_hint): Support for
	new window types.

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_type_hint): Add support
	for new window types.

	* gdk/x11/gdkscreen-x11.c (_gdk_x11_screen_process_owner_change):
	New function called whenever the compositing manager comes and goes.

	* gdk/x11/gdkscreen-x11.c (gdk_screen_is_composited): New function.

	* gdk/x11/gdkscreen-x11.c
	(_gdk_x11_screen_request_cm_notification, make_cm_atom,
	check_is_composited): New functions

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Call
	_gdk_x11_screen_process_owner_change when an
	XFixesSelectionNotifyEvent is received.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Call
	_gdk_x11_screen_request_cm_notification() on all screens.

	* gdk/quartz/gdkscreen-quartz.c (gdk_screen_is_composited): Dummy
	implementation.

	* gdk/gdkscreen.c (gdk_screen_class_init): New signal,
	'composited-changed'.

	* gdk/gdkwindow.h: Add new EWMH window types.

	* gdk/win32/gdkscreen-win32.c (gdk_screen_is_composited)
2006-04-25 14:27:32 +00:00
Richard Hult
7deea61cbf Add check for source being a window.
2006-04-16  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkdrawable-quartz.c: (gdk_quartz_draw_drawable): Add check
	for source being a window.

	* gdk/quartz/gdkwindow-quartz.c: (_gdk_windowing_window_get_pointer):
	Don't assert on window not being the root window.
2006-04-16 20:13:13 +00:00
Richard Hult
5dc0919ed6 Remove leading cairo/ in include.
2006-04-16  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkdrawable-quartz.c: Remove leading cairo/ in include.
2006-04-16 19:33:11 +00:00
Anders Carlsson
a62b7cdc9a Take grabs into account.
2006-04-13  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/gdkevents-quartz.c:
        (synthesize_enter_event):
        (synthesize_leave_event):
        (synthesize_crossing_events):
        Take grabs into account.

        (find_window_for_event):
        Only return grabbed window when owner_events is FALSE.
2006-04-13 08:51:33 +00:00
Anders Carlsson
2ba96a7150 Handle page up and page down.
2006-04-12  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/gdkkeys-quartz.c:
        Handle page up and page down.
2006-04-12 09:35:34 +00:00
Anders Carlsson
3d1e71073e Don't flush if we're inside a begin_paint/end_paint pair.
2006-04-12  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/gdkdrawable-quartz.c:
        (_gdk_quartz_drawable_release_context):
        Don't flush if we're inside a begin_paint/end_paint pair.

        * gdk/quartz/gdkwindow-quartz.c:
        (gdk_window_impl_quartz_end_paint):
        Free clip region here.
2006-04-12 08:23:01 +00:00
Anders Carlsson
1e3d722024 Have GdkWindowImplQuartz implement GdkPaintable.
2006-04-11  Anders Carlsson  <andersca@mac.imendio.com>

        * gdk/quartz/GdkQuartzView.c:
        (-[GdkQuartzView drawRect:]):
        * gdk/quartz/gdkdrawable-quartz.c:
        (gdk_quartz_ref_cairo_surface):
        (_gdk_quartz_drawable_get_context):
        (_gdk_quartz_drawable_release_context):
        * gdk/quartz/gdkwindow-quartz.c:
        (gdk_window_impl_quartz_finalize):
        (gdk_window_impl_quartz_class_init):
        (gdk_window_impl_quartz_begin_paint_region):
        (gdk_window_impl_quartz_end_paint):
        (gdk_window_impl_quartz_invalidate_maybe_recurse):
        (gdk_window_impl_quartz_process_updates):
        (gdk_window_impl_quartz_paintable_init):
        (_gdk_window_impl_quartz_get_type):
        * gdk/quartz/gdkwindow-quartz.h:
        Have GdkWindowImplQuartz implement GdkPaintable.
2006-04-10 23:17:26 +00:00
Matthias Clasen
aff3329de1 Make _gdk_windowing_args const.
2006-04-03  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkinternals.h:
	* gdk/x11/gdkmain-x11.c:
	* gdk/win32/gdkmain-win32.c:
	* gdk/directfb/gdkdisplay-directfb.c:
	* gdk/quartz/gdkmain-quartz.c: Make _gdk_windowing_args const.
2006-04-03 20:36:52 +00:00
Richard Hult
31f45bf9aa Add missing CLIPBOARD atom.
2006-03-29  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkproperty-quartz.c: Add missing CLIPBOARD atom.
2006-03-29 20:34:33 +00:00
Anders Carlsson
856ee02fe4 Make the poll func work with real file descriptors. We do this by creating
2006-03-27  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/gdkevents-quartz.c:
        (select_thread_func):
        (got_fd_activity):
        (poll_func):
        (gdk_event_translate):
        Make the poll func work with real file descriptors.
        We do this by creating a thread which calls poll and then
        signals the main thread using a run loop source.

        * gtk/gtkclipboard-quartz.c:
        (-[GtkClipboardOwner pasteboard:provideDataForType:]):
        Remove debugging output
2006-03-27 18:46:38 +00:00
Richard Hult
ce823f5b28 Add more stubs.
2006-03-27  Richard Hult  <richard@imendio.com>

	* gdk/quartz: Add more stubs.
2006-03-27 10:47:29 +00:00
Michael Natterer
d4d65217b7 removing trailing \ fixes the build.
2006-03-21  Michael Natterer  <mitch@imendio.com>

	* gdk/quartz/Makefile.am: removing trailing \ fixes the build.
2006-03-21 11:52:28 +00:00
Anders Carlsson
03c29e1123 Implement gdk_window_scroll.
2006-03-21  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/gdkgeometry-quartz.c:
        (gdk_window_scroll):
        Implement gdk_window_scroll.
2006-03-21 09:36:46 +00:00
Anders Carlsson
6b1510bf23 Add the GDK part of the DND implementation.
2006-03-21  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/GdkQuartzWindow.c:
        (drag_operation_to_drag_action):
        (drag_action_to_drag_operation):
        (update_context_from_dragging_info):
        (-[GdkQuartzWindow draggingEntered:]):
        (-[GdkQuartzWindow draggingEnded:]):
        (-[GdkQuartzWindow draggingExited:]):
        (-[GdkQuartzWindow draggingUpdated:]):
        (-[GdkQuartzWindow performDragOperation:]):
        (-[GdkQuartzWindow wantsPeriodicDraggingUpdates]):
        (-[GdkQuartzWindow draggedImage:endedAt:operation:]):
        * gdk/quartz/gdkdnd-quartz.c:
        (gdk_drag_context_finalize):
        (gdk_drag_context_init):
        (gdk_drag_context_class_init):
        (gdk_drag_begin):
        (gdk_drag_status):
        Add the GDK part of the DND implementation.

        * gdk/quartz/Makefile.am:
        Add some missing headers.

        * gdk/quartz/gdkdrawable-quartz.h:
        * gdk/quartz/gdkprivate-quartz.h:
        * gdk/quartz/gdkquartz.h:
        * gdk/quartz/gdkwindow-quartz.c:
        (gdk_quartz_window_get_nsview):
        New function, for use by the GTK part of the DND implementation
2006-03-21 08:02:17 +00:00
Anders Carlsson
ac3643d8f3 Offset coordinates by 0.5 pixels to get consistant results for both image
2006-03-21  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/gdkdrawable-quartz.c:
        (gdk_quartz_ref_cairo_surface):
        (gdk_quartz_draw_rectangle):
        (gdk_quartz_draw_arc):
        (gdk_quartz_draw_polygon):
        (gdk_quartz_draw_drawable):
        (gdk_quartz_draw_segments):
        (gdk_quartz_draw_lines):
        (gdk_quartz_draw_pixbuf):
        (gdk_quartz_draw_image):
        (_gdk_quartz_drawable_get_context):
        * gdk/quartz/gdkdrawable-quartz.h:
        Offset coordinates by 0.5 pixels to get consistant results for both
        image contexts and screen contexts.
2006-03-21 07:49:05 +00:00
Anders Carlsson
7fe53a99bb ]): Synthesize GDK_CONFIGURE events when the window position changes.
2006-03-21  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/GdkQuartzWindow.c
        ([GdkQuartzWindow -windowDidMove:]): Synthesize GDK_CONFIGURE events
        when the window position changes.
2006-03-21 07:36:54 +00:00
Michael Natterer
5afb4f0f11 gdk/gdkscreen.h gdk/x11/gdkscreen-x11.c added
2006-03-08  Michael Natterer  <mitch@imendio.com>

	* gdk/gdkscreen.h
	* gdk/x11/gdkscreen-x11.c
	* gdk/gdk.symbols: added gdk_screen_get_active_window() and
	gdk_screen_get_window_stack() (patch from maemo-gtk).
	Fixes bug #320881.

	* gdk/directfb/gdkscreen-directfb.c
	* gdk/quartz/gdkscreen-quartz.c
	* gdk/win32/gdkscreen-win32.c: added the functions as stubs.
2006-03-08 17:02:34 +00:00
Anders Carlsson
5dcae734e5 Add these from the win32 backend.
2006-02-21  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/gdkselection-quartz.c:
        (make_list):
        (gdk_text_property_to_utf8_list_for_display):
        Add these from the win32 backend.
2006-02-21 08:32:28 +00:00
Anders Carlsson
ba8e91b9fc Add stubs for input shape functions.
2006-02-20  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/gdkdisplay-quartz.c:
        (gdk_display_supports_shapes):
        (gdk_display_supports_input_shapes):
        * gdk/quartz/gdkwindow-quartz.c:
        (gdk_display_warp_pointer):
        (gdk_window_input_shape_combine_mask):
        (gdk_window_input_shape_combine_region):
        (gdk_window_set_child_input_shapes):
        (gdk_window_set_accept_focus):
        (gdk_window_merge_child_input_shapes):
        Add stubs for input shape functions.
2006-02-20 11:57:12 +00:00
Anders Carlsson
cae6c15d65 Fix typo so ctrl gets passed on to the gdk event.
2006-02-20  Anders Carlsson  <andersca@mac.com>

        * gdk/quartz/gdkevents-quartz.c:
        (get_keyboard_modifiers_from_nsevent):
        Fix typo so ctrl gets passed on to the gdk event.

        * gdk/quartz/gdkproperty-quartz.c:
        (gdk_atom_name):
        g_strdup the atom name.
2006-02-20 11:07:25 +00:00
Behdad Esfahbod
6a66c972ca If major.minor of required and available glib versions are the same, add
2006-01-28  Behdad Esfahbod  <behdad@gnome.org>

        * configure.in: If major.minor of required and available glib versions
        are the same, add -DG_DISABLE_DEPRECATED to GLIB_CFLAGS. (bug #328617)

        * */Makefile.am: Remove hardcoded -DG_DISABLE_DEPRECATED.
2006-01-29 04:00:45 +00:00
Anders Carlsson
4b705d23d2 Implement these functions. (#327228, Thomas Broyer).
2006-01-18  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/gdkevents-quartz.c:
        (get_mm_from_pixels):
        (gdk_screen_get_width_mm):
        (gdk_screen_get_height_mm):
        Implement these functions.
        (#327228, Thomas Broyer).
2006-01-18 10:06:00 +00:00
Anders Carlsson
580d76a4f9 Implement these functions. (#327226, Thomas Broyer)
2006-01-18  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/gdkdrawable-quartz.c:
        (gdk_quartz_draw_polygon):
        (gdk_quartz_draw_lines):
	Implement these functions.
	(#327226, Thomas Broyer)
2006-01-18 09:47:56 +00:00
Anders Carlsson
617595dff2 Support non-MacRoman keyboard layouts. (#322585, Wolfgang Thaller)
2006-01-18  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/gdkkeys-quartz.c:
        (maybe_update_keymap):
	    Support non-MacRoman keyboard layouts.
	    (#322585, Wolfgang Thaller)
2006-01-18 09:30:00 +00:00
Anders Carlsson
6ebd463287 Make the process a foreground application. (#322481, Wolfgang Thaller)
2006-01-18  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/gdkmain-quartz.c:
        (_gdk_windowing_init):
        Make the process a foreground application.
        (#322481, Wolfgang Thaller)
2006-01-18 09:17:39 +00:00
Anders Carlsson
be820c5dc4 Fix ChangeLog entry 2006-01-16 11:11:20 +00:00
Anders Carlsson
4afc4d61c6 Implement keyboard grabs.
2006-01-16  Anders Carlsson  <andersca@mac.com>

        * gdk/quartz/gdkdisplay-quartz.c:
        * gdk/quartz/gdkevents-quartz.c:
        (gdk_keyboard_grab):
        (gdk_display_keyboard_ungrab):
        (gdk_keyboard_grab_info_libgtk_only):
        (find_window_for_event):
        Implement keyboard grabs.

        (_gdk_quartz_send_map_events):
        * gdk/quartz/gdkmain-quartz.c:
        * gdk/quartz/gdkprivate-quartz.h:
        New function that synthesizes map events.

        * gdk/quartz/gdkwindow-quartz.c:
        (_gdk_windowing_window_init):
        The root window is always visible.

        (all_parents_shown):
        (show_window_internal):
        Send map events.

        (gdk_window_hide):
        Ungrab keyboard and pointer
2006-01-16 10:52:40 +00:00
Anders Carlsson
c18f7da40d Implement local-only atoms.
2006-01-10  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/gdkproperty-quartz.c:
        (ensure_atom_tables):
        (intern_atom_internal):
        (gdk_atom_intern):
        (gdk_atom_intern_static_string):
        (gdk_atom_name):
        Implement local-only atoms.
2006-01-10 16:38:26 +00:00
Johan Dahlin
ba9c437d54 Add cvsignore 2006-01-09 19:25:35 +00:00
Anders Carlsson
6130996a77 Have these return TRUE
2006-01-02  Anders Carlsson  <andersca@imendio.com>

        * gdk/quartz/GdkQuartzWindow.c:
        (-[GdkQuartzWindow canBecomeMainWindow]):
        (-[GdkQuartzWindow canBecomeKeyWindow]):
        Have these return TRUE

        * gdk/quartz/gdkevents-quartz.c:
        (pointer_grab_internal):
        Remove FIXME

        (find_child_window_by_point_helper):
        Fix bug in offset calculation

        (find_window_for_event):
        Use grab window toplevel when a grab is in effect

        (gdk_event_translate):
        Don't call _gdk_event_button_generate on mouse up

        * gdk/quartz/gdkgc-quartz.c:
        (_gdk_quartz_gc_new):
        Fix indentation

        * gdk/quartz/gdkwindow-quartz.c:
        (gdk_window_new):
        Make TEMP windows borderless

        (gdk_window_hide):
        Hide window

        (gdk_window_get_origin):
        Implement
2006-01-02 16:34:21 +00:00
Anders Carlsson
1097260aa7 Add quartz backend.
2005-11-21  Anders Carlsson  <andersca@imendio.com>

        * configure.in:
        * gtk/Makefile.am:
        * gdk/Makefile.am:
	* gdk/quartz/*:
	Add quartz backend.

        * docs/tools/Makefile.am:
	Only build docshooter when the X11 backend is used.

        * gtk/gtkplug-stub.c:
	Include gtkplug.h here.

        * gtk/gtksocket-stub.c:
	Include gtksocket.h here.
2005-11-22 10:03:32 +00:00