Commit bc602c30 authored by Alexandre Julliard's avatar Alexandre Julliard

server: Return the window paint flags in the get_visible_region request.

parent ca5746ad
...@@ -3415,8 +3415,10 @@ struct get_visible_region_reply ...@@ -3415,8 +3415,10 @@ struct get_visible_region_reply
user_handle_t top_win; user_handle_t top_win;
rectangle_t top_rect; rectangle_t top_rect;
rectangle_t win_rect; rectangle_t win_rect;
unsigned int paint_flags;
data_size_t total_size; data_size_t total_size;
/* VARARG(region,rectangles); */ /* VARARG(region,rectangles); */
char __pad_52[4];
}; };
...@@ -5715,6 +5717,6 @@ union generic_reply ...@@ -5715,6 +5717,6 @@ union generic_reply
struct set_suspend_context_reply set_suspend_context_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 */ #endif /* __WINE_WINE_SERVER_PROTOCOL_H */
...@@ -2460,6 +2460,7 @@ enum coords_relative ...@@ -2460,6 +2460,7 @@ enum coords_relative
user_handle_t top_win; /* top window to clip against */ user_handle_t top_win; /* top window to clip against */
rectangle_t top_rect; /* top window visible rect with screen coords */ rectangle_t top_rect; /* top window visible rect with screen coords */
rectangle_t win_rect; /* window rect in 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 */ data_size_t total_size; /* total size of the resulting region */
VARARG(region,rectangles); /* list of rectangles for the region (in screen coords) */ VARARG(region,rectangles); /* list of rectangles for the region (in screen coords) */
@END @END
......
...@@ -1626,8 +1626,9 @@ C_ASSERT( sizeof(struct get_visible_region_request) == 24 ); ...@@ -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_win) == 8 );
C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply, top_rect) == 12 ); 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, win_rect) == 28 );
C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply, total_size) == 44 ); C_ASSERT( FIELD_OFFSET(struct get_visible_region_reply, paint_flags) == 44 );
C_ASSERT( sizeof(struct get_visible_region_reply) == 48 ); 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( FIELD_OFFSET(struct get_surface_region_request, window) == 12 );
C_ASSERT( sizeof(struct get_surface_region_request) == 16 ); C_ASSERT( sizeof(struct get_surface_region_request) == 16 );
C_ASSERT( FIELD_OFFSET(struct get_surface_region_reply, visible_rect) == 8 ); C_ASSERT( FIELD_OFFSET(struct get_surface_region_reply, visible_rect) == 8 );
......
...@@ -2926,6 +2926,7 @@ static void dump_get_visible_region_reply( const struct get_visible_region_reply ...@@ -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 ); fprintf( stderr, " top_win=%08x", req->top_win );
dump_rectangle( ", top_rect=", &req->top_rect ); dump_rectangle( ", top_rect=", &req->top_rect );
dump_rectangle( ", win_rect=", &req->win_rect ); dump_rectangle( ", win_rect=", &req->win_rect );
fprintf( stderr, ", paint_flags=%08x", req->paint_flags );
fprintf( stderr, ", total_size=%u", req->total_size ); fprintf( stderr, ", total_size=%u", req->total_size );
dump_varargs_rectangles( ", region=", cur_size ); dump_varargs_rectangles( ", region=", cur_size );
} }
......
...@@ -2434,6 +2434,7 @@ DECL_HANDLER(get_visible_region) ...@@ -2434,6 +2434,7 @@ DECL_HANDLER(get_visible_region)
reply->win_rect.right = win->client_rect.right - win->client_rect.left; 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->win_rect.bottom = win->client_rect.bottom - win->client_rect.top;
} }
reply->paint_flags = win->paint_flags & PAINT_CLIENT_FLAGS;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment