Change GDK_WINDOWING_WIN32 usage to #ifdef also here.

1999-10-03  Tor Lillqvist  <tml@iki.fi>

* gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
to #ifdef also here.

* gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
Owen did to the X11 backend.

* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
ScrollWindowEx when blitting inside a window, it can't be correct
in the general case.

* gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
WM_GETMINMAXINFO is easier.

* gdk/win32/gdkimage.c (gdk_image_new): Create new image with
depth equal to the bitspixel value, not the visual's depth.

* gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
to 24 even if the bitspixel value is 32.

* gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
need to check for depth==32 when bpp==32, depth will always be 24.
This commit is contained in:
Tor Lillqvist 1999-10-02 22:42:58 +00:00 committed by Tor Lillqvist
parent b196167dbc
commit c50941c82d
54 changed files with 636 additions and 559 deletions

View File

@ -1,3 +1,27 @@
1999-10-03 Tor Lillqvist <tml@iki.fi>
* gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
to #ifdef also here.
* gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
Owen did to the X11 backend.
* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
ScrollWindowEx when blitting inside a window, it can't be correct
in the general case.
* gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
WM_GETMINMAXINFO is easier.
* gdk/win32/gdkimage.c (gdk_image_new): Create new image with
depth equal to the bitspixel value, not the visual's depth.
* gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
to 24 even if the bitspixel value is 32.
* gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
need to check for depth==32 when bpp==32, depth will always be 24.
Fri Oct 1 18:03:36 1999 Owen Taylor <otaylor@redhat.com>
* docs/Changes-1.4.txt: Started

View File

@ -1,3 +1,27 @@
1999-10-03 Tor Lillqvist <tml@iki.fi>
* gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
to #ifdef also here.
* gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
Owen did to the X11 backend.
* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
ScrollWindowEx when blitting inside a window, it can't be correct
in the general case.
* gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
WM_GETMINMAXINFO is easier.
* gdk/win32/gdkimage.c (gdk_image_new): Create new image with
depth equal to the bitspixel value, not the visual's depth.
* gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
to 24 even if the bitspixel value is 32.
* gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
need to check for depth==32 when bpp==32, depth will always be 24.
Fri Oct 1 18:03:36 1999 Owen Taylor <otaylor@redhat.com>
* docs/Changes-1.4.txt: Started

View File

@ -1,3 +1,27 @@
1999-10-03 Tor Lillqvist <tml@iki.fi>
* gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
to #ifdef also here.
* gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
Owen did to the X11 backend.
* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
ScrollWindowEx when blitting inside a window, it can't be correct
in the general case.
* gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
WM_GETMINMAXINFO is easier.
* gdk/win32/gdkimage.c (gdk_image_new): Create new image with
depth equal to the bitspixel value, not the visual's depth.
* gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
to 24 even if the bitspixel value is 32.
* gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
need to check for depth==32 when bpp==32, depth will always be 24.
Fri Oct 1 18:03:36 1999 Owen Taylor <otaylor@redhat.com>
* docs/Changes-1.4.txt: Started

View File

@ -1,3 +1,27 @@
1999-10-03 Tor Lillqvist <tml@iki.fi>
* gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
to #ifdef also here.
* gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
Owen did to the X11 backend.
* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
ScrollWindowEx when blitting inside a window, it can't be correct
in the general case.
* gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
WM_GETMINMAXINFO is easier.
* gdk/win32/gdkimage.c (gdk_image_new): Create new image with
depth equal to the bitspixel value, not the visual's depth.
* gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
to 24 even if the bitspixel value is 32.
* gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
need to check for depth==32 when bpp==32, depth will always be 24.
Fri Oct 1 18:03:36 1999 Owen Taylor <otaylor@redhat.com>
* docs/Changes-1.4.txt: Started

View File

@ -1,3 +1,27 @@
1999-10-03 Tor Lillqvist <tml@iki.fi>
* gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
to #ifdef also here.
* gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
Owen did to the X11 backend.
* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
ScrollWindowEx when blitting inside a window, it can't be correct
in the general case.
* gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
WM_GETMINMAXINFO is easier.
* gdk/win32/gdkimage.c (gdk_image_new): Create new image with
depth equal to the bitspixel value, not the visual's depth.
* gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
to 24 even if the bitspixel value is 32.
* gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
need to check for depth==32 when bpp==32, depth will always be 24.
Fri Oct 1 18:03:36 1999 Owen Taylor <otaylor@redhat.com>
* docs/Changes-1.4.txt: Started

View File

@ -1,3 +1,27 @@
1999-10-03 Tor Lillqvist <tml@iki.fi>
* gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
to #ifdef also here.
* gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
Owen did to the X11 backend.
* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
ScrollWindowEx when blitting inside a window, it can't be correct
in the general case.
* gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
WM_GETMINMAXINFO is easier.
* gdk/win32/gdkimage.c (gdk_image_new): Create new image with
depth equal to the bitspixel value, not the visual's depth.
* gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
to 24 even if the bitspixel value is 32.
* gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
need to check for depth==32 when bpp==32, depth will always be 24.
Fri Oct 1 18:03:36 1999 Owen Taylor <otaylor@redhat.com>
* docs/Changes-1.4.txt: Started

View File

@ -1,3 +1,27 @@
1999-10-03 Tor Lillqvist <tml@iki.fi>
* gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
to #ifdef also here.
* gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
Owen did to the X11 backend.
* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
ScrollWindowEx when blitting inside a window, it can't be correct
in the general case.
* gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
WM_GETMINMAXINFO is easier.
* gdk/win32/gdkimage.c (gdk_image_new): Create new image with
depth equal to the bitspixel value, not the visual's depth.
* gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
to 24 even if the bitspixel value is 32.
* gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
need to check for depth==32 when bpp==32, depth will always be 24.
Fri Oct 1 18:03:36 1999 Owen Taylor <otaylor@redhat.com>
* docs/Changes-1.4.txt: Started

View File

@ -51,7 +51,7 @@ GdkImage* gdk_image_new (GdkImageType type,
GdkVisual *visual,
gint width,
gint height);
#if GDK_WINDOWING == GDK_WINDOWING_WIN32
#ifdef GDK_WINDOWING_WIN32
GdkImage* gdk_image_bitmap_new(GdkImageType type,
GdkVisual *visual,
gint width,

View File

@ -13,7 +13,7 @@ GdkPixmap* gdk_pixmap_new (GdkWindow *window,
gint width,
gint height,
gint depth);
#if GDK_WINDOWING == GDK_WINDOWING_WIN32
#ifdef GDK_WINDOWING_WIN32
GdkPixmap* gdk_pixmap_create_on_shared_image
(GdkImage **image_return,
GdkWindow *window,

View File

@ -2772,7 +2772,7 @@ gdk_rgb_select_conv (GdkImage *image)
else if (bpp == 32 && depth == 24 && vtype == GDK_VISUAL_TRUE_COLOR &&
(mask_rgb && byte_order == GDK_MSB_FIRST))
conv = gdk_rgb_convert_0888_br;
else if (bpp == 32 && (depth == 32 || depth == 24) && vtype == GDK_VISUAL_TRUE_COLOR &&
else if (bpp == 32 && depth == 24 && vtype == GDK_VISUAL_TRUE_COLOR &&
(mask_rgb && byte_order == GDK_LSB_FIRST))
conv = gdk_rgb_convert_0888;
else if (bpp == 32 && depth == 24 && vtype == GDK_VISUAL_TRUE_COLOR &&

View File

@ -257,11 +257,6 @@ EXPORTS
gdk_threads_enter
gdk_threads_leave
gdk_threads_mutex
gdk_time_get
gdk_timer_disable
gdk_timer_enable
gdk_timer_get
gdk_timer_set
gdk_visual_get_best
gdk_visual_get_best_depth
gdk_visual_get_best_type

View File

@ -33,11 +33,10 @@
#include <limits.h>
#include <io.h>
#include <gdk/gdk.h>
#include <gdk/gdkkeysyms.h>
#include <gdk/gdki18n.h>
#include "gdkx.h"
#include "gdkinput.h"
#include "gdk.h"
#include "gdkprivate.h"
#include "gdkinputprivate.h"
#include "gdkkeysyms.h"
static void gdkx_XConvertCase (KeySym symbol,
KeySym *lower,
@ -52,15 +51,6 @@ static void gdk_exit_func (void);
static int gdk_initialized = 0; /* 1 if the library is initialized,
* 0 otherwise.
*/
static guint start; /* We use the millisecond
* timestamps from GetTickCount
*/
static gboolean timerp = TRUE; /* If TRUE use timeouts when waiting
* for Windows messages
*/
static guint32 timer_val = 20; /* Timeout in milliseconds.
*/
#ifdef G_ENABLE_DEBUG
static const GDebugKey gdk_debug_keys[] = {
{"events", GDK_DEBUG_EVENTS},
@ -118,8 +108,6 @@ gdk_init_check (int *argc,
if (g_thread_supported ())
gdk_threads_mutex = g_mutex_new ();
start = GetTickCount ();
#ifdef G_ENABLE_DEBUG
{
gchar *debug_string = getenv("GDK_DEBUG");
@ -325,113 +313,6 @@ gdk_get_use_xshm (void)
return TRUE;
}
/*
*--------------------------------------------------------------
* gdk_time_get
*
* Get the number of milliseconds since the library was
* initialized.
*
* Arguments:
*
* Results:
* The time since the library was initialized is returned.
* This time value is accurate to milliseconds even though
* a more accurate time down to the microsecond could be
* returned.
*
* Side effects:
*
*--------------------------------------------------------------
*/
guint32
gdk_time_get (void)
{
guint32 milliseconds;
guint32 end = GetTickCount ();
if (end < start)
milliseconds = 0xFFFFFFFF - (start - end) + 1;
else
milliseconds = end - start;
return milliseconds;
}
/*
*--------------------------------------------------------------
* gdk_timer_get
*
* Returns the current timer.
*
* Arguments:
*
* Results:
* Returns the current timer interval. This interval is
* in units of milliseconds.
*
* Side effects:
*
*--------------------------------------------------------------
*/
guint32
gdk_timer_get (void)
{
return timer_val;
}
/*
*--------------------------------------------------------------
* gdk_timer_set
*
* Sets the timer interval.
*
* Arguments:
* "milliseconds" is the new value for the timer.
*
* Results:
*
* Side effects:
* Calls to "gdk_event_get" will last for a maximum
* of time of "milliseconds". However, a value of 0
* milliseconds will cause "gdk_event_get" to block
* indefinately until an event is received.
*
*--------------------------------------------------------------
*/
void
gdk_timer_set (guint32 milliseconds)
{
timer_val = milliseconds;
#ifdef USE_PEEKNAMEDPIPE
/* When using PeekNamedPipe, can't have too long timeouts.
*/
if (timer_val > 10)
timer_val = 10;
else if (timer_val == 0)
timer_val = 0;
#endif
}
void
gdk_timer_enable (void)
{
timerp = TRUE;
}
void
gdk_timer_disable (void)
{
#ifdef USE_PEEKNAMEDPIPE
/* Can't disable timeouts when using PeekNamedPipe */
#else
timerp = FALSE;
#endif
}
/*
*--------------------------------------------------------------
* gdk_screen_width

View File

@ -257,11 +257,6 @@ EXPORTS
gdk_threads_enter
gdk_threads_leave
gdk_threads_mutex
gdk_time_get
gdk_timer_disable
gdk_timer_enable
gdk_timer_get
gdk_timer_set
gdk_visual_get_best
gdk_visual_get_best_depth
gdk_visual_get_best_type

View File

@ -65,10 +65,19 @@
#include <stdlib.h>
#include <string.h>
#include "gdkcc.h"
#include "gdkcolor.h"
#include "gdkx.h"
#define MAX_IMAGE_COLORS 256
typedef struct _GdkColorContextPrivate GdkColorContextPrivate;
struct _GdkColorContextPrivate
{
GdkColorContext color_context;
XStandardColormap std_cmap;
};
static guint
hash_color (gconstpointer key)
@ -102,16 +111,11 @@ pixel_sort (const void *a, const void *b)
return ((GdkColor *) a)->pixel - ((GdkColor *) b)->pixel;
}
/* XXX: This function does an XQueryColors() the hard way, because there is
* no corresponding function in Gdk.
*/
static void
my_x_query_colors (GdkColormap *colormap,
GdkColor *colors,
gint ncolors)
{
XColor *xcolors;
gint i;
for (i = 0; i < ncolors; i++)
@ -175,6 +179,7 @@ init_gray (GdkColorContext *cc)
gdouble dinc;
cc->num_colors = 256; /* Bogus, but will never get here anyway? */
cc->clut = g_new (gulong, cc->num_colors);
cstart = g_new (GdkColor, cc->num_colors);
@ -379,8 +384,9 @@ init_palette (GdkColorContext *cc)
if (cc->color_hash)
{
/* XXX: quick-and-dirty way to remove everything */
g_hash_table_foreach (cc->color_hash,
free_hash_entry,
NULL);
g_hash_table_destroy (cc->color_hash);
cc->color_hash = g_hash_table_new (hash_color, compare_colors);
}
@ -456,6 +462,7 @@ gdk_color_context_new (GdkVisual *visual,
init_bw (cc);
else
init_gray (cc);
break;
case GDK_VISUAL_TRUE_COLOR: /* shifts */
@ -497,11 +504,6 @@ gdk_color_context_new (GdkVisual *visual,
g_message ("gdk_color_context_new: screen depth is %i, no. of colors is %i\n",
cc->visual->depth, cc->num_colors));
/* check if we need to initialize a hash table */
if ((cc->mode == GDK_CC_MODE_STD_CMAP) || (cc->mode == GDK_CC_MODE_UNDEFINED))
cc->color_hash = g_hash_table_new (hash_color, compare_colors);
return (GdkColorContext *) cc;
}
@ -555,17 +557,9 @@ gdk_color_context_free (GdkColorContext *cc)
gdk_colormap_unref (cc->colormap);
/* free any palette that has been associated with this GdkColorContext */
init_palette (cc);
if (cc->color_hash)
{
g_hash_table_foreach (cc->color_hash,
free_hash_entry,
NULL);
g_hash_table_destroy (cc->color_hash);
}
g_free (cc);
}
@ -581,7 +575,7 @@ gdk_color_context_get_pixel (GdkColorContext *cc,
g_assert (failed != NULL);
*failed = FALSE;
switch (cc->mode)
{
case GDK_CC_MODE_BW:
@ -658,13 +652,14 @@ gdk_color_context_get_pixel (GdkColorContext *cc,
default:
{
GdkColor color;
GdkColor *result;
GdkColor *result = NULL;
color.red = red;
color.green = green;
color.blue = blue;
result = g_hash_table_lookup (cc->color_hash, &color);
if (cc->color_hash)
result = g_hash_table_lookup (cc->color_hash, &color);
if (!result)
{
@ -709,6 +704,9 @@ gdk_color_context_get_pixel (GdkColorContext *cc,
cnew = g_new (GdkColor, 1);
*cnew = color;
if (!cc->color_hash)
cc->color_hash = g_hash_table_new (hash_color, compare_colors);
g_hash_table_insert (cc->color_hash, cnew, cnew);
cc->clut[cc->num_allocated] = color.pixel;
@ -1367,27 +1365,14 @@ gdk_color_context_add_palette (GdkColorContext *cc,
/* restore previous mode if we aren't adding a new palette */
if (num_palette == 0)
{
/* GDK_CC_MODE_STD_CMAP uses a hash table, so we'd better initialize one */
/* XXX: here, the hash table is already initialized */
return 0;
}
/* Initialize a hash table for this palette (we need one for allocating
* the pixels in the palette using the current settings)
*/
if (cc->color_hash == NULL)
cc->color_hash = g_hash_table_new (hash_color, compare_colors);
return 0;
/* copy incoming palette */
cc->palette = g_new0(GdkColor, num_palette);
j = 0;
for (i = 0; i < num_palette; i++)
{
erg = 0;
@ -1427,6 +1412,9 @@ gdk_color_context_add_palette (GdkColorContext *cc,
if (cc->color_hash)
{
g_hash_table_foreach (cc->color_hash,
free_hash_entry,
NULL);
g_hash_table_destroy (cc->color_hash);
cc->color_hash = NULL;
}

View File

@ -31,7 +31,8 @@
#include <string.h>
#include <time.h>
#include "gdkx.h"
#include "gdkcolor.h"
#include "gdkprivate.h"
static gint gdk_colormap_match_color (GdkColormap *cmap,
GdkColor *color,
@ -173,7 +174,7 @@ terms specified in this license.
static int
alloc_color(Colormap colormap,
XColor *color,
guint *pixelp)
gulong *pixelp)
{
PALETTEENTRY entry, closeEntry;
HDC hdc;

View File

@ -31,7 +31,8 @@
#include <string.h>
#include <time.h>
#include "gdkx.h"
#include "gdkcolor.h"
#include "gdkprivate.h"
static gint gdk_colormap_match_color (GdkColormap *cmap,
GdkColor *color,
@ -173,7 +174,7 @@ terms specified in this license.
static int
alloc_color(Colormap colormap,
XColor *color,
guint *pixelp)
gulong *pixelp)
{
PALETTEENTRY entry, closeEntry;
HDC hdc;

View File

@ -19,7 +19,7 @@
#include "config.h"
#include <gdk/gdk.h>
#include "gdkcursor.h"
#include "gdkprivate.h"
static const struct { const char *name; int type; } cursors[] = {

View File

@ -19,7 +19,7 @@
#include "config.h"
#include <gdk/gdk.h>
#include "gdkcursor.h"
#include "gdkprivate.h"
static const struct { const char *name; int type; } cursors[] = {

View File

@ -31,7 +31,11 @@
#define INITGUID
#include "gdkdnd.h"
#include "gdkproperty.h"
#include "gdkprivate.h"
#include "gdkx.h"
#ifdef OLE2_DND
#include <ole2.h>
#endif
@ -59,6 +63,21 @@ typedef enum {
#ifdef OLE2_DND
#define PRINT_RIID(riid) \
g_print ("riid = %.08x-%.04x-%.04x-%.02x%.02x-%.02x%.02x%.02x%.02x%.02x%.02x", \
((gulong *) riid)[0], \
((gushort *) riid)[2], \
((gushort *) riid)[3], \
((guchar *) riid)[8], \
((guchar *) riid)[9], \
((guchar *) riid)[10], \
((guchar *) riid)[11], \
((guchar *) riid)[12], \
((guchar *) riid)[13], \
((guchar *) riid)[14], \
((guchar *) riid)[15]);
HRESULT STDMETHODCALLTYPE
m_query_interface_target (IDropTarget __RPC_FAR *This,
/* [in] */ REFIID riid,
@ -169,30 +188,20 @@ m_query_interface_target (IDropTarget __RPC_FAR *This,
*ppvObject = NULL;
g_print ("riid = %.08x-%.04x-%.04x-%.02x%.02x-%.02x%.02x%.02x%.02x%.02x%.02x",
((gulong *) riid)[0],
((gushort *) riid)[2],
((gushort *) riid)[3],
((guchar *) riid)[8],
((guchar *) riid)[9],
((guchar *) riid)[10],
((guchar *) riid)[11],
((guchar *) riid)[12],
((guchar *) riid)[13],
((guchar *) riid)[14],
((guchar *) riid)[15]);
PRINT_RIID (riid);
if (IsEqualGUID (riid, &IID_IUnknown))
{
g_print ("...IUnknown\n");
m_add_ref_target (This);
*ppvObject = This;
g_print ("...IUnknown\n");
return S_OK;
}
else if (IsEqualGUID (riid, &IID_IDropTarget))
{
g_print ("...IDropTarget\n");
m_add_ref_target (This);
*ppvObject = This;
g_print ("...IDropTarget\n");
return S_OK;
}
else
@ -280,35 +289,19 @@ m_query_interface_source (IDropSource __RPC_FAR *This,
*ppvObject = NULL;
g_print ("riid = %.02x%.02x%.02x%.02x-%.02x%.02x-%.02x%.02x-%.02x%.02x-%.02x%.02x%.02x%.02x%.02x%.02x",
((guchar *) riid)[0],
((guchar *) riid)[1],
((guchar *) riid)[2],
((guchar *) riid)[3],
((guchar *) riid)[4],
((guchar *) riid)[5],
((guchar *) riid)[6],
((guchar *) riid)[7],
((guchar *) riid)[8],
((guchar *) riid)[9],
((guchar *) riid)[10],
((guchar *) riid)[11],
((guchar *) riid)[12],
((guchar *) riid)[13],
((guchar *) riid)[14],
((guchar *) riid)[15]);
PRINT_RIID (riid);
if (IsEqualGUID (riid, &IID_IUnknown))
{
g_print ("...IUnknown\n");
m_add_ref_source (This);
*ppvObject = This;
g_print ("...IUnknown\n");
return S_OK;
}
else if (IsEqualGUID (riid, &IID_IDropSource))
{
g_print ("...IDropSource\n");
m_add_ref_source (This);
*ppvObject = This;
g_print ("...IDropSource\n");
return S_OK;
}
else
@ -817,6 +810,26 @@ gdk_drop_finish (GdkDragContext *context,
{
}
static GdkFilterReturn
gdk_destroy_filter (GdkXEvent *xev,
GdkEvent *event,
gpointer data)
{
#ifdef OLE2_DND
MSG *msg = (MSG *) xev;
if (msg->message == WM_DESTROY)
{
IDropTarget *idtp = (IDropTarget *) data;
GDK_NOTE (DND, g_print ("gdk_destroy_filter: WM_DESTROY: %#x\n", msg->hwnd));
RevokeDragDrop (msg->hwnd);
CoLockObjectExternal (idtp, FALSE, TRUE);
}
#endif
return GDK_FILTER_CONTINUE;
}
void
gdk_window_register_dnd (GdkWindow *window)
{
@ -854,6 +867,10 @@ gdk_window_register_dnd (GdkWindow *window)
}
else if (!SUCCEEDED (hres))
g_warning ("gdk_window_register_dnd: RegisterDragDrop failed");
else
{
gdk_window_add_filter (window, gdk_destroy_filter, &context->idt);
}
}
#endif
}

View File

@ -31,7 +31,11 @@
#define INITGUID
#include "gdkdnd.h"
#include "gdkproperty.h"
#include "gdkprivate.h"
#include "gdkx.h"
#ifdef OLE2_DND
#include <ole2.h>
#endif
@ -59,6 +63,21 @@ typedef enum {
#ifdef OLE2_DND
#define PRINT_RIID(riid) \
g_print ("riid = %.08x-%.04x-%.04x-%.02x%.02x-%.02x%.02x%.02x%.02x%.02x%.02x", \
((gulong *) riid)[0], \
((gushort *) riid)[2], \
((gushort *) riid)[3], \
((guchar *) riid)[8], \
((guchar *) riid)[9], \
((guchar *) riid)[10], \
((guchar *) riid)[11], \
((guchar *) riid)[12], \
((guchar *) riid)[13], \
((guchar *) riid)[14], \
((guchar *) riid)[15]);
HRESULT STDMETHODCALLTYPE
m_query_interface_target (IDropTarget __RPC_FAR *This,
/* [in] */ REFIID riid,
@ -169,30 +188,20 @@ m_query_interface_target (IDropTarget __RPC_FAR *This,
*ppvObject = NULL;
g_print ("riid = %.08x-%.04x-%.04x-%.02x%.02x-%.02x%.02x%.02x%.02x%.02x%.02x",
((gulong *) riid)[0],
((gushort *) riid)[2],
((gushort *) riid)[3],
((guchar *) riid)[8],
((guchar *) riid)[9],
((guchar *) riid)[10],
((guchar *) riid)[11],
((guchar *) riid)[12],
((guchar *) riid)[13],
((guchar *) riid)[14],
((guchar *) riid)[15]);
PRINT_RIID (riid);
if (IsEqualGUID (riid, &IID_IUnknown))
{
g_print ("...IUnknown\n");
m_add_ref_target (This);
*ppvObject = This;
g_print ("...IUnknown\n");
return S_OK;
}
else if (IsEqualGUID (riid, &IID_IDropTarget))
{
g_print ("...IDropTarget\n");
m_add_ref_target (This);
*ppvObject = This;
g_print ("...IDropTarget\n");
return S_OK;
}
else
@ -280,35 +289,19 @@ m_query_interface_source (IDropSource __RPC_FAR *This,
*ppvObject = NULL;
g_print ("riid = %.02x%.02x%.02x%.02x-%.02x%.02x-%.02x%.02x-%.02x%.02x-%.02x%.02x%.02x%.02x%.02x%.02x",
((guchar *) riid)[0],
((guchar *) riid)[1],
((guchar *) riid)[2],
((guchar *) riid)[3],
((guchar *) riid)[4],
((guchar *) riid)[5],
((guchar *) riid)[6],
((guchar *) riid)[7],
((guchar *) riid)[8],
((guchar *) riid)[9],
((guchar *) riid)[10],
((guchar *) riid)[11],
((guchar *) riid)[12],
((guchar *) riid)[13],
((guchar *) riid)[14],
((guchar *) riid)[15]);
PRINT_RIID (riid);
if (IsEqualGUID (riid, &IID_IUnknown))
{
g_print ("...IUnknown\n");
m_add_ref_source (This);
*ppvObject = This;
g_print ("...IUnknown\n");
return S_OK;
}
else if (IsEqualGUID (riid, &IID_IDropSource))
{
g_print ("...IDropSource\n");
m_add_ref_source (This);
*ppvObject = This;
g_print ("...IDropSource\n");
return S_OK;
}
else
@ -817,6 +810,26 @@ gdk_drop_finish (GdkDragContext *context,
{
}
static GdkFilterReturn
gdk_destroy_filter (GdkXEvent *xev,
GdkEvent *event,
gpointer data)
{
#ifdef OLE2_DND
MSG *msg = (MSG *) xev;
if (msg->message == WM_DESTROY)
{
IDropTarget *idtp = (IDropTarget *) data;
GDK_NOTE (DND, g_print ("gdk_destroy_filter: WM_DESTROY: %#x\n", msg->hwnd));
RevokeDragDrop (msg->hwnd);
CoLockObjectExternal (idtp, FALSE, TRUE);
}
#endif
return GDK_FILTER_CONTINUE;
}
void
gdk_window_register_dnd (GdkWindow *window)
{
@ -854,6 +867,10 @@ gdk_window_register_dnd (GdkWindow *window)
}
else if (!SUCCEEDED (hres))
g_warning ("gdk_window_register_dnd: RegisterDragDrop failed");
else
{
gdk_window_add_filter (window, gdk_destroy_filter, &context->idt);
}
}
#endif
}

View File

@ -27,7 +27,8 @@
#include "config.h"
#include <math.h>
#include <gdk/gdk.h>
#include "gdkdrawable.h"
#include "gdkprivate.h"
#ifndef G_PI
@ -558,35 +559,43 @@ gdk_draw_pixmap (GdkDrawable *drawable,
}
else
{
if ((srcdc = GetDC (src_private->xwindow)) == NULL)
g_warning ("gdk_draw_pixmap: GetDC failed");
#if 0
if (!BitBlt (hdc, xdest, ydest, width, height,
srcdc, xsrc, ysrc, SRCCOPY))
g_warning ("gdk_draw_pixmap: BitBlt failed");
#else
/* If we are in fact just blitting inside one window,
* ScrollWindowEx works better.
* Thanks to Philippe Colantoni <colanton@aris.ss.uci.edu>
* for noticing and fixing this.
*/
if (drawable_private->xwindow==src_private->xwindow)
if (drawable_private->xwindow == src_private->xwindow)
{
if (!ScrollWindowEx (drawable_private->xwindow,-xsrc+xdest, -ysrc+ydest, NULL,
NULL, NULL, NULL, SW_INVALIDATE))
g_warning ("gdk_draw_pixmap: ScrollWindowEx failed");
/* Blitting inside a window, use ScrollDC */
RECT scrollRect, clipRect, emptyRect;
HRGN updateRgn;
scrollRect.left = MIN (xsrc, xdest);
scrollRect.top = MIN (ysrc, ydest);
scrollRect.right = MAX (xsrc + width + 1, xdest + width + 1);
scrollRect.bottom = MAX (ysrc + height + 1, ydest + height + 1);
clipRect.left = xdest;
clipRect.top = ydest;
clipRect.right = xdest + width + 1;
clipRect.bottom = ydest + height + 1;
SetRectEmpty (&emptyRect);
updateRgn = CreateRectRgnIndirect (&emptyRect);
if (!ScrollDC (hdc, xdest - xsrc, ydest - ysrc,
&scrollRect, &clipRect,
updateRgn, NULL))
g_warning ("gdk_draw_pixmap: ScrollDC failed");
if (!InvalidateRgn (drawable_private->xwindow, updateRgn, FALSE))
g_warning ("gdk_draw_pixmap: InvalidateRgn failed");
if (!UpdateWindow (drawable_private->xwindow))
g_warning ("gdk_draw_pixmap: UpdateWindow failed");
}
else
if (!BitBlt (hdc, xdest, ydest, width, height,
srcdc, xsrc, ysrc, SRCCOPY))
g_warning ("gdk_draw_pixmap: BitBlt failed");
#endif
ReleaseDC (src_private->xwindow, srcdc);
{
if ((srcdc = GetDC (src_private->xwindow)) == NULL)
g_warning ("gdk_draw_pixmap: GetDC failed");
if (!BitBlt (hdc, xdest, ydest, width, height,
srcdc, xsrc, ysrc, SRCCOPY))
g_warning ("gdk_draw_pixmap: BitBlt failed");
ReleaseDC (src_private->xwindow, srcdc);
}
}
gdk_gc_postdraw (drawable_private, gc_private);
}

View File

@ -27,7 +27,8 @@
#include "config.h"
#include <math.h>
#include <gdk/gdk.h>
#include "gdkdrawable.h"
#include "gdkprivate.h"
#ifndef G_PI
@ -558,35 +559,43 @@ gdk_draw_pixmap (GdkDrawable *drawable,
}
else
{
if ((srcdc = GetDC (src_private->xwindow)) == NULL)
g_warning ("gdk_draw_pixmap: GetDC failed");
#if 0
if (!BitBlt (hdc, xdest, ydest, width, height,
srcdc, xsrc, ysrc, SRCCOPY))
g_warning ("gdk_draw_pixmap: BitBlt failed");
#else
/* If we are in fact just blitting inside one window,
* ScrollWindowEx works better.
* Thanks to Philippe Colantoni <colanton@aris.ss.uci.edu>
* for noticing and fixing this.
*/
if (drawable_private->xwindow==src_private->xwindow)
if (drawable_private->xwindow == src_private->xwindow)
{
if (!ScrollWindowEx (drawable_private->xwindow,-xsrc+xdest, -ysrc+ydest, NULL,
NULL, NULL, NULL, SW_INVALIDATE))
g_warning ("gdk_draw_pixmap: ScrollWindowEx failed");
/* Blitting inside a window, use ScrollDC */
RECT scrollRect, clipRect, emptyRect;
HRGN updateRgn;
scrollRect.left = MIN (xsrc, xdest);
scrollRect.top = MIN (ysrc, ydest);
scrollRect.right = MAX (xsrc + width + 1, xdest + width + 1);
scrollRect.bottom = MAX (ysrc + height + 1, ydest + height + 1);
clipRect.left = xdest;
clipRect.top = ydest;
clipRect.right = xdest + width + 1;
clipRect.bottom = ydest + height + 1;
SetRectEmpty (&emptyRect);
updateRgn = CreateRectRgnIndirect (&emptyRect);
if (!ScrollDC (hdc, xdest - xsrc, ydest - ysrc,
&scrollRect, &clipRect,
updateRgn, NULL))
g_warning ("gdk_draw_pixmap: ScrollDC failed");
if (!InvalidateRgn (drawable_private->xwindow, updateRgn, FALSE))
g_warning ("gdk_draw_pixmap: InvalidateRgn failed");
if (!UpdateWindow (drawable_private->xwindow))
g_warning ("gdk_draw_pixmap: UpdateWindow failed");
}
else
if (!BitBlt (hdc, xdest, ydest, width, height,
srcdc, xsrc, ysrc, SRCCOPY))
g_warning ("gdk_draw_pixmap: BitBlt failed");
#endif
ReleaseDC (src_private->xwindow, srcdc);
{
if ((srcdc = GetDC (src_private->xwindow)) == NULL)
g_warning ("gdk_draw_pixmap: GetDC failed");
if (!BitBlt (hdc, xdest, ydest, width, height,
srcdc, xsrc, ysrc, SRCCOPY))
g_warning ("gdk_draw_pixmap: BitBlt failed");
ReleaseDC (src_private->xwindow, srcdc);
}
}
gdk_gc_postdraw (drawable_private, gc_private);
}

View File

@ -29,13 +29,16 @@
#include <stdio.h>
#include <gdk/gdk.h>
#include <gdk/gdkkeysyms.h>
#include "gdk.h"
#include "gdkprivate.h"
#include "gdkx.h"
#include "gdkkeysyms.h"
#ifdef HAVE_WINTAB
#include <wintab.h>
#endif
#include "gdkinput.h"
#include "gdkinputprivate.h"
#define PING() printf("%s: %d\n",__FILE__,__LINE__),fflush(stdout)
@ -76,7 +79,8 @@ struct _GdkEventPrivate
*/
static GdkEvent *gdk_event_new (void);
static gint gdk_event_apply_filters(MSG *xevent,
static GdkFilterReturn
gdk_event_apply_filters (MSG *xevent,
GdkEvent *event,
GList *filters);
static gint gdk_event_translate (GdkEvent *event,
@ -1037,7 +1041,7 @@ gdk_input_remove (gint tag)
g_source_remove (tag);
}
static gint
static GdkFilterReturn
gdk_event_apply_filters (MSG *xevent,
GdkEvent *event,
GList *filters)
@ -1157,6 +1161,7 @@ gdk_event_translate (GdkEvent *event,
HBRUSH hbr;
RECT rect;
POINT pt;
MINMAXINFO *lpmmi;
GdkWindowPrivate *curWnd_private;
GdkEventMask mask;
int button;
@ -1211,15 +1216,6 @@ gdk_event_translate (GdkEvent *event,
PostMessage (xevent->hwnd, xevent->message,
xevent->wParam, xevent->lParam);
}
else if (xevent->message == WM_NCCREATE
|| xevent->message == WM_CREATE
|| xevent->message == WM_GETMINMAXINFO
|| xevent->message == WM_NCCALCSIZE
|| xevent->message == WM_NCDESTROY
|| xevent->message == WM_DESTROY)
{
/* Nothing */
}
return FALSE;
}
@ -1232,10 +1228,9 @@ gdk_event_translate (GdkEvent *event,
{
/* Check for filters for this window */
GdkFilterReturn result;
result = gdk_event_apply_filters (xevent, event,
window_private
?window_private->filters
:gdk_default_filters);
result = gdk_event_apply_filters
(xevent, event,
window_private ? window_private->filters : gdk_default_filters);
if (result != GDK_FILTER_CONTINUE)
{
@ -1430,7 +1425,9 @@ gdk_event_translate (GdkEvent *event,
case VK_BACK:
event->key.keyval = GDK_BackSpace; break;
case VK_TAB:
event->key.keyval = GDK_Tab; break;
event->key.keyval = (GetKeyState(VK_SHIFT) < 0 ?
GDK_ISO_Left_Tab : GDK_Tab);
break;
case VK_CLEAR:
event->key.keyval = GDK_Clear; break;
case VK_RETURN:
@ -2643,7 +2640,9 @@ gdk_event_translate (GdkEvent *event,
gdk_input_vtable.configure_event (&event->configure, window);
}
break;
#if 0 /* Bernd Herd suggests responding to WM_GETMINMAXINFO instead,
* which indeed is much easier.
*/
case WM_SIZING:
GDK_NOTE (EVENTS, g_print ("WM_SIZING: %#x\n", xevent->hwnd));
if (ret_val_flagp == NULL)
@ -2712,6 +2711,25 @@ gdk_event_translate (GdkEvent *event,
}
}
break;
#else
case WM_GETMINMAXINFO:
GDK_NOTE (EVENTS, g_print ("WM_GETMINMAXINFO: %#x\n", xevent->hwnd));
lpmmi = (MINMAXINFO*) xevent->lParam;
if (window_private->hint_flags & GDK_HINT_MIN_SIZE)
{
lpmmi->ptMinTrackSize.x = window_private->hint_min_width;
lpmmi->ptMinTrackSize.y = window_private->hint_min_height;
}
if (window_private->hint_flags & GDK_HINT_MAX_SIZE)
{
lpmmi->ptMaxTrackSize.x = window_private->hint_max_width;
lpmmi->ptMaxTrackSize.y = window_private->hint_max_height;
lpmmi->ptMaxSize.x = window_private->hint_max_width;
lpmmi->ptMaxSize.y = window_private->hint_max_height;
}
break;
#endif
case WM_MOVE:
GDK_NOTE (EVENTS, g_print ("WM_MOVE: %#x +%d+%d\n",

View File

@ -29,13 +29,16 @@
#include <stdio.h>
#include <gdk/gdk.h>
#include <gdk/gdkkeysyms.h>
#include "gdk.h"
#include "gdkprivate.h"
#include "gdkx.h"
#include "gdkkeysyms.h"
#ifdef HAVE_WINTAB
#include <wintab.h>
#endif
#include "gdkinput.h"
#include "gdkinputprivate.h"
#define PING() printf("%s: %d\n",__FILE__,__LINE__),fflush(stdout)
@ -76,7 +79,8 @@ struct _GdkEventPrivate
*/
static GdkEvent *gdk_event_new (void);
static gint gdk_event_apply_filters(MSG *xevent,
static GdkFilterReturn
gdk_event_apply_filters (MSG *xevent,
GdkEvent *event,
GList *filters);
static gint gdk_event_translate (GdkEvent *event,
@ -1037,7 +1041,7 @@ gdk_input_remove (gint tag)
g_source_remove (tag);
}
static gint
static GdkFilterReturn
gdk_event_apply_filters (MSG *xevent,
GdkEvent *event,
GList *filters)
@ -1157,6 +1161,7 @@ gdk_event_translate (GdkEvent *event,
HBRUSH hbr;
RECT rect;
POINT pt;
MINMAXINFO *lpmmi;
GdkWindowPrivate *curWnd_private;
GdkEventMask mask;
int button;
@ -1211,15 +1216,6 @@ gdk_event_translate (GdkEvent *event,
PostMessage (xevent->hwnd, xevent->message,
xevent->wParam, xevent->lParam);
}
else if (xevent->message == WM_NCCREATE
|| xevent->message == WM_CREATE
|| xevent->message == WM_GETMINMAXINFO
|| xevent->message == WM_NCCALCSIZE
|| xevent->message == WM_NCDESTROY
|| xevent->message == WM_DESTROY)
{
/* Nothing */
}
return FALSE;
}
@ -1232,10 +1228,9 @@ gdk_event_translate (GdkEvent *event,
{
/* Check for filters for this window */
GdkFilterReturn result;
result = gdk_event_apply_filters (xevent, event,
window_private
?window_private->filters
:gdk_default_filters);
result = gdk_event_apply_filters
(xevent, event,
window_private ? window_private->filters : gdk_default_filters);
if (result != GDK_FILTER_CONTINUE)
{
@ -1430,7 +1425,9 @@ gdk_event_translate (GdkEvent *event,
case VK_BACK:
event->key.keyval = GDK_BackSpace; break;
case VK_TAB:
event->key.keyval = GDK_Tab; break;
event->key.keyval = (GetKeyState(VK_SHIFT) < 0 ?
GDK_ISO_Left_Tab : GDK_Tab);
break;
case VK_CLEAR:
event->key.keyval = GDK_Clear; break;
case VK_RETURN:
@ -2643,7 +2640,9 @@ gdk_event_translate (GdkEvent *event,
gdk_input_vtable.configure_event (&event->configure, window);
}
break;
#if 0 /* Bernd Herd suggests responding to WM_GETMINMAXINFO instead,
* which indeed is much easier.
*/
case WM_SIZING:
GDK_NOTE (EVENTS, g_print ("WM_SIZING: %#x\n", xevent->hwnd));
if (ret_val_flagp == NULL)
@ -2712,6 +2711,25 @@ gdk_event_translate (GdkEvent *event,
}
}
break;
#else
case WM_GETMINMAXINFO:
GDK_NOTE (EVENTS, g_print ("WM_GETMINMAXINFO: %#x\n", xevent->hwnd));
lpmmi = (MINMAXINFO*) xevent->lParam;
if (window_private->hint_flags & GDK_HINT_MIN_SIZE)
{
lpmmi->ptMinTrackSize.x = window_private->hint_min_width;
lpmmi->ptMinTrackSize.y = window_private->hint_min_height;
}
if (window_private->hint_flags & GDK_HINT_MAX_SIZE)
{
lpmmi->ptMaxTrackSize.x = window_private->hint_max_width;
lpmmi->ptMaxTrackSize.y = window_private->hint_max_height;
lpmmi->ptMaxSize.x = window_private->hint_max_width;
lpmmi->ptMaxSize.y = window_private->hint_max_height;
}
break;
#endif
case WM_MOVE:
GDK_NOTE (EVENTS, g_print ("WM_MOVE: %#x +%d+%d\n",

View File

@ -29,7 +29,7 @@
#include <stdio.h>
#include <ctype.h>
#include <gdk/gdk.h>
#include "gdkfont.h"
#include "gdkprivate.h"
GdkFont*

View File

@ -29,7 +29,7 @@
#include <stdio.h>
#include <ctype.h>
#include <gdk/gdk.h>
#include "gdkfont.h"
#include "gdkprivate.h"
GdkFont*

View File

@ -27,7 +27,7 @@
#include "config.h"
#include <string.h>
#include <gdk/gdk.h>
#include "gdkgc.h"
#include "gdkprivate.h"
GdkGC*
@ -1013,9 +1013,36 @@ gdk_gc_predraw (GdkWindowPrivate *window_private,
if (SetTextColor (gc_private->xgc, fg) == CLR_INVALID)
g_warning ("gdk_gc_predraw: SetTextColor failed");
#if 0
switch (gc_private->fill_style)
{
case GDK_STIPPLED:
{
GdkPixmap *stipple = gc_private->stipple;
GdkPixmapPrivate *stipple_private = (GdkPixmapPrivate *) stipple;
HBITMAP hbm = stipple_private->xwindow;
if (NULL == (hbr = CreatePatternBrush (hbm)))
g_warning ("gdk_gc_predraw: CreatePatternBrush failed");
#ifdef NATIVE_WIN16
SetBrushOrg (gc_private->xgc, gc_private->ts_x_origin,
gc_private->ts_y_origin);
#else
SetBrushOrgEx(gc_private->xgc, gc_private->ts_x_origin,
gc_private->ts_y_origin, NULL);
#endif
}
break;
case GDK_SOLID:
default:
if ((hbr = CreateSolidBrush (fg)) == NULL)
g_warning ("gdk_gc_predraw: CreateSolidBrush failed");
break;
}
#else
if ((hbr = CreateSolidBrush (fg)) == NULL)
g_warning ("gdk_gc_predraw: CreateSolidBrush failed");
#endif
if (SelectObject (gc_private->xgc, hbr) == NULL)
g_warning ("gdk_gc_predraw: SelectObject #3 failed");

View File

@ -27,7 +27,7 @@
#include "config.h"
#include <string.h>
#include <gdk/gdk.h>
#include "gdkgc.h"
#include "gdkprivate.h"
GdkGC*
@ -1013,9 +1013,36 @@ gdk_gc_predraw (GdkWindowPrivate *window_private,
if (SetTextColor (gc_private->xgc, fg) == CLR_INVALID)
g_warning ("gdk_gc_predraw: SetTextColor failed");
#if 0
switch (gc_private->fill_style)
{
case GDK_STIPPLED:
{
GdkPixmap *stipple = gc_private->stipple;
GdkPixmapPrivate *stipple_private = (GdkPixmapPrivate *) stipple;
HBITMAP hbm = stipple_private->xwindow;
if (NULL == (hbr = CreatePatternBrush (hbm)))
g_warning ("gdk_gc_predraw: CreatePatternBrush failed");
#ifdef NATIVE_WIN16
SetBrushOrg (gc_private->xgc, gc_private->ts_x_origin,
gc_private->ts_y_origin);
#else
SetBrushOrgEx(gc_private->xgc, gc_private->ts_x_origin,
gc_private->ts_y_origin, NULL);
#endif
}
break;
case GDK_SOLID:
default:
if ((hbr = CreateSolidBrush (fg)) == NULL)
g_warning ("gdk_gc_predraw: CreateSolidBrush failed");
break;
}
#else
if ((hbr = CreateSolidBrush (fg)) == NULL)
g_warning ("gdk_gc_predraw: CreateSolidBrush failed");
#endif
if (SelectObject (gc_private->xgc, hbr) == NULL)
g_warning ("gdk_gc_predraw: SelectObject #3 failed");

View File

@ -24,8 +24,7 @@
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
#include <stdio.h>
#include <gdk/gdk.h>
#include "gdktypes.h"
#include "gdkprivate.h"
guint gdk_debug_flags = 0;

View File

@ -24,8 +24,7 @@
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
#include <stdio.h>
#include <gdk/gdk.h>
#include "gdktypes.h"
#include "gdkprivate.h"
guint gdk_debug_flags = 0;

View File

@ -31,8 +31,10 @@
#include <stdlib.h>
#include <string.h>
#include <gdk/gdk.h>
#include <gdk/gdki18n.h>
#include "gdkim.h"
#include "gdkpixmap.h"
#include "gdkprivate.h"
#include "gdki18n.h"
#include "gdkx.h"
/* If this variable is FALSE, it indicates that we should

View File

@ -31,8 +31,10 @@
#include <stdlib.h>
#include <string.h>
#include <gdk/gdk.h>
#include <gdk/gdki18n.h>
#include "gdkim.h"
#include "gdkpixmap.h"
#include "gdkprivate.h"
#include "gdki18n.h"
#include "gdkx.h"
/* If this variable is FALSE, it indicates that we should

View File

@ -26,7 +26,8 @@
#include "config.h"
#include <gdk/gdk.h>
#include "gdk.h" /* For gdk_error_trap_* / gdk_flush_* */
#include "gdkimage.h"
#include "gdkprivate.h"
static void gdk_image_put_normal (GdkDrawable *drawable,
@ -276,7 +277,9 @@ gdk_image_new (GdkImageType type,
gint width,
gint height)
{
return gdk_image_new_with_depth (type, visual, width, height, visual->depth);
GdkVisualPrivate *visual_private = (GdkVisualPrivate *) visual;
return gdk_image_new_with_depth (type, visual, width, height,
visual_private->xvisual->bitspixel);
}
GdkImage*

View File

@ -26,7 +26,8 @@
#include "config.h"
#include <gdk/gdk.h>
#include "gdk.h" /* For gdk_error_trap_* / gdk_flush_* */
#include "gdkimage.h"
#include "gdkprivate.h"
static void gdk_image_put_normal (GdkDrawable *drawable,
@ -276,7 +277,9 @@ gdk_image_new (GdkImageType type,
gint width,
gint height)
{
return gdk_image_new_with_depth (type, visual, width, height, visual->depth);
GdkVisualPrivate *visual_private = (GdkVisualPrivate *) visual;
return gdk_image_new_with_depth (type, visual, width, height,
visual_private->xvisual->bitspixel);
}
GdkImage*

View File

@ -31,8 +31,8 @@
#include <stdio.h>
#include <math.h>
#include <gdk/gdk.h>
#include "gdkx.h"
#include "gdkinput.h"
#include "gdkprivate.h"
#ifdef HAVE_WINTAB
#include <wintab.h>
@ -41,7 +41,7 @@
#include <pktdef.h>
#endif
#include "gdkinput.h"
#include "gdkinputprivate.h"
struct _GdkDevicePrivate {
GdkDeviceInfo info;
@ -920,8 +920,8 @@ gdk_input_win32_configure_event (GdkEventConfigure *event,
input_window = gdk_input_window_find (window);
g_return_if_fail (window != NULL);
gdk_input_get_root_relative_geometry (GDK_WINDOW_XWINDOW (window),
&root_x, &root_y);
gdk_input_get_root_relative_geometry
((((GdkWindowPrivate*) window)->xwindow), &root_x, &root_y);
input_window->root_x = root_x;
input_window->root_y = root_y;
@ -937,8 +937,8 @@ gdk_input_win32_enter_event (GdkEventCrossing *event,
input_window = gdk_input_window_find (window);
g_return_if_fail (window != NULL);
gdk_input_get_root_relative_geometry (GDK_WINDOW_XWINDOW (window),
&root_x, &root_y);
gdk_input_get_root_relative_geometry
((((GdkWindowPrivate*) window)->xwindow), &root_x, &root_y);
input_window->root_x = root_x;
input_window->root_y = root_y;

View File

@ -31,8 +31,8 @@
#include <stdio.h>
#include <math.h>
#include <gdk/gdk.h>
#include "gdkx.h"
#include "gdkinput.h"
#include "gdkprivate.h"
#ifdef HAVE_WINTAB
#include <wintab.h>
@ -41,7 +41,7 @@
#include <pktdef.h>
#endif
#include "gdkinput.h"
#include "gdkinputprivate.h"
struct _GdkDevicePrivate {
GdkDeviceInfo info;
@ -920,8 +920,8 @@ gdk_input_win32_configure_event (GdkEventConfigure *event,
input_window = gdk_input_window_find (window);
g_return_if_fail (window != NULL);
gdk_input_get_root_relative_geometry (GDK_WINDOW_XWINDOW (window),
&root_x, &root_y);
gdk_input_get_root_relative_geometry
((((GdkWindowPrivate*) window)->xwindow), &root_x, &root_y);
input_window->root_x = root_x;
input_window->root_y = root_y;
@ -937,8 +937,8 @@ gdk_input_win32_enter_event (GdkEventCrossing *event,
input_window = gdk_input_window_find (window);
g_return_if_fail (window != NULL);
gdk_input_get_root_relative_geometry (GDK_WINDOW_XWINDOW (window),
&root_x, &root_y);
gdk_input_get_root_relative_geometry
((((GdkWindowPrivate*) window)->xwindow), &root_x, &root_y);
input_window->root_x = root_x;
input_window->root_y = root_y;

View File

@ -24,8 +24,8 @@
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
#ifndef __GDK_INPUT_H__
#define __GDK_INPUT_H__
#ifndef __GDK_INPUTPRIVATE_H__
#define __GDK_INPUTPRIVATE_H__
typedef struct _GdkAxisInfo GdkAxisInfo;
typedef struct _GdkInputVTable GdkInputVTable;
@ -114,4 +114,4 @@ extern gint gdk_input_ignore_wintab;
void gdk_input_window_destroy (GdkWindow *window);
#endif /* __GDK_INPUT_H__ */
#endif /* __GDK_INPUTPRIVATE_H__ */

View File

@ -33,11 +33,10 @@
#include <limits.h>
#include <io.h>
#include <gdk/gdk.h>
#include <gdk/gdkkeysyms.h>
#include <gdk/gdki18n.h>
#include "gdkx.h"
#include "gdkinput.h"
#include "gdk.h"
#include "gdkprivate.h"
#include "gdkinputprivate.h"
#include "gdkkeysyms.h"
static void gdkx_XConvertCase (KeySym symbol,
KeySym *lower,
@ -52,15 +51,6 @@ static void gdk_exit_func (void);
static int gdk_initialized = 0; /* 1 if the library is initialized,
* 0 otherwise.
*/
static guint start; /* We use the millisecond
* timestamps from GetTickCount
*/
static gboolean timerp = TRUE; /* If TRUE use timeouts when waiting
* for Windows messages
*/
static guint32 timer_val = 20; /* Timeout in milliseconds.
*/
#ifdef G_ENABLE_DEBUG
static const GDebugKey gdk_debug_keys[] = {
{"events", GDK_DEBUG_EVENTS},
@ -118,8 +108,6 @@ gdk_init_check (int *argc,
if (g_thread_supported ())
gdk_threads_mutex = g_mutex_new ();
start = GetTickCount ();
#ifdef G_ENABLE_DEBUG
{
gchar *debug_string = getenv("GDK_DEBUG");
@ -325,113 +313,6 @@ gdk_get_use_xshm (void)
return TRUE;
}
/*
*--------------------------------------------------------------
* gdk_time_get
*
* Get the number of milliseconds since the library was
* initialized.
*
* Arguments:
*
* Results:
* The time since the library was initialized is returned.
* This time value is accurate to milliseconds even though
* a more accurate time down to the microsecond could be
* returned.
*
* Side effects:
*
*--------------------------------------------------------------
*/
guint32
gdk_time_get (void)
{
guint32 milliseconds;
guint32 end = GetTickCount ();
if (end < start)
milliseconds = 0xFFFFFFFF - (start - end) + 1;
else
milliseconds = end - start;
return milliseconds;
}
/*
*--------------------------------------------------------------
* gdk_timer_get
*
* Returns the current timer.
*
* Arguments:
*
* Results:
* Returns the current timer interval. This interval is
* in units of milliseconds.
*
* Side effects:
*
*--------------------------------------------------------------
*/
guint32
gdk_timer_get (void)
{
return timer_val;
}
/*
*--------------------------------------------------------------
* gdk_timer_set
*
* Sets the timer interval.
*
* Arguments:
* "milliseconds" is the new value for the timer.
*
* Results:
*
* Side effects:
* Calls to "gdk_event_get" will last for a maximum
* of time of "milliseconds". However, a value of 0
* milliseconds will cause "gdk_event_get" to block
* indefinately until an event is received.
*
*--------------------------------------------------------------
*/
void
gdk_timer_set (guint32 milliseconds)
{
timer_val = milliseconds;
#ifdef USE_PEEKNAMEDPIPE
/* When using PeekNamedPipe, can't have too long timeouts.
*/
if (timer_val > 10)
timer_val = 10;
else if (timer_val == 0)
timer_val = 0;
#endif
}
void
gdk_timer_enable (void)
{
timerp = TRUE;
}
void
gdk_timer_disable (void)
{
#ifdef USE_PEEKNAMEDPIPE
/* Can't disable timeouts when using PeekNamedPipe */
#else
timerp = FALSE;
#endif
}
/*
*--------------------------------------------------------------
* gdk_screen_width

View File

@ -31,7 +31,7 @@
#include <stdio.h>
#include <string.h>
#include <gdk/gdk.h>
#include "gdkpixmap.h"
#include "gdkprivate.h"
typedef struct

View File

@ -31,7 +31,7 @@
#include <stdio.h>
#include <string.h>
#include <gdk/gdk.h>
#include "gdkpixmap.h"
#include "gdkprivate.h"
typedef struct

View File

@ -49,13 +49,33 @@ extern int *__imp___mb_cur_max;
#endif
#include <time.h>
#include <gdk/gdkcursor.h>
#include <gdk/gdkevents.h>
#include <gdk/gdkfont.h>
#include <gdk/gdkgc.h>
#include <gdk/gdkim.h>
#include <gdk/gdkimage.h>
#include <gdk/gdkregion.h>
#include <gdk/gdkvisual.h>
#include <gdk/gdkwindow.h>
#include <gdk/gdktypes.h>
#define gdk_window_lookup(xid) ((GdkWindow*) gdk_xid_table_lookup (xid))
#define gdk_pixmap_lookup(xid) ((GdkPixmap*) gdk_xid_table_lookup (xid))
/* HFONTs clash with HWNDs, so add dithering to HFONTs... (hack) */
#define HFONT_DITHER 43
#define gdk_font_lookup(xid) ((GdkFont*) gdk_xid_table_lookup ((HANDLE) ((guint) xid + HFONT_DITHER)))
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* Define corresponding Windows types for some X11 types, just for laziness.
*/
#include <glib.h>
typedef HANDLE XID;
typedef PALETTEENTRY XColor;
typedef HDC GC;
@ -114,21 +134,6 @@ typedef struct {
unsigned long base_pixel;
} XStandardColormap;
extern LRESULT CALLBACK
gdk_WindowProc (HWND, UINT, WPARAM, LPARAM);
#define gdk_window_lookup(xid) ((GdkWindow*) gdk_xid_table_lookup (xid))
#define gdk_pixmap_lookup(xid) ((GdkPixmap*) gdk_xid_table_lookup (xid))
/* HFONTs clash with HWNDs, so add dithering to HFONTs... (hack) */
#define HFONT_DITHER 43
#define gdk_font_lookup(xid) ((GdkFont*) gdk_xid_table_lookup ((HANDLE) ((guint) xid + HFONT_DITHER)))
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
typedef struct _GdkWindowPrivate GdkWindowPrivate;
typedef struct _GdkWindowPrivate GdkPixmapPrivate;
typedef struct _GdkImagePrivate GdkImagePrivate;
@ -140,7 +145,6 @@ typedef struct _GdkFontPrivate GdkFontPrivate;
typedef struct _GdkCursorPrivate GdkCursorPrivate;
typedef struct _GdkEventFilter GdkEventFilter;
typedef struct _GdkClientFilter GdkClientFilter;
typedef struct _GdkColorContextPrivate GdkColorContextPrivate;
typedef struct _GdkRegionPrivate GdkRegionPrivate;
@ -313,12 +317,6 @@ struct _GdkICPrivate
#endif /* USE_XIM */
struct _GdkColorContextPrivate
{
GdkColorContext color_context;
XStandardColormap std_cmap;
};
struct _GdkRegionPrivate
{
GdkRegion region;
@ -411,6 +409,8 @@ extern GdkAtom gdk_clipboard_atom;
extern GdkAtom gdk_win32_dropfiles_atom;
extern GdkAtom gdk_ole2_dnd_atom;
extern LRESULT CALLBACK gdk_WindowProc (HWND, UINT, WPARAM, LPARAM);
/* Debugging support */
#ifdef G_ENABLE_DEBUG

View File

@ -49,13 +49,33 @@ extern int *__imp___mb_cur_max;
#endif
#include <time.h>
#include <gdk/gdkcursor.h>
#include <gdk/gdkevents.h>
#include <gdk/gdkfont.h>
#include <gdk/gdkgc.h>
#include <gdk/gdkim.h>
#include <gdk/gdkimage.h>
#include <gdk/gdkregion.h>
#include <gdk/gdkvisual.h>
#include <gdk/gdkwindow.h>
#include <gdk/gdktypes.h>
#define gdk_window_lookup(xid) ((GdkWindow*) gdk_xid_table_lookup (xid))
#define gdk_pixmap_lookup(xid) ((GdkPixmap*) gdk_xid_table_lookup (xid))
/* HFONTs clash with HWNDs, so add dithering to HFONTs... (hack) */
#define HFONT_DITHER 43
#define gdk_font_lookup(xid) ((GdkFont*) gdk_xid_table_lookup ((HANDLE) ((guint) xid + HFONT_DITHER)))
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* Define corresponding Windows types for some X11 types, just for laziness.
*/
#include <glib.h>
typedef HANDLE XID;
typedef PALETTEENTRY XColor;
typedef HDC GC;
@ -114,21 +134,6 @@ typedef struct {
unsigned long base_pixel;
} XStandardColormap;
extern LRESULT CALLBACK
gdk_WindowProc (HWND, UINT, WPARAM, LPARAM);
#define gdk_window_lookup(xid) ((GdkWindow*) gdk_xid_table_lookup (xid))
#define gdk_pixmap_lookup(xid) ((GdkPixmap*) gdk_xid_table_lookup (xid))
/* HFONTs clash with HWNDs, so add dithering to HFONTs... (hack) */
#define HFONT_DITHER 43
#define gdk_font_lookup(xid) ((GdkFont*) gdk_xid_table_lookup ((HANDLE) ((guint) xid + HFONT_DITHER)))
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
typedef struct _GdkWindowPrivate GdkWindowPrivate;
typedef struct _GdkWindowPrivate GdkPixmapPrivate;
typedef struct _GdkImagePrivate GdkImagePrivate;
@ -140,7 +145,6 @@ typedef struct _GdkFontPrivate GdkFontPrivate;
typedef struct _GdkCursorPrivate GdkCursorPrivate;
typedef struct _GdkEventFilter GdkEventFilter;
typedef struct _GdkClientFilter GdkClientFilter;
typedef struct _GdkColorContextPrivate GdkColorContextPrivate;
typedef struct _GdkRegionPrivate GdkRegionPrivate;
@ -313,12 +317,6 @@ struct _GdkICPrivate
#endif /* USE_XIM */
struct _GdkColorContextPrivate
{
GdkColorContext color_context;
XStandardColormap std_cmap;
};
struct _GdkRegionPrivate
{
GdkRegion region;
@ -411,6 +409,8 @@ extern GdkAtom gdk_clipboard_atom;
extern GdkAtom gdk_win32_dropfiles_atom;
extern GdkAtom gdk_ole2_dnd_atom;
extern LRESULT CALLBACK gdk_WindowProc (HWND, UINT, WPARAM, LPARAM);
/* Debugging support */
#ifdef G_ENABLE_DEBUG

View File

@ -27,7 +27,9 @@
#include "config.h"
#include <string.h>
#include <gdk/gdk.h>
#include "gdkproperty.h"
#include "gdkselection.h"
#include "gdkprivate.h"
GdkAtom

View File

@ -27,7 +27,9 @@
#include "config.h"
#include <string.h>
#include <gdk/gdk.h>
#include "gdkproperty.h"
#include "gdkselection.h"
#include "gdkprivate.h"
GdkAtom

View File

@ -26,7 +26,7 @@
#include "config.h"
#include <gdk/gdk.h>
#include "gdk.h"
#include "gdkprivate.h"

View File

@ -26,7 +26,7 @@
#include "config.h"
#include <gdk/gdk.h>
#include "gdk.h"
#include "gdkprivate.h"

View File

@ -26,8 +26,8 @@
#include "config.h"
#include <gdk/gdk.h>
#include "gdkx.h"
#include "gdkvisual.h"
#include "gdkprivate.h"
static void gdk_visual_decompose_mask (gulong mask,
gint *shift,
@ -167,6 +167,7 @@ gdk_visual_init (void)
}
else if (bitspixel == 24 || bitspixel == 32)
{
bitspixel = 24;
system_visual->visual.type = GDK_VISUAL_TRUE_COLOR;
system_visual->visual.red_mask = 0x00FF0000;
system_visual->visual.green_mask = 0x0000FF00;

View File

@ -26,8 +26,8 @@
#include "config.h"
#include <gdk/gdk.h>
#include "gdkx.h"
#include "gdkvisual.h"
#include "gdkprivate.h"
static void gdk_visual_decompose_mask (gulong mask,
gint *shift,
@ -167,6 +167,7 @@ gdk_visual_init (void)
}
else if (bitspixel == 24 || bitspixel == 32)
{
bitspixel = 24;
system_visual->visual.type = GDK_VISUAL_TRUE_COLOR;
system_visual->visual.red_mask = 0x00FF0000;
system_visual->visual.green_mask = 0x0000FF00;

View File

@ -28,6 +28,7 @@
#include <stdio.h>
#include <gdk/gdk.h>
#include "gdkprivate.h"
static guint gdk_xid_hash (XID *xid);

View File

@ -29,9 +29,11 @@
#include <stdlib.h>
#include <stdio.h>
#include <gdk/gdk.h>
#include "gdkevents.h"
#include "gdkwindow.h"
#include "gdkprivate.h"
#include "gdkinput.h"
#include "gdkinputprivate.h"
/* The Win API function AdjustWindowRect may return negative values
* resulting in obscured title bars. This helper function is coreccting it.

View File

@ -29,9 +29,11 @@
#include <stdlib.h>
#include <stdio.h>
#include <gdk/gdk.h>
#include "gdkevents.h"
#include "gdkwindow.h"
#include "gdkprivate.h"
#include "gdkinput.h"
#include "gdkinputprivate.h"
/* The Win API function AdjustWindowRect may return negative values
* resulting in obscured title bars. This helper function is coreccting it.

View File

@ -28,6 +28,7 @@
#include <stdio.h>
#include <gdk/gdk.h>
#include "gdkprivate.h"
static guint gdk_xid_hash (XID *xid);

View File

@ -25,7 +25,7 @@ GLIB_VER=1.3
GTK_VER=1.3
GLIB = ../../../glib
CFLAGS = $(OPTIMIZE) -I . -I ../.. -I $(WTKIT)/include -I $(GLIB) -DG_ENABLE_DEBUG -DHAVE_CONFIG_H -DGDK_VERSION=\"$(GTK_VER)\" -DNEAR= -DFAR=
CFLAGS = $(OPTIMIZE) -I . -I .. -I ../.. -I $(WTKIT)/include -I $(GLIB) -DG_ENABLE_DEBUG -DHAVE_CONFIG_H -DGDK_VERSION=\"$(GTK_VER)\" -DNEAR= -DFAR=
all: \
gdk/gdkprivate.h \
@ -68,7 +68,7 @@ gdk_OBJECTS = \
# #include <gdk/gdkprivate.h>.
# Applications that depend on GTk+ 1.3 or later should include
# gdkprivate.h and gdkx.h without the gdk/ prefix. The CFLAGS should
# gdkprivate.h and/or gdkx.h without the gdk/ prefix. The CFLAGS should
# include an -I switch pointing to the backend-specific directory
# (*this* directory in the Win32 case).
@ -92,9 +92,14 @@ gdk-$(GTK_VER).dll : $(gdk_OBJECTS) gdk.def gdkres.o libwntab32x.a
libwntab32x.a : $(WTKIT)/lib/i386/wntab32x.lib
cp $(WTKIT)/lib/i386/wntab32x.lib libwntab32x.a
.SUFFIXES: .c .o .i
.c.o :
$(CC) $(CFLAGS) -c -DGDK_COMPILATION -DG_LOG_DOMAIN=\"Gdk\" $<
.c.i :
$(CC) $(CFLAGS) -E -DGDK_COMPILATION -DG_LOG_DOMAIN=\"Gdk\" $< >$@
gdkrgb.c : ../gdkrgb.c
$(CP) ../gdkrgb.c .

View File

@ -32,7 +32,7 @@ GLIB_VER=1.3
GTK_VER=1.3
GLIB = ..\..\..\glib
CFLAGS = -I. -I..\.. -I$(WTKIT)\include -I$(GLIB) -DG_ENABLE_DEBUG -DHAVE_CONFIG_H -DGDK_VERSION=\"$(GTK_VER)\"
CFLAGS = -I. -I.. -I..\.. -I$(WTKIT)\include -I$(GLIB) -DG_ENABLE_DEBUG -DHAVE_CONFIG_H -DGDK_VERSION=\"$(GTK_VER)\"
all: \
gdk\gdkprivate.h \