[gtk/wip/alexl/broadway7: 14/16] broadway: Change events and ops enums to straight ints



commit 56937f6fc372ff35085b7ddc3f9cb3e8e259a94f
Author: Alexander Larsson <alexl redhat com>
Date:   Fri Mar 29 11:44:46 2019 +0100

    broadway: Change events and ops enums to straight ints

 gdk/broadway/broadway-output.c   |  4 +--
 gdk/broadway/broadway-protocol.h | 67 +++++++++++++++++-----------------
 gdk/broadway/broadway-server.c   |  1 +
 gdk/broadway/broadway.js         | 77 +++++++++++++++++++---------------------
 gdk/broadway/gdkeventsource.c    |  6 ++--
 5 files changed, 75 insertions(+), 80 deletions(-)
---
diff --git a/gdk/broadway/broadway-output.c b/gdk/broadway/broadway-output.c
index 4666acb61f..b2b15f8362 100644
--- a/gdk/broadway/broadway-output.c
+++ b/gdk/broadway/broadway-output.c
@@ -114,7 +114,7 @@ broadway_output_set_next_serial (BroadwayOutput *output,
  ************************************************************************/
 
 static void
-append_char (BroadwayOutput *output, char c)
+append_uint8 (BroadwayOutput *output, guint8 c)
 {
   g_string_append_c (output->buf, c);
 }
@@ -173,7 +173,7 @@ patch_uint32 (BroadwayOutput *output, guint32 v, gsize offset)
 static void
 write_header(BroadwayOutput *output, char op)
 {
-  append_char (output, op);
+  append_uint8 (output, op);
   append_uint32 (output, output->serial++);
 }
 
diff --git a/gdk/broadway/broadway-protocol.h b/gdk/broadway/broadway-protocol.h
index 9d1c2c03d4..3f73f13771 100644
--- a/gdk/broadway/broadway-protocol.h
+++ b/gdk/broadway/broadway-protocol.h
@@ -51,44 +51,41 @@ static const char *broadway_node_type_names[] G_GNUC_UNUSED =  {
 };
 
 typedef enum {
-  BROADWAY_EVENT_ENTER = 'e',
-  BROADWAY_EVENT_LEAVE = 'l',
-  BROADWAY_EVENT_POINTER_MOVE = 'm',
-  BROADWAY_EVENT_BUTTON_PRESS = 'b',
-  BROADWAY_EVENT_BUTTON_RELEASE = 'B',
-  BROADWAY_EVENT_TOUCH = 't',
-  BROADWAY_EVENT_SCROLL = 's',
-  BROADWAY_EVENT_KEY_PRESS = 'k',
-  BROADWAY_EVENT_KEY_RELEASE = 'K',
-  BROADWAY_EVENT_GRAB_NOTIFY = 'g',
-  BROADWAY_EVENT_UNGRAB_NOTIFY = 'u',
-  BROADWAY_EVENT_CONFIGURE_NOTIFY = 'w',
-  BROADWAY_EVENT_SCREEN_SIZE_CHANGED = 'd',
-  BROADWAY_EVENT_FOCUS = 'f',
-  BROADWAY_EVENT_ROUNDTRIP_NOTIFY = 'F',
+  BROADWAY_EVENT_ENTER = 0,
+  BROADWAY_EVENT_LEAVE = 1,
+  BROADWAY_EVENT_POINTER_MOVE = 2,
+  BROADWAY_EVENT_BUTTON_PRESS = 3,
+  BROADWAY_EVENT_BUTTON_RELEASE = 4,
+  BROADWAY_EVENT_TOUCH = 5,
+  BROADWAY_EVENT_SCROLL = 6,
+  BROADWAY_EVENT_KEY_PRESS = 7,
+  BROADWAY_EVENT_KEY_RELEASE = 8,
+  BROADWAY_EVENT_GRAB_NOTIFY = 9,
+  BROADWAY_EVENT_UNGRAB_NOTIFY = 10,
+  BROADWAY_EVENT_CONFIGURE_NOTIFY = 11,
+  BROADWAY_EVENT_SCREEN_SIZE_CHANGED = 12,
+  BROADWAY_EVENT_FOCUS = 13,
+  BROADWAY_EVENT_ROUNDTRIP_NOTIFY = 14,
 } BroadwayEventType;
 
 typedef enum {
-  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_RAISE_SURFACE = 'r',
-  BROADWAY_OP_LOWER_SURFACE = 'R',
-  BROADWAY_OP_DESTROY_SURFACE = 'd',
-  BROADWAY_OP_MOVE_RESIZE = 'm',
-  BROADWAY_OP_SET_TRANSIENT_FOR = 'p',
-  BROADWAY_OP_PUT_RGB = 'i',
-  BROADWAY_OP_REQUEST_AUTH = 'l',
-  BROADWAY_OP_AUTH_OK = 'L',
-  BROADWAY_OP_DISCONNECTED = 'D',
-  BROADWAY_OP_SURFACE_UPDATE = 'b',
-  BROADWAY_OP_SET_SHOW_KEYBOARD = 'k',
-  BROADWAY_OP_UPLOAD_TEXTURE = 't',
-  BROADWAY_OP_RELEASE_TEXTURE = 'T',
-  BROADWAY_OP_SET_NODES = 'n',
-  BROADWAY_OP_ROUNDTRIP = 'F',
+  BROADWAY_OP_GRAB_POINTER = 0,
+  BROADWAY_OP_UNGRAB_POINTER = 1,
+  BROADWAY_OP_NEW_SURFACE = 2,
+  BROADWAY_OP_SHOW_SURFACE = 3,
+  BROADWAY_OP_HIDE_SURFACE = 4,
+  BROADWAY_OP_RAISE_SURFACE = 5,
+  BROADWAY_OP_LOWER_SURFACE = 6,
+  BROADWAY_OP_DESTROY_SURFACE = 7,
+  BROADWAY_OP_MOVE_RESIZE = 8,
+  BROADWAY_OP_SET_TRANSIENT_FOR = 9,
+  BROADWAY_OP_DISCONNECTED = 10,
+  BROADWAY_OP_SURFACE_UPDATE = 11,
+  BROADWAY_OP_SET_SHOW_KEYBOARD = 12,
+  BROADWAY_OP_UPLOAD_TEXTURE = 13,
+  BROADWAY_OP_RELEASE_TEXTURE = 14,
+  BROADWAY_OP_SET_NODES = 15,
+  BROADWAY_OP_ROUNDTRIP = 16,
 } BroadwayOpType;
 
 typedef struct {
diff --git a/gdk/broadway/broadway-server.c b/gdk/broadway/broadway-server.c
index d52decbeab..24fd7bf51c 100644
--- a/gdk/broadway/broadway-server.c
+++ b/gdk/broadway/broadway-server.c
@@ -622,6 +622,7 @@ parse_input_message (BroadwayInput *input, const unsigned char *message)
 
   msg.base.type = ntohl (*p++);
   msg.base.serial = ntohl (*p++);
+
   time_ = ntohl (*p++);
 
   if (time_ == 0) {
diff --git a/gdk/broadway/broadway.js b/gdk/broadway/broadway.js
index 4ab39c9627..0952399673 100644
--- a/gdk/broadway/broadway.js
+++ b/gdk/broadway/broadway.js
@@ -21,42 +21,39 @@ const BROADWAY_NODE_OP_MOVE_AFTER_CHILD = 2;
 const BROADWAY_NODE_OP_PATCH_TEXTURE = 3;
 const BROADWAY_NODE_OP_PATCH_TRANSFORM = 4;
 
-const BROADWAY_OP_GRAB_POINTER = 'g';
-const BROADWAY_OP_UNGRAB_POINTER = 'u';
-const BROADWAY_OP_NEW_SURFACE = 's';
-const BROADWAY_OP_SHOW_SURFACE = 'S';
-const BROADWAY_OP_HIDE_SURFACE = 'H';
-const BROADWAY_OP_RAISE_SURFACE = 'r';
-const BROADWAY_OP_LOWER_SURFACE = 'R';
-const BROADWAY_OP_DESTROY_SURFACE = 'd';
-const BROADWAY_OP_MOVE_RESIZE = 'm';
-const BROADWAY_OP_SET_TRANSIENT_FOR = 'p';
-const BROADWAY_OP_PUT_RGB = 'i';
-const BROADWAY_OP_REQUEST_AUTH = 'l';
-const BROADWAY_OP_AUTH_OK = 'L';
-const BROADWAY_OP_DISCONNECTED = 'D';
-const BROADWAY_OP_SURFACE_UPDATE = 'b';
-const BROADWAY_OP_SET_SHOW_KEYBOARD = 'k';
-const BROADWAY_OP_UPLOAD_TEXTURE = 't';
-const BROADWAY_OP_RELEASE_TEXTURE = 'T';
-const BROADWAY_OP_SET_NODES = 'n';
-const BROADWAY_OP_ROUNDTRIP = 'F';
-
-const BROADWAY_EVENT_ENTER = 'e';
-const BROADWAY_EVENT_LEAVE = 'l';
-const BROADWAY_EVENT_POINTER_MOVE = 'm';
-const BROADWAY_EVENT_BUTTON_PRESS = 'b';
-const BROADWAY_EVENT_BUTTON_RELEASE = 'B';
-const BROADWAY_EVENT_TOUCH = 't';
-const BROADWAY_EVENT_SCROLL = 's';
-const BROADWAY_EVENT_KEY_PRESS = 'k';
-const BROADWAY_EVENT_KEY_RELEASE = 'K';
-const BROADWAY_EVENT_GRAB_NOTIFY = 'g';
-const BROADWAY_EVENT_UNGRAB_NOTIFY = 'u';
-const BROADWAY_EVENT_CONFIGURE_NOTIFY = 'w';
-const BROADWAY_EVENT_SCREEN_SIZE_CHANGED = 'd';
-const BROADWAY_EVENT_FOCUS = 'f';
-const BROADWAY_EVENT_ROUNDTRIP_NOTIFY = 'F';
+const BROADWAY_OP_GRAB_POINTER = 0;
+const BROADWAY_OP_UNGRAB_POINTER = 1;
+const BROADWAY_OP_NEW_SURFACE = 2;
+const BROADWAY_OP_SHOW_SURFACE = 3;
+const BROADWAY_OP_HIDE_SURFACE = 4;
+const BROADWAY_OP_RAISE_SURFACE = 5;
+const BROADWAY_OP_LOWER_SURFACE = 6;
+const BROADWAY_OP_DESTROY_SURFACE = 7;
+const BROADWAY_OP_MOVE_RESIZE = 8;
+const BROADWAY_OP_SET_TRANSIENT_FOR = 9;
+const BROADWAY_OP_DISCONNECTED = 10;
+const BROADWAY_OP_SURFACE_UPDATE = 11;
+const BROADWAY_OP_SET_SHOW_KEYBOARD = 12;
+const BROADWAY_OP_UPLOAD_TEXTURE = 13;
+const BROADWAY_OP_RELEASE_TEXTURE = 14;
+const BROADWAY_OP_SET_NODES = 15;
+const BROADWAY_OP_ROUNDTRIP = 16;
+
+const BROADWAY_EVENT_ENTER = 0;
+const BROADWAY_EVENT_LEAVE = 1;
+const BROADWAY_EVENT_POINTER_MOVE = 2;
+const BROADWAY_EVENT_BUTTON_PRESS = 3;
+const BROADWAY_EVENT_BUTTON_RELEASE = 4;
+const BROADWAY_EVENT_TOUCH = 5;
+const BROADWAY_EVENT_SCROLL = 6;
+const BROADWAY_EVENT_KEY_PRESS = 7;
+const BROADWAY_EVENT_KEY_RELEASE = 8;
+const BROADWAY_EVENT_GRAB_NOTIFY = 9;
+const BROADWAY_EVENT_UNGRAB_NOTIFY = 10;
+const BROADWAY_EVENT_CONFIGURE_NOTIFY = 11;
+const BROADWAY_EVENT_SCREEN_SIZE_CHANGED = 12;
+const BROADWAY_EVENT_FOCUS = 13;
+const BROADWAY_EVENT_ROUNDTRIP_NOTIFY = 14;
 
 const DISPLAY_OP_REPLACE_CHILD = 0;
 const DISPLAY_OP_APPEND_CHILD = 1;
@@ -960,7 +957,7 @@ function handleCommands(cmd, display_commands, new_textures, modified_trees)
     while (res && cmd.pos < cmd.length) {
         var id, x, y, w, h, q, surface;
         var saved_pos = cmd.pos;
-        var command = cmd.get_char();
+        var command = cmd.get_uint8();
         lastSerial = cmd.get_32();
         switch (command) {
         case BROADWAY_OP_DISCONNECTED:
@@ -1196,8 +1193,8 @@ function BinCommands(message) {
     this.pos = 0;
 }
 
-BinCommands.prototype.get_char = function() {
-    return String.fromCharCode(this.dataview.getUint8(this.pos++));
+BinCommands.prototype.get_uint8 = function() {
+    return this.dataview.getUint8(this.pos++);
 };
 BinCommands.prototype.get_bool = function() {
     return this.dataview.getUint8(this.pos++) != 0;
@@ -1264,7 +1261,7 @@ function sendInput(cmd, args)
     if (inputSocket == null)
         return;
 
-    var fullArgs = [cmd.charCodeAt(0), lastSerial, lastTimeStamp].concat(args);
+    var fullArgs = [cmd, lastSerial, lastTimeStamp].concat(args);
     var buffer = new ArrayBuffer(fullArgs.length * 4);
     var view = new DataView(buffer);
     fullArgs.forEach(function(arg, i) {
diff --git a/gdk/broadway/gdkeventsource.c b/gdk/broadway/gdkeventsource.c
index b9f0cdfe27..f0672bd8c4 100644
--- a/gdk/broadway/gdkeventsource.c
+++ b/gdk/broadway/gdkeventsource.c
@@ -160,14 +160,14 @@ _gdk_broadway_events_got_input (GdkDisplay *display,
     break;
   case BROADWAY_EVENT_BUTTON_PRESS:
   case BROADWAY_EVENT_BUTTON_RELEASE:
-    if (message->base.type != 'b' &&
+    if (message->base.type != BROADWAY_EVENT_BUTTON_PRESS &&
         _gdk_broadway_moveresize_handle_event (display, message))
       break;
 
     surface = g_hash_table_lookup (display_broadway->id_ht, GINT_TO_POINTER 
(message->pointer.event_surface_id));
     if (surface)
       {
-        event = gdk_event_new (message->base.type == 'b' ? GDK_BUTTON_PRESS : GDK_BUTTON_RELEASE);
+        event = gdk_event_new (message->base.type == BROADWAY_EVENT_BUTTON_PRESS ? GDK_BUTTON_PRESS : 
GDK_BUTTON_RELEASE);
         event->any.surface = g_object_ref (surface);
         event->button.time = message->base.time;
         event->button.x = message->pointer.win_x;
@@ -262,7 +262,7 @@ _gdk_broadway_events_got_input (GdkDisplay *display,
                                   GINT_TO_POINTER (message->key.surface_id));
     if (surface)
       {
-        event = gdk_event_new (message->base.type == 'k' ? GDK_KEY_PRESS : GDK_KEY_RELEASE);
+        event = gdk_event_new (message->base.type == BROADWAY_EVENT_KEY_PRESS ? GDK_KEY_PRESS : 
GDK_KEY_RELEASE);
         event->any.surface = g_object_ref (surface);
         event->key.time = message->base.time;
         event->key.keyval = message->key.key;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]