Alexandre Julliard : server: Return the window paint flags in the get_visible_region request.
Alexandre Julliard
julliard at winehq.org
Mon Feb 11 13:06:32 CST 2013
Module: wine
Branch: master
Commit: bc602c3060692f3c6e9b1cca2a3eaa9299f4d6b6
URL: http://source.winehq.org/git/wine.git/?a=commit;h=bc602c3060692f3c6e9b1cca2a3eaa9299f4d6b6
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Feb 11 17:14:17 2013 +0100
server: Return the window paint flags in the get_visible_region request.
---
include/wine/server_protocol.h | 4 +++-
server/protocol.def | 1 +
server/request.h | 5 +++--
server/trace.c | 1 +
server/window.c | 1 +
5 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/include/wine/server_protocol.h b/include/wine/server_protocol.h
index 99bcfae..8a8a0ed 100644
--- a/include/wine/server_protocol.h
+++ b/include/wine/server_protocol.h
@@ -3415,8 +3415,10 @@ struct get_visible_region_reply
user_handle_t top_win;
rectangle_t top_rect;
rectangle_t win_rect;
+ unsigned int paint_flags;
data_size_t total_size;
/* VARARG(region,rectangles); */
+ char __pad_52[4];
};
@@ -5715,6 +5717,6 @@ union generic_reply
struct set_suspend_context_reply set_suspend_context_reply;
};
-#define SERVER_PROTOCOL_VERSION 438
+#define SERVER_PROTOCOL_VERSION 439
#endif /* __WINE_WINE_SERVER_PROTOCOL_H */
diff --git a/server/protocol.def b/server/protocol.def
index 4038e48..7bb679a 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -2460,6 +2460,7 @@ enum coords_relative
user_handle_t top_win; /* top window to clip against */
rectangle_t top_rect; /* top window visible rect with screen coords */
rectangle_t win_rect; /* window rect in screen coords */
+ unsigned int paint_flags; /* paint flags (from SET_WINPOS_* flags) */
data_size_t total_size; /* total size of the resulting region */
VARARG(region,rectangles); /* list of rectangles for the region (in screen coords) */
@END
diff --git a/server/request.h b/server/request.h
index f566e0d..b1b816f 100644
--- a/server/request.h
+++ b/server/request.h
@@ -1626,8 +1626,9 @@ C_ASSERT( sizeof(struct get_visible_region_request) == 24 );
C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply, top_win) == 8 );
C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply, top_rect) == 12 );
C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply, win_rect) == 28 );
-C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply, total_size) == 44 );
-C_ASSERT( sizeof(struct get_visible_region_reply) == 48 );
+C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply, paint_flags) == 44 );
+C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply, total_size) == 48 );
+C_ASSERT( sizeof(struct get_visible_region_reply) == 56 );
C_ASSERT( FIELD_OFFSET(struct get_surface_region_request, window) == 12 );
C_ASSERT( sizeof(struct get_surface_region_request) == 16 );
C_ASSERT( FIELD_OFFSET(struct get_surface_region_reply, visible_rect) == 8 );
diff --git a/server/trace.c b/server/trace.c
index 41c5424..c7a13d8 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -2926,6 +2926,7 @@ static void dump_get_visible_region_reply( const struct get_visible_region_reply
fprintf( stderr, " top_win=%08x", req->top_win );
dump_rectangle( ", top_rect=", &req->top_rect );
dump_rectangle( ", win_rect=", &req->win_rect );
+ fprintf( stderr, ", paint_flags=%08x", req->paint_flags );
fprintf( stderr, ", total_size=%u", req->total_size );
dump_varargs_rectangles( ", region=", cur_size );
}
diff --git a/server/window.c b/server/window.c
index fbe522a..e141f93 100644
--- a/server/window.c
+++ b/server/window.c
@@ -2434,6 +2434,7 @@ DECL_HANDLER(get_visible_region)
reply->win_rect.right = win->client_rect.right - win->client_rect.left;
reply->win_rect.bottom = win->client_rect.bottom - win->client_rect.top;
}
+ reply->paint_flags = win->paint_flags & PAINT_CLIENT_FLAGS;
}
More information about the wine-cvs
mailing list