updated externals

2001-09-21  Hans Breuer  <hans@breuer.org>

	* gdk/gdk.def :
	* gtk/gtk.def : updated externals

	* gtk/gtkmain.h : define get_gtk_win32_directoty ()
	* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
	Also handle that Win32 pathes cann't be hard-coded

	* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
	module, themes etc directory calculations

	* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
	>16 bit right. The size limit within Win9x appears _not_ to be 32767
	but slightly smaller ...

	* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid
	>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()

	* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()

	* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
	handling. I'm not sure if it is better now, but at least not worse

	* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup

	* gdk/win32/gdkwin32.h : reflect recent API restrictions
This commit is contained in:
Hans Breuer 2001-09-21 19:58:35 +00:00 • committed by Hans Breuer
commit 293d787783
18 changed files with 356 additions and 105 deletions

View file

@ -1,3 +1,31 @@
2001-09-21 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gtk/gtkmain.h : define get_gtk_win32_directoty ()
* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
Also handle that Win32 pathes cann't be hard-coded
* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
module, themes etc directory calculations
* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
>16 bit right. The size limit within Win9x appears _not_ to be 32767
but slightly smaller ...
* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid
>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()
* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()
* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
handling. I'm not sure if it is better now, but at least not worse
* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup
* gdk/win32/gdkwin32.h : reflect recent API restrictions
2001-09-21 Matt Wilson <msw@redhat.com>
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set

View file

@ -1,3 +1,31 @@
2001-09-21 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gtk/gtkmain.h : define get_gtk_win32_directoty ()
* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
Also handle that Win32 pathes cann't be hard-coded
* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
module, themes etc directory calculations
* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
>16 bit right. The size limit within Win9x appears _not_ to be 32767
but slightly smaller ...
* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid
>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()
* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()
* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
handling. I'm not sure if it is better now, but at least not worse
* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup
* gdk/win32/gdkwin32.h : reflect recent API restrictions
2001-09-21 Matt Wilson <msw@redhat.com>
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set

View file

@ -1,3 +1,31 @@
2001-09-21 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gtk/gtkmain.h : define get_gtk_win32_directoty ()
* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
Also handle that Win32 pathes cann't be hard-coded
* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
module, themes etc directory calculations
* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
>16 bit right. The size limit within Win9x appears _not_ to be 32767
but slightly smaller ...
* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid
>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()
* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()
* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
handling. I'm not sure if it is better now, but at least not worse
* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup
* gdk/win32/gdkwin32.h : reflect recent API restrictions
2001-09-21 Matt Wilson <msw@redhat.com>
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set

View file

@ -1,3 +1,31 @@
2001-09-21 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gtk/gtkmain.h : define get_gtk_win32_directoty ()
* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
Also handle that Win32 pathes cann't be hard-coded
* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
module, themes etc directory calculations
* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
>16 bit right. The size limit within Win9x appears _not_ to be 32767
but slightly smaller ...
* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid
>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()
* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()
* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
handling. I'm not sure if it is better now, but at least not worse
* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup
* gdk/win32/gdkwin32.h : reflect recent API restrictions
2001-09-21 Matt Wilson <msw@redhat.com>
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set

View file

@ -1,3 +1,31 @@
2001-09-21 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gtk/gtkmain.h : define get_gtk_win32_directoty ()
* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
Also handle that Win32 pathes cann't be hard-coded
* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
module, themes etc directory calculations
* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
>16 bit right. The size limit within Win9x appears _not_ to be 32767
but slightly smaller ...
* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid
>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()
* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()
* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
handling. I'm not sure if it is better now, but at least not worse
* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup
* gdk/win32/gdkwin32.h : reflect recent API restrictions
2001-09-21 Matt Wilson <msw@redhat.com>
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set

View file

@ -1,3 +1,31 @@
2001-09-21 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gtk/gtkmain.h : define get_gtk_win32_directoty ()
* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
Also handle that Win32 pathes cann't be hard-coded
* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
module, themes etc directory calculations
* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
>16 bit right. The size limit within Win9x appears _not_ to be 32767
but slightly smaller ...
* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid
>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()
* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()
* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
handling. I'm not sure if it is better now, but at least not worse
* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup
* gdk/win32/gdkwin32.h : reflect recent API restrictions
2001-09-21 Matt Wilson <msw@redhat.com>
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set

View file

@ -1,3 +1,31 @@
2001-09-21 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gtk/gtkmain.h : define get_gtk_win32_directoty ()
* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
Also handle that Win32 pathes cann't be hard-coded
* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
module, themes etc directory calculations
* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
>16 bit right. The size limit within Win9x appears _not_ to be 32767
but slightly smaller ...
* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid
>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()
* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()
* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
handling. I'm not sure if it is better now, but at least not worse
* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup
* gdk/win32/gdkwin32.h : reflect recent API restrictions
2001-09-21 Matt Wilson <msw@redhat.com>
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy): set

View file

@ -35,7 +35,7 @@ EXPORTS
gdk_colors_alloc
gdk_colors_free
gdk_colors_store
gdk_core_pointer
gdk_device_get_core_pointer
gdk_crossing_mode_get_type
gdk_cursor_new
gdk_cursor_new_from_pixmap
@ -51,7 +51,6 @@ EXPORTS
gdk_device_set_mode
gdk_device_set_source
gdk_devices_list
gdk_dnd_init
gdk_drag_abort
gdk_drag_action_get_type
gdk_drag_begin
@ -102,15 +101,10 @@ EXPORTS
gdk_drawable_unref
gdk_drop_finish
gdk_drop_reply
gdk_error_code
gdk_error_trap_pop
gdk_error_trap_push
gdk_error_warnings
gdk_event_button_generate
gdk_event_copy
gdk_event_data
gdk_event_free
gdk_event_func
gdk_event_get
gdk_event_get_axis
gdk_event_get_graphics_expose
@ -119,16 +113,11 @@ EXPORTS
gdk_event_get_type
gdk_event_handler_set
gdk_event_mask_get_type
gdk_event_new
gdk_event_peek
gdk_event_put
gdk_event_queue_append
gdk_event_queue_find_first
gdk_event_queue_remove_link
gdk_event_send_client_message
gdk_event_send_clientmessage_toall
gdk_event_type_get_type
gdk_event_unqueue
gdk_events_pending
gdk_exit
gdk_extension_mode_get_type
@ -177,7 +166,9 @@ EXPORTS
gdk_gc_set_tile
gdk_gc_set_ts_origin
gdk_gc_unref
gdk_get_default_root_window
gdk_get_display
gdk_get_program_class
gdk_get_show_events
gdk_get_use_xshm
gdk_grab_status_get_type
@ -196,16 +187,12 @@ EXPORTS
gdk_input_add
gdk_input_add_full
gdk_input_condition_get_type
gdk_input_exit
gdk_input_init
gdk_input_mode_get_type
gdk_input_motion_events
gdk_input_remove
gdk_input_set_extension_events
gdk_input_source_get_type
gdk_join_style_get_type
gdk_key_repeat_disable
gdk_key_repeat_restore
gdk_keyboard_grab
gdk_keyboard_ungrab
gdk_keymap_get_default
@ -234,9 +221,9 @@ EXPORTS
gdk_pango_context_get
gdk_pango_context_set_colormap
gdk_pango_layout_get_clip_region
gdk_parent_root
gdk_pixbuf_get_from_drawable
gdk_pixbuf_render_pixmap_and_mask
gdk_pixbuf_render_pixmap_and_mask_for_colormap
gdk_pixbuf_render_threshold_alpha
gdk_pixbuf_render_to_drawable
gdk_pixbuf_render_to_drawable_alpha
@ -300,7 +287,6 @@ EXPORTS
gdk_selection_get_type
gdk_selection_owner_get
gdk_selection_owner_set
gdk_selection_property
gdk_selection_property_get
gdk_selection_send_notify
gdk_set_double_click_time
@ -344,6 +330,7 @@ EXPORTS
gdk_visual_get_type
gdk_visual_type_get_type
gdk_wcstombs
gdk_win32_drawable_get_handle
gdk_win32_handle_table_lookup
gdk_win32_hdc_get
gdk_win32_hdc_release
@ -416,6 +403,7 @@ EXPORTS
gdk_window_set_group
gdk_window_set_hints
gdk_window_set_icon
gdk_window_set_icon_list
gdk_window_set_icon_name
gdk_window_set_modal_hint
gdk_window_set_override_redirect

View file

@ -1087,3 +1087,9 @@ gdk_win32_get_visual (GdkDrawable *drawable)
{
return gdk_drawable_get_visual (GDK_DRAWABLE_IMPL_WIN32 (drawable)->wrapper);
}
HWND
gdk_win32_drawable_get_handle (GdkDrawable *drawable)
{
return GDK_DRAWABLE_HANDLE(drawable);
}

View file

@ -233,7 +233,7 @@ real_window_procedure (HWND hwnd,
* GDK_EVENT_FUNC_FROM_WINDOW_PROC env var to get this
* behaviour.
*/
if (gdk_event_func_from_window_proc && gdk_event_func)
if (gdk_event_func_from_window_proc && _gdk_event_func)
{
GDK_THREADS_ENTER ();
@ -2758,6 +2758,12 @@ gdk_event_translate (GdkEvent *event,
}
break;
case WM_GETICON:
GDK_NOTE (EVENTS, g_print ("WM_GETICON: %#lx %s\n",
(gulong) msg->hwnd,
(ICON_BIG == msg->wParam ? "big" : "small")));
break;
case WM_SETCURSOR:
GDK_NOTE (EVENTS, g_print ("WM_SETCURSOR: %#lx %#x %#x\n",
(gulong) msg->hwnd,
@ -2864,7 +2870,39 @@ gdk_event_translate (GdkEvent *event,
_gdk_input_configure_event (&event->configure, window);
}
break;
#if 0
case WM_SIZING :
{
LPRECT lpr = (LPRECT) msg->lParam;
NONCLIENTMETRICS ncm;
ncm.cbSize = sizeof (NONCLIENTMETRICS);
SystemParametersInfo (SPI_GETNONCLIENTMETRICS, ncm.cbSize, &ncm, 0);
g_print ("WM_SIZING borderWidth %d captionHeight %d\n",
ncm.iBorderWidth, ncm.iCaptionHeight);
event->configure.type = GDK_CONFIGURE;
event->configure.window = window;
event->configure.x = lpr->left + ncm.iBorderWidth;
event->configure.y = lpr->top + ncm.iCaptionHeight;
event->configure.width = lpr->right - lpr->left - 2 * ncm.iBorderWidth;
event->configure.height = lpr->bottom - lpr->top - ncm.iCaptionHeight;
GDK_WINDOW_OBJECT (window)->x = event->configure.x;
GDK_WINDOW_OBJECT (window)->y = event->configure.y;
window_impl->width = event->configure.width;
window_impl->height = event->configure.height;
if (GDK_WINDOW_OBJECT (window)->resize_count > 1)
GDK_WINDOW_OBJECT (window)->resize_count -= 1;
return_val = !GDK_WINDOW_DESTROYED (window);
if (return_val
&& GDK_WINDOW_OBJECT (window)->extension_events != 0)
_gdk_input_configure_event (&event->configure, window);
}
break;
#endif
case WM_GETMINMAXINFO:
GDK_NOTE (EVENTS, g_print ("WM_GETMINMAXINFO: %#lx\n", (gulong) msg->hwnd));
@ -3234,12 +3272,14 @@ gdk_flush (void)
{
MSG msg;
#if 0
/* Process all messages currently available */
while (PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage (&msg); /* Translate virt. key codes */
DispatchMessage (&msg); /* Dispatch msg. to window */
}
#endif
GdiFlush ();
}

View file

@ -36,6 +36,8 @@
#include "gdkdrawable-win32.h"
#include "gdkwindow-win32.h"
#define SIZE_LIMIT 32000
typedef struct _GdkWindowQueueItem GdkWindowQueueItem;
typedef struct _GdkWindowParentPos GdkWindowParentPos;
@ -360,13 +362,13 @@ _gdk_window_move_resize_child (GdkWindow *window,
if (d_xoffset > 0 || d_yoffset > 0)
gdk_window_queue_translation (window, MAX (d_xoffset, 0), MAX (d_yoffset, 0));
/* FIXME:
*/
if (new_info.x + new_info.width > 32767)
new_info.width = 32767 - new_info.x;
if (new_info.y + new_info.height > 32767)
new_info.height = 32767 - new_info.y;
if (new_info.x + new_info.width > SIZE_LIMIT)
new_info.width = SIZE_LIMIT - new_info.x;
if (new_info.y + new_info.height > SIZE_LIMIT)
new_info.height = SIZE_LIMIT - new_info.y;
if (!SetWindowPos (GDK_WINDOW_HWND (window), NULL,
new_info.x, new_info.y, new_info.width, new_info.height,
@ -441,7 +443,7 @@ gdk_window_compute_position (GdkWindowImplWin32 *window,
info->big = FALSE;
if (window->width <= 32768)
if (window->width <= SIZE_LIMIT)
{
info->width = window->width;
info->x = parent_pos->x + wrapper->x - parent_pos->win32_x;
@ -449,19 +451,19 @@ gdk_window_compute_position (GdkWindowImplWin32 *window,
else
{
info->big = TRUE;
info->width = 32768;
if (parent_pos->x + wrapper->x < -16384)
info->width = SIZE_LIMIT;
if (parent_pos->x + wrapper->x < -(SIZE_LIMIT/2))
{
if (parent_pos->x + wrapper->x + window->width < 16384)
info->x = parent_pos->x + wrapper->x + window->width - 32768 - parent_pos->win32_x;
if (parent_pos->x + wrapper->x + window->width < (SIZE_LIMIT/2))
info->x = parent_pos->x + wrapper->x + window->width - SIZE_LIMIT - parent_pos->win32_x;
else
info->x = -16384 - parent_pos->win32_y;
info->x = -(SIZE_LIMIT/2) - parent_pos->win32_y;
}
else
info->x = parent_pos->x + wrapper->x - parent_pos->win32_x;
}
if (window->height <= 32768)
if (window->height <= SIZE_LIMIT)
{
info->height = window->height;
info->y = parent_pos->y + wrapper->y - parent_pos->win32_y;
@ -469,13 +471,13 @@ gdk_window_compute_position (GdkWindowImplWin32 *window,
else
{
info->big = TRUE;
info->height = 32768;
if (parent_pos->y + wrapper->y < -16384)
info->height = SIZE_LIMIT;
if (parent_pos->y + wrapper->y < -(SIZE_LIMIT/2))
{
if (parent_pos->y + wrapper->y + window->height < 16384)
info->y = parent_pos->y + wrapper->y + window->height - 32768 - parent_pos->win32_y;
if (parent_pos->y + wrapper->y + window->height < (SIZE_LIMIT/2))
info->y = parent_pos->y + wrapper->y + window->height - SIZE_LIMIT - parent_pos->win32_y;
else
info->y = -16384 - parent_pos->win32_y;
info->y = -(SIZE_LIMIT/2) - parent_pos->win32_y;
}
else
info->y = parent_pos->y + wrapper->y - parent_pos->win32_y;

View file

@ -28,6 +28,7 @@
#define __GDK_WIN32_H__
#include <gdk/gdkprivate.h>
#include <gdk/gdkinternals.h>
#include <gdk/gdkcursor.h>
#ifndef STRICT
@ -196,6 +197,8 @@ extern "C" {
#define CopyCursor(pcur) ((HCURSOR)CopyIcon((HICON)(pcur)))
#endif
#ifdef INSIDE_GDK_WIN32
#include <gdk/gdkprivate.h>
/* Define corresponding Windows types for some X11 types, just for laziness. */
@ -339,9 +342,8 @@ struct _GdkGCWin32Class
GType gdk_gc_win32_get_type (void);
#define GDK_ROOT_WINDOW() ((guint32) HWND_DESKTOP)
#undef GDK_ROOT_PARENT /* internal access is direct */
#define GDK_ROOT_PARENT() ((GdkWindow *) _gdk_parent_root)
#define GDK_DISPLAY() NULL
#define GDK_WINDOW_HWND(win) (GDK_DRAWABLE_IMPL_WIN32(((GdkWindowObject *)win)->impl)->handle)
#define GDK_PIXMAP_HBITMAP(pixmap) (GDK_DRAWABLE_IMPL_WIN32(((GdkPixmapObject *)pixmap)->impl)->handle)
#define GDK_DRAWABLE_HANDLE(win) (GDK_IS_WINDOW (win) ? (GDK_WINDOW_HWND (win)) : (GDK_PIXMAP_HBITMAP (win)))
@ -350,6 +352,15 @@ GType gdk_gc_win32_get_type (void);
#define GDK_COLORMAP_WIN32COLORMAP(cmap) (((GdkColormapPrivateWin32 *)GDK_COLORMAP (cmap)->windowing_data)->xcolormap)
#define GDK_VISUAL_XVISUAL(vis) (((GdkVisualPrivate *) vis)->xvisual)
#else
/* definition for exported 'internals' go here */
#define GDK_WINDOW_HWND(d) (gdk_win32_drawable_get_handle (d))
#endif
#define GDK_ROOT_WINDOW() ((guint32) HWND_DESKTOP)
#define GDK_DISPLAY() NULL
/* Functions to create GDK pixmaps and windows from their native equivalents */
GdkPixmap *gdk_pixmap_foreign_new (GdkNativeWindow anid);
GdkWindow *gdk_window_foreign_new (GdkNativeWindow anid);
@ -357,6 +368,9 @@ GdkWindow *gdk_window_foreign_new (GdkNativeWindow anid);
/* Return the Gdk* for a particular HANDLE */
gpointer gdk_win32_handle_table_lookup (GdkNativeWindow handle);
/* Translate from drawable to windows handle */
HWND gdk_win32_drawable_get_handle (GdkDrawable *drawable);
#define gdk_window_lookup(hwnd) (GdkWindow*) gdk_win32_handle_table_lookup (hwnd)
#define gdk_pixmap_lookup(hbm) (GdkPixmap*) gdk_win32_handle_table_lookup (hbm)

View file

@ -610,8 +610,8 @@ gdk_window_new (GdkWindow *parent,
MAKEINTRESOURCE(klass),
mbtitle,
dwStyle,
x, y,
width, height,
impl->position_info.x, impl->position_info.y,
impl->position_info.width, impl->position_info.height,
hparent,
NULL,
gdk_app_hmodule,
@ -623,8 +623,8 @@ gdk_window_new (GdkWindow *parent,
MAKEINTRESOURCE(klass),
mbtitle,
dwStyle,
x, y,
width, height,
impl->position_info.x, impl->position_info.y,
impl->position_info.width, impl->position_info.height,
hparent,
NULL,
gdk_app_hmodule,
@ -1303,7 +1303,7 @@ gdk_window_set_hints (GdkWindow *window,
impl->hint_min_width = rect.right - rect.left;
impl->hint_min_height = rect.bottom - rect.top;
/* Also chek if he current size of the window is in bounds. */
/* Also check if he current size of the window is in bounds. */
GetClientRect (GDK_WINDOW_HWND (window), &rect);
if (rect.right < min_width && rect.bottom < min_height)
gdk_window_resize (window, min_width, min_height);
@ -2005,6 +2005,22 @@ gdk_window_set_override_redirect (GdkWindow *window,
g_warning ("gdk_window_set_override_redirect not implemented");
}
void
gdk_window_set_icon_list (GdkWindow *window,
GList *pixbufs)
{
g_return_if_fail (GDK_IS_WINDOW (window));
if (GDK_WINDOW_DESTROYED (window))
return;
/* We could convert it to a hIcon and DrawIcon () it when getting
* a WM_PAINT with IsIconic, but is it worth it ? Same probably
* goes for gdk_window_set_icon (). Patches accepted :-) --hb
* Or do we only need to deliver the Icon on WM_GETICON ?
*/
}
void
gdk_window_set_icon (GdkWindow *window,
GdkWindow *icon_window,

View file

@ -11,22 +11,11 @@ WTKIT = ..\..\..\wtkit126
TOP = ../../..
!INCLUDE $(TOP)/build/win32/make.msc
!IFNDEF DEBUG
# Full optimization:
OPTIMIZE = -Ox -MD
!ELSE
# Debugging:
OPTIMIZE = -Zi -MDd
!ENDIF
# cl -? describes the options
CC = cl -G5 -GF $(OPTIMIZE) -W3 -nologo
LDFLAGS = /link /machine:ix86 $(LINKDEBUG)
GTK_VER=1.3
CFLAGS = -I. -I.. -I..\.. $(GLIB_CFLAGS) $(PANGO_CFLAGS) -I$(WTKIT)\include -I$(GLIB) -DG_ENABLE_DEBUG -DHAVE_CONFIG_H -DGDK_VERSION=\"$(GTK_VER)\"
CFLAGS = -I. -I.. -I..\.. $(GLIB_CFLAGS) $(PANGO_CFLAGS) \
-I$(WTKIT)\include -I$(GLIB) \
$(G_DEBUGGING) -DHAVE_CONFIG_H -DINSIDE_GDK_WIN32 -DGDK_VERSION=\"$(GTK_VER)\"
all: \
..\..\config.h \

View file

@ -70,8 +70,6 @@ EXPORTS
GTK_TYPE_TREE_ITER
GTK_TYPE_TREE_MODEL_FLAGS
GTK_TYPE_TREE_PATH
GTK_TYPE_TREE_SELECTION_MODE
GTK_TYPE_TREE_SORT_ORDER
GTK_TYPE_TREE_VIEW_COLUMN_SIZING
GTK_TYPE_TREE_VIEW_DROP_POSITION
GTK_TYPE_TREE_VIEW_MODE
@ -194,7 +192,6 @@ EXPORTS
gtk_calendar_select_month
gtk_calendar_thaw
gtk_calendar_unmark_day
gtk_cell_renderer_event
gtk_cell_renderer_get_fixed_size
gtk_cell_renderer_get_size
gtk_cell_renderer_get_type
@ -204,8 +201,6 @@ EXPORTS
gtk_cell_renderer_set_fixed_size
gtk_cell_renderer_text_get_type
gtk_cell_renderer_text_new
gtk_cell_renderer_text_pixbuf_get_type
gtk_cell_renderer_text_pixbuf_new
gtk_cell_renderer_text_set_fixed_height_from_font
gtk_cell_renderer_toggle_get_active
gtk_cell_renderer_toggle_get_radio
@ -345,7 +340,6 @@ EXPORTS
gtk_container_child_set_property
gtk_container_child_set_valist
gtk_container_child_type
gtk_container_children
gtk_container_class_find_child_property
gtk_container_class_install_child_property
gtk_container_class_list_child_properties
@ -354,6 +348,7 @@ EXPORTS
gtk_container_foreach
gtk_container_foreach_full
gtk_container_get_border_width
gtk_container_get_children
gtk_container_get_focus_chain
gtk_container_get_focus_hadjustment
gtk_container_get_focus_vadjustment
@ -884,11 +879,8 @@ EXPORTS
gtk_marshal_VOID__UINT_BOXED_UINT_FLAGS_FLAGS
gtk_marshal_VOID__UINT_STRING
gtk_menu_attach_to_widget
gtk_menu_bar_append
gtk_menu_bar_get_type
gtk_menu_bar_insert
gtk_menu_bar_new
gtk_menu_bar_prepend
gtk_menu_detach
gtk_menu_get_accel_group
gtk_menu_get_active
@ -897,17 +889,16 @@ EXPORTS
gtk_menu_get_title
gtk_menu_get_type
gtk_menu_item_activate
gtk_menu_item_configure
gtk_menu_item_deselect
gtk_menu_item_get_right_justified
gtk_menu_item_get_submenu
gtk_menu_item_get_type
gtk_menu_item_new
gtk_menu_item_new_with_label
gtk_menu_item_new_with_mnemonic
gtk_menu_item_remove_submenu
gtk_menu_item_right_justify
gtk_menu_item_select
gtk_menu_item_set_placement
gtk_menu_item_set_right_justified
gtk_menu_item_set_submenu
gtk_menu_item_toggle_size_allocate
gtk_menu_item_toggle_size_request
@ -1354,7 +1345,6 @@ EXPORTS
gtk_text_buffer_move_mark_by_name
gtk_text_buffer_new
gtk_text_buffer_paste_clipboard
gtk_text_buffer_paste_primary
gtk_text_buffer_place_cursor
gtk_text_buffer_remove_all_tags
gtk_text_buffer_remove_tag
@ -1438,7 +1428,6 @@ EXPORTS
gtk_text_iter_set_line_offset
gtk_text_iter_set_offset
gtk_text_iter_set_visible_line_offset
gtk_text_iter_spew
gtk_text_iter_starts_line
gtk_text_iter_toggles_tag
gtk_text_mark_get_deleted
@ -1460,11 +1449,11 @@ EXPORTS
gtk_text_tag_set_priority
gtk_text_tag_table_add
gtk_text_tag_table_foreach
gtk_text_tag_table_get_size
gtk_text_tag_table_get_type
gtk_text_tag_table_lookup
gtk_text_tag_table_new
gtk_text_tag_table_remove
gtk_text_tag_table_size
gtk_text_thaw
gtk_text_unknown_char_utf8
gtk_text_view_add_child_at_anchor
@ -1600,7 +1589,6 @@ EXPORTS
gtk_tree_item_set_subtree
gtk_tree_iter_copy
gtk_tree_iter_free
gtk_tree_model_deleted
gtk_tree_model_foreach
gtk_tree_model_get
gtk_tree_model_get_column_type
@ -1611,17 +1599,18 @@ EXPORTS
gtk_tree_model_get_path
gtk_tree_model_get_type
gtk_tree_model_get_value
gtk_tree_model_has_child_toggled
gtk_tree_model_inserted
gtk_tree_model_iter_children
gtk_tree_model_iter_has_child
gtk_tree_model_iter_n_children
gtk_tree_model_iter_next
gtk_tree_model_iter_nth_child
gtk_tree_model_iter_parent
gtk_tree_model_range_changed
gtk_tree_model_ref_node
gtk_tree_model_reordered
gtk_tree_model_row_changed
gtk_tree_model_row_deleted
gtk_tree_model_row_has_child_toggled
gtk_tree_model_row_inserted
gtk_tree_model_rows_reordered
gtk_tree_model_sort_convert_path
gtk_tree_model_sort_get_model
gtk_tree_model_sort_get_type
@ -1704,14 +1693,12 @@ EXPORTS
gtk_tree_view_collapse_all
gtk_tree_view_collapse_row
gtk_tree_view_column_add_attribute
gtk_tree_view_column_cell_can_focus
gtk_tree_view_column_cell_event
gtk_tree_view_column_cell_get_size
gtk_tree_view_column_cell_is_visible
gtk_tree_view_column_cell_render
gtk_tree_view_column_cell_set_cell_data
gtk_tree_view_column_clear_attributes
gtk_tree_view_column_clear_cell_renderers
gtk_tree_view_column_clear
gtk_tree_view_column_clicked
gtk_tree_view_column_get_alignment
gtk_tree_view_column_get_cell_renderers
@ -1719,7 +1706,7 @@ EXPORTS
gtk_tree_view_column_get_max_width
gtk_tree_view_column_get_min_width
gtk_tree_view_column_get_reorderable
gtk_tree_view_column_get_size
gtk_tree_view_column_get_sizing
gtk_tree_view_column_get_sizing
gtk_tree_view_column_get_sort_indicator
gtk_tree_view_column_get_sort_order
@ -1730,13 +1717,14 @@ EXPORTS
gtk_tree_view_column_get_width
gtk_tree_view_column_new
gtk_tree_view_column_new_with_attributes
gtk_tree_view_column_pack_end_cell_renderer
gtk_tree_view_column_pack_start_cell_renderer
gtk_tree_view_column_pack_end
gtk_tree_view_column_pack_start
gtk_tree_view_column_set_alignment
gtk_tree_view_column_set_attributes
gtk_tree_view_column_set_cell_data_func
gtk_tree_view_column_set_cell_renderer
gtk_tree_view_column_set_clickable
gtk_tree_view_column_set_fixed_width
gtk_tree_view_column_set_max_width
gtk_tree_view_column_set_min_width
gtk_tree_view_column_set_reorderable
@ -1747,7 +1735,6 @@ EXPORTS
gtk_tree_view_column_set_title
gtk_tree_view_column_set_visible
gtk_tree_view_column_set_widget
gtk_tree_view_column_set_width
gtk_tree_view_columns_autosize
gtk_tree_view_create_row_drag_icon
gtk_tree_view_expand_all

View file

@ -235,8 +235,13 @@ get_module_path (void)
if (exe_prefix)
default_dir = g_build_filename (exe_prefix, "lib", "gtk-2.0", "modules", NULL);
else
default_dir = g_build_filename (GTK_LIBDIR, "gtk-2.0", "modules", NULL);
{
#ifndef G_OS_WIN32
default_dir = g_build_filename (GTK_LIBDIR, "gtk-2.0", "modules", NULL);
#else
default_dir = g_build_filename (get_gtk_win32_directory (""), "modules", NULL);
#endif
}
module_path = g_strconcat (module_path ? module_path : "",
module_path ? G_SEARCHPATH_SEPARATOR_S : "",
default_dir, NULL);
@ -264,6 +269,7 @@ find_module (gchar **module_path,
{
gchar *version_directory;
#ifndef G_OS_WIN32 /* ignoring GTK_BINARY_VERSION elsewhere too */
version_directory = g_build_filename (module_path[i], GTK_BINARY_VERSION, NULL);
module_name = g_module_build_path (version_directory, name);
g_free (version_directory);
@ -275,13 +281,15 @@ find_module (gchar **module_path,
}
g_free (module_name);
#endif
module_name = g_module_build_path (module_path[i], name);
if (g_file_test (module_name, G_FILE_TEST_EXISTS))
{
module = g_module_open (module_name, G_MODULE_BIND_LAZY);
g_free (module_name);
return g_module_open (module_name, G_MODULE_BIND_LAZY);
return module;
}
g_free (module_name);
@ -523,7 +531,7 @@ gtk_init_check (int *argc,
{
bindtextdomain (GETTEXT_PACKAGE,
g_win32_get_package_installation_subdirectory (GETTEXT_PACKAGE,
g_strdup_printf ("gtk-%d.%d.dll", GTK_MAJOR_VERSION, GTK_MINOR_VERSION),
g_strdup_printf ("gtk-win32-%d.%d.dll", GTK_MAJOR_VERSION, GTK_MINOR_VERSION),
"locale"));
}
#endif

View file

@ -103,6 +103,13 @@ gboolean gtk_init_check_abi_check (int *argc,
#endif
#ifdef G_OS_WIN32
/* don't hard-code any absolute directory but calculate then from
* regristy settings or gtk-*.*.dll placement.
*/
gchar *get_gtk_win32_directory (gchar *subdir);
#endif
#ifndef GTK_DISABLE_DEPRECATED
void gtk_exit (gint error_code);
#endif /* GTK_DISABLE_DEPRECATED */

View file

@ -296,23 +296,21 @@ static GSList *rc_dir_stack = NULL;
/* RC file handling */
#ifdef G_OS_WIN32
static gchar *
get_gtk_dll_name (void)
gchar *
get_gtk_win32_directory (gchar *subdir)
{
static gchar *gtk_dll = NULL;
if (!gtk_dll)
gtk_dll = g_strdup_printf ("gtk-%d.%d.dll", GTK_MAJOR_VERSION, GTK_MINOR_VERSION);
gtk_dll = g_strdup_printf ("gtk-win32-%d.%d.dll", GTK_MAJOR_VERSION, GTK_MINOR_VERSION);
return gtk_dll;
}
static gchar *
get_themes_directory (void)
{
return g_win32_get_package_installation_subdirectory (GETTEXT_PACKAGE,
get_gtk_dll_name (),
"themes");
if (subdir && strlen(subdir) > 0)
return g_win32_get_package_installation_subdirectory (GETTEXT_PACKAGE,
gtk_dll,
subdir);
else
return g_win32_get_package_installation_directory (GETTEXT_PACKAGE,
gtk_dll);
}
#endif /* G_OS_WIN32 */
@ -328,7 +326,7 @@ gtk_rc_make_default_dir (const gchar *type)
else
path = g_build_filename (GTK_LIBDIR, "gtk-2.0,", type, GTK_BINARY_VERSION, NULL);
#else
path = g_build_filename (get_themes_directory (), type, NULL);
path = g_build_filename (get_gtk_win32_directory (""), type, NULL);
#endif
return path;
@ -363,7 +361,7 @@ gtk_rc_get_im_module_file (void)
#ifndef G_OS_WIN32
result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules", NULL);
#else
result = g_build_filename (g_win32_get_package_installation_directory (GETTEXT_PACKAGE, get_gtk_dll_name ()), "gtk.immodules", NULL);
result = g_build_filename (get_gtk_win32_directory ("gtk-2.0"), "gtk.immodules", NULL);
#endif
}
@ -382,7 +380,7 @@ gtk_rc_get_theme_dir(void)
else
path = g_build_filename (GTK_DATA_PREFIX, "share", "themes", NULL);
#else
path = g_strdup (get_themes_directory ());
path = g_build_filename (get_gtk_win32_directory (""), "themes", NULL);
#endif
return path;
@ -412,7 +410,7 @@ gtk_rc_append_default_module_path(void)
else
path = g_build_filename (GTK_LIBDIR, "gtk-2.0", GTK_VERSION, "engines", NULL);
#else
path = g_build_filename (get_themes_directory (), "engines", NULL);
path = g_build_filename (get_gtk_win32_directory ("gtk-2.0"), GTK_VERSION, "engines", NULL);
#endif
module_path[n++] = path;
@ -457,7 +455,7 @@ gtk_rc_add_initial_default_files (void)
#ifndef G_OS_WIN32
str = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtkrc", NULL);
#else
str = g_build_filename (g_win32_get_package_installation_directory (GETTEXT_PACKAGE, get_gtk_dll_name ()), "gtkrc", NULL);
str = g_build_filename (get_gtk_win32_directory (""), "gtkrc", NULL);
#endif
gtk_rc_add_default_file (str);