Alexandre Julliard : winex11: Moved the ExposeEvent handler to event.c.
Alexandre Julliard
julliard at winehq.org
Thu Apr 17 14:43:38 CDT 2008
Module: wine
Branch: master
Commit: 585da9296d7559784c5a72474be4c9eb58ebc1c9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=585da9296d7559784c5a72474be4c9eb58ebc1c9
Author: Alexandre Julliard <julliard at winehq.org>
Date: Thu Apr 17 16:07:06 2008 +0200
winex11: Moved the ExposeEvent handler to event.c.
Use consistent naming for all event handlers.
---
dlls/winex11.drv/event.c | 85 ++++++++++++++++++++++++++++++++++++--------
dlls/winex11.drv/winpos.c | 51 ---------------------------
dlls/winex11.drv/x11drv.h | 1 -
3 files changed, 69 insertions(+), 68 deletions(-)
diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c
index 377e8f4..fc126c2 100644
--- a/dlls/winex11.drv/event.c
+++ b/dlls/winex11.drv/event.c
@@ -51,6 +51,7 @@
#include "shlobj.h" /* DROPFILES */
#include "shellapi.h"
+#include "wine/server.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(event);
@@ -72,10 +73,11 @@ extern BOOL ximInComposeMode;
#define DndURL 128 /* KDE drag&drop */
/* Event handlers */
-static void EVENT_FocusIn( HWND hwnd, XEvent *event );
-static void EVENT_FocusOut( HWND hwnd, XEvent *event );
-static void EVENT_PropertyNotify( HWND hwnd, XEvent *event );
-static void EVENT_ClientMessage( HWND hwnd, XEvent *event );
+static void X11DRV_FocusIn( HWND hwnd, XEvent *event );
+static void X11DRV_FocusOut( HWND hwnd, XEvent *event );
+static void X11DRV_Expose( HWND hwnd, XEvent *event );
+static void X11DRV_PropertyNotify( HWND hwnd, XEvent *event );
+static void X11DRV_ClientMessage( HWND hwnd, XEvent *event );
struct event_handler
{
@@ -95,8 +97,8 @@ static struct event_handler handlers[MAX_EVENT_HANDLERS] =
{ MotionNotify, X11DRV_MotionNotify },
{ EnterNotify, X11DRV_EnterNotify },
/* LeaveNotify */
- { FocusIn, EVENT_FocusIn },
- { FocusOut, EVENT_FocusOut },
+ { FocusIn, X11DRV_FocusIn },
+ { FocusOut, X11DRV_FocusOut },
{ KeymapNotify, X11DRV_KeymapNotify },
{ Expose, X11DRV_Expose },
/* GraphicsExpose */
@@ -114,12 +116,12 @@ static struct event_handler handlers[MAX_EVENT_HANDLERS] =
/* ResizeRequest */
/* CirculateNotify */
/* CirculateRequest */
- { PropertyNotify, EVENT_PropertyNotify },
+ { PropertyNotify, X11DRV_PropertyNotify },
{ SelectionClear, X11DRV_SelectionClear },
{ SelectionRequest, X11DRV_SelectionRequest },
/* SelectionNotify */
/* ColormapNotify */
- { ClientMessage, EVENT_ClientMessage },
+ { ClientMessage, X11DRV_ClientMessage },
{ MappingNotify, X11DRV_MappingNotify },
};
@@ -568,9 +570,9 @@ static const char * const focus_details[] =
};
/**********************************************************************
- * EVENT_FocusIn
+ * X11DRV_FocusIn
*/
-static void EVENT_FocusIn( HWND hwnd, XEvent *xev )
+static void X11DRV_FocusIn( HWND hwnd, XEvent *xev )
{
XFocusChangeEvent *event = &xev->xfocus;
XIC xic;
@@ -602,11 +604,11 @@ static void EVENT_FocusIn( HWND hwnd, XEvent *xev )
/**********************************************************************
- * EVENT_FocusOut
+ * X11DRV_FocusOut
*
* Note: only top-level windows get FocusOut events.
*/
-static void EVENT_FocusOut( HWND hwnd, XEvent *xev )
+static void X11DRV_FocusOut( HWND hwnd, XEvent *xev )
{
XFocusChangeEvent *event = &xev->xfocus;
HWND hwnd_tmp;
@@ -659,6 +661,57 @@ static void EVENT_FocusOut( HWND hwnd, XEvent *xev )
/***********************************************************************
+ * X11DRV_Expose
+ */
+static void X11DRV_Expose( HWND hwnd, XEvent *xev )
+{
+ XExposeEvent *event = &xev->xexpose;
+ RECT rect;
+ struct x11drv_win_data *data;
+ int flags = RDW_INVALIDATE | RDW_ERASE;
+
+ TRACE( "win %p (%lx) %d,%d %dx%d\n",
+ hwnd, event->window, event->x, event->y, event->width, event->height );
+
+ if (!(data = X11DRV_get_win_data( hwnd ))) return;
+
+ if (event->window == data->whole_window)
+ {
+ rect.left = data->whole_rect.left + event->x;
+ rect.top = data->whole_rect.top + event->y;
+ flags |= RDW_FRAME;
+ }
+ else
+ {
+ rect.left = data->client_rect.left + event->x;
+ rect.top = data->client_rect.top + event->y;
+ }
+ rect.right = rect.left + event->width;
+ rect.bottom = rect.top + event->height;
+
+ if (event->window != root_window)
+ {
+ SERVER_START_REQ( update_window_zorder )
+ {
+ req->window = hwnd;
+ req->rect.left = rect.left;
+ req->rect.top = rect.top;
+ req->rect.right = rect.right;
+ req->rect.bottom = rect.bottom;
+ wine_server_call( req );
+ }
+ SERVER_END_REQ;
+
+ /* make position relative to client area instead of parent */
+ OffsetRect( &rect, -data->client_rect.left, -data->client_rect.top );
+ flags |= RDW_ALLCHILDREN;
+ }
+
+ RedrawWindow( hwnd, &rect, 0, flags );
+}
+
+
+/***********************************************************************
* get_window_wm_state
*/
int get_window_wm_state( Display *display, struct x11drv_win_data *data )
@@ -755,9 +808,9 @@ static void handle_wm_state_notify( struct x11drv_win_data *data, XPropertyEvent
/***********************************************************************
- * EVENT_PropertyNotify
+ * X11DRV_PropertyNotify
*/
-static void EVENT_PropertyNotify( HWND hwnd, XEvent *xev )
+static void X11DRV_PropertyNotify( HWND hwnd, XEvent *xev )
{
XPropertyEvent *event = &xev->xproperty;
struct x11drv_win_data *data;
@@ -1130,9 +1183,9 @@ static const struct client_message_handler client_messages[] =
/**********************************************************************
- * EVENT_ClientMessage
+ * X11DRV_ClientMessage
*/
-static void EVENT_ClientMessage( HWND hwnd, XEvent *xev )
+static void X11DRV_ClientMessage( HWND hwnd, XEvent *xev )
{
XClientMessageEvent *event = &xev->xclient;
unsigned int i;
diff --git a/dlls/winex11.drv/winpos.c b/dlls/winex11.drv/winpos.c
index f6b75d6..8c904ad 100644
--- a/dlls/winex11.drv/winpos.c
+++ b/dlls/winex11.drv/winpos.c
@@ -61,57 +61,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(x11drv);
static const char managed_prop[] = "__wine_x11_managed";
/***********************************************************************
- * X11DRV_Expose
- */
-void X11DRV_Expose( HWND hwnd, XEvent *xev )
-{
- XExposeEvent *event = &xev->xexpose;
- RECT rect;
- struct x11drv_win_data *data;
- int flags = RDW_INVALIDATE | RDW_ERASE;
-
- TRACE( "win %p (%lx) %d,%d %dx%d\n",
- hwnd, event->window, event->x, event->y, event->width, event->height );
-
- if (!(data = X11DRV_get_win_data( hwnd ))) return;
-
- if (event->window == data->whole_window)
- {
- rect.left = data->whole_rect.left + event->x;
- rect.top = data->whole_rect.top + event->y;
- flags |= RDW_FRAME;
- }
- else
- {
- rect.left = data->client_rect.left + event->x;
- rect.top = data->client_rect.top + event->y;
- }
- rect.right = rect.left + event->width;
- rect.bottom = rect.top + event->height;
-
- if (event->window != root_window)
- {
- SERVER_START_REQ( update_window_zorder )
- {
- req->window = hwnd;
- req->rect.left = rect.left;
- req->rect.top = rect.top;
- req->rect.right = rect.right;
- req->rect.bottom = rect.bottom;
- wine_server_call( req );
- }
- SERVER_END_REQ;
-
- /* make position relative to client area instead of parent */
- OffsetRect( &rect, -data->client_rect.left, -data->client_rect.top );
- flags |= RDW_ALLCHILDREN;
- }
-
- RedrawWindow( hwnd, &rect, 0, flags );
-}
-
-
-/***********************************************************************
* update_net_wm_states
*/
static void update_net_wm_states( Display *display, struct x11drv_win_data *data )
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
index e682f07..b040e05 100644
--- a/dlls/winex11.drv/x11drv.h
+++ b/dlls/winex11.drv/x11drv.h
@@ -641,7 +641,6 @@ extern void X11DRV_MotionNotify( HWND hwnd, XEvent *event );
extern void X11DRV_EnterNotify( HWND hwnd, XEvent *event );
extern void X11DRV_KeyEvent( HWND hwnd, XEvent *event );
extern void X11DRV_KeymapNotify( HWND hwnd, XEvent *event );
-extern void X11DRV_Expose( HWND hwnd, XEvent *event );
extern void X11DRV_DestroyNotify( HWND hwnd, XEvent *event );
extern void X11DRV_MapNotify( HWND hwnd, XEvent *event );
extern void X11DRV_ConfigureNotify( HWND hwnd, XEvent *event );
More information about the wine-cvs
mailing list