broadway: Add OPs top protocol
This commit is contained in:
@@ -19,6 +19,20 @@ typedef enum {
|
|||||||
BROADWAY_EVENT_SCREEN_SIZE_CHANGED = 'd'
|
BROADWAY_EVENT_SCREEN_SIZE_CHANGED = 'd'
|
||||||
} BroadwayEventType;
|
} BroadwayEventType;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
BROADWAY_OP_COPY_RECTANGLES = 'b',
|
||||||
|
BROADWAY_OP_GRAB_POINTER = 'g',
|
||||||
|
BROADWAY_OP_UNGRAB_POINTER = 'u',
|
||||||
|
BROADWAY_OP_NEW_SURFACE = 's',
|
||||||
|
BROADWAY_OP_SHOW_SURFACE = 'S',
|
||||||
|
BROADWAY_OP_HIDE_SURFACE = 'H',
|
||||||
|
BROADWAY_OP_DESTROY_SURFACE = 'd',
|
||||||
|
BROADWAY_OP_MOVE_RESIZE = 'm',
|
||||||
|
BROADWAY_OP_SET_TRANSIENT_FOR = 'p',
|
||||||
|
BROADWAY_OP_PUT_RGB = 'i',
|
||||||
|
BROADWAY_OP_FLUSH = 'f',
|
||||||
|
} BroadwayOpType;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
guint8 type;
|
guint8 type;
|
||||||
guint32 serial;
|
guint32 serial;
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
#include <cairo.h>
|
#include <cairo.h>
|
||||||
|
|
||||||
#include "broadway.h"
|
#include "broadway.h"
|
||||||
|
#include "broadway-protocol.h"
|
||||||
|
|
||||||
/************************************************************************
|
/************************************************************************
|
||||||
* Base64 functions *
|
* Base64 functions *
|
||||||
@@ -422,7 +423,7 @@ broadway_output_copy_rectangles (BroadwayOutput *output, int id,
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
write_header (output, 'b');
|
write_header (output, BROADWAY_OP_COPY_RECTANGLES);
|
||||||
append_uint16 (output, id);
|
append_uint16 (output, id);
|
||||||
append_uint16 (output, n_rects);
|
append_uint16 (output, n_rects);
|
||||||
for (i = 0; i < n_rects; i++)
|
for (i = 0; i < n_rects; i++)
|
||||||
@@ -441,7 +442,7 @@ broadway_output_grab_pointer (BroadwayOutput *output,
|
|||||||
int id,
|
int id,
|
||||||
gboolean owner_event)
|
gboolean owner_event)
|
||||||
{
|
{
|
||||||
write_header (output, 'g');
|
write_header (output, BROADWAY_OP_GRAB_POINTER);
|
||||||
append_uint16 (output, id);
|
append_uint16 (output, id);
|
||||||
append_bool (output, owner_event);
|
append_bool (output, owner_event);
|
||||||
}
|
}
|
||||||
@@ -452,7 +453,7 @@ broadway_output_ungrab_pointer (BroadwayOutput *output)
|
|||||||
guint32 serial;
|
guint32 serial;
|
||||||
|
|
||||||
serial = output->serial;
|
serial = output->serial;
|
||||||
write_header (output, 'u');
|
write_header (output, BROADWAY_OP_UNGRAB_POINTER);
|
||||||
|
|
||||||
return serial;
|
return serial;
|
||||||
}
|
}
|
||||||
@@ -462,7 +463,7 @@ broadway_output_new_surface(BroadwayOutput *output,
|
|||||||
int id, int x, int y, int w, int h,
|
int id, int x, int y, int w, int h,
|
||||||
gboolean is_temp)
|
gboolean is_temp)
|
||||||
{
|
{
|
||||||
write_header (output, 's');
|
write_header (output, BROADWAY_OP_NEW_SURFACE);
|
||||||
append_uint16 (output, id);
|
append_uint16 (output, id);
|
||||||
append_uint16 (output, x);
|
append_uint16 (output, x);
|
||||||
append_uint16 (output, y);
|
append_uint16 (output, y);
|
||||||
@@ -474,21 +475,21 @@ broadway_output_new_surface(BroadwayOutput *output,
|
|||||||
void
|
void
|
||||||
broadway_output_show_surface(BroadwayOutput *output, int id)
|
broadway_output_show_surface(BroadwayOutput *output, int id)
|
||||||
{
|
{
|
||||||
write_header (output, 'S');
|
write_header (output, BROADWAY_OP_SHOW_SURFACE);
|
||||||
append_uint16 (output, id);
|
append_uint16 (output, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
broadway_output_hide_surface(BroadwayOutput *output, int id)
|
broadway_output_hide_surface(BroadwayOutput *output, int id)
|
||||||
{
|
{
|
||||||
write_header (output, 'H');
|
write_header (output, BROADWAY_OP_HIDE_SURFACE);
|
||||||
append_uint16 (output, id);
|
append_uint16 (output, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
broadway_output_destroy_surface(BroadwayOutput *output, int id)
|
broadway_output_destroy_surface(BroadwayOutput *output, int id)
|
||||||
{
|
{
|
||||||
write_header (output, 'd');
|
write_header (output, BROADWAY_OP_DESTROY_SURFACE);
|
||||||
append_uint16 (output, id);
|
append_uint16 (output, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -508,7 +509,7 @@ broadway_output_move_resize_surface (BroadwayOutput *output,
|
|||||||
if (!has_pos && !has_size)
|
if (!has_pos && !has_size)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
write_header (output, 'm');
|
write_header (output, BROADWAY_OP_MOVE_RESIZE);
|
||||||
val = (!!has_pos) | ((!!has_size) << 1);
|
val = (!!has_pos) | ((!!has_size) << 1);
|
||||||
append_uint16 (output, id);
|
append_uint16 (output, id);
|
||||||
append_flags (output, val);
|
append_flags (output, val);
|
||||||
@@ -529,7 +530,7 @@ broadway_output_set_transient_for (BroadwayOutput *output,
|
|||||||
int id,
|
int id,
|
||||||
int parent_id)
|
int parent_id)
|
||||||
{
|
{
|
||||||
write_header (output, 'p');
|
write_header (output, BROADWAY_OP_SET_TRANSIENT_FOR);
|
||||||
append_uint16 (output, id);
|
append_uint16 (output, id);
|
||||||
append_uint16 (output, parent_id);
|
append_uint16 (output, parent_id);
|
||||||
}
|
}
|
||||||
@@ -541,7 +542,7 @@ broadway_output_put_rgb (BroadwayOutput *output, int id, int x, int y,
|
|||||||
{
|
{
|
||||||
gsize size_start, image_start, len;
|
gsize size_start, image_start, len;
|
||||||
|
|
||||||
write_header (output, 'i');
|
write_header (output, BROADWAY_OP_PUT_RGB);
|
||||||
|
|
||||||
append_uint16 (output, id);
|
append_uint16 (output, id);
|
||||||
append_uint16 (output, x);
|
append_uint16 (output, x);
|
||||||
@@ -798,7 +799,7 @@ broadway_output_put_rgba (BroadwayOutput *output, int id, int x, int y,
|
|||||||
{
|
{
|
||||||
guint8 *subdata;
|
guint8 *subdata;
|
||||||
|
|
||||||
write_header (output, 'i');
|
write_header (output, BROADWAY_OP_PUT_RGB);
|
||||||
append_uint16 (output, id);
|
append_uint16 (output, id);
|
||||||
append_uint16 (output, x + rects[i].x1);
|
append_uint16 (output, x + rects[i].x1);
|
||||||
append_uint16 (output, y + rects[i].y1);
|
append_uint16 (output, y + rects[i].y1);
|
||||||
@@ -830,6 +831,6 @@ void
|
|||||||
broadway_output_surface_flush (BroadwayOutput *output,
|
broadway_output_surface_flush (BroadwayOutput *output,
|
||||||
int id)
|
int id)
|
||||||
{
|
{
|
||||||
write_header (output, 'f');
|
write_header (output, BROADWAY_OP_FLUSH);
|
||||||
append_uint16 (output, id);
|
append_uint16 (output, id);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user