mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-17 14:30:15 +00:00
e6c340519c
The true diff only works if the destination keeps perfect 32bit canvas data, which is not always true. So, instead we send only changed pixels, masking the others to 0 via alpha 0.
48 lines
1.6 KiB
C
48 lines
1.6 KiB
C
typedef struct BroadwayClient BroadwayClient;
|
|
|
|
typedef struct {
|
|
int x, y;
|
|
int width, height;
|
|
} BroadwayRect;
|
|
|
|
BroadwayClient *broadway_client_new (int fd);
|
|
void broadway_client_flush (BroadwayClient *client);
|
|
void broadway_client_new_surface (BroadwayClient *client,
|
|
int id,
|
|
int x,
|
|
int y,
|
|
int w,
|
|
int h);
|
|
void broadway_client_show_surface (BroadwayClient *client,
|
|
int id);
|
|
void broadway_client_hide_surface (BroadwayClient *client,
|
|
int id);
|
|
void broadway_client_destroy_surface (BroadwayClient *client,
|
|
int id);
|
|
void broadway_client_move_surface (BroadwayClient *client,
|
|
int id,
|
|
int x,
|
|
int y);
|
|
void broadway_client_put_rgb (BroadwayClient *client,
|
|
int id,
|
|
int x,
|
|
int y,
|
|
int w,
|
|
int h,
|
|
int byte_stride,
|
|
void *data);
|
|
void broadway_client_put_rgba (BroadwayClient *client,
|
|
int id,
|
|
int x,
|
|
int y,
|
|
int w,
|
|
int h,
|
|
int byte_stride,
|
|
void *data);
|
|
void broadway_client_copy_rectangles (BroadwayClient *client,
|
|
int id,
|
|
BroadwayRect *rects,
|
|
int n_rects,
|
|
int dx,
|
|
int dy);
|