/// <summary> /// Decode a Gesture Control packet from the byte stream /// </summary> /// <param name="buffer"></param> /// <param name="index"></param> /// <param name="rate"></param> /// <returns></returns> private static GestureId DecodeGestureControl(byte[] buffer, ref int index, out bool enabled) { GestureControlPacket status = DeserializePacket <GestureControlPacket>(buffer, ref index); enabled = (status.enabled != 0); return((GestureId)status.gestureId); }
/// <summary> /// Encode a Gesture Control packet into the specified buffer /// </summary> /// <param name="buffer"></param> /// <param name="index"></param> /// <param name="gesture"></param> /// <param name="enabled"></param> public static void EncodeGestureControl(byte[] buffer, ref int index, GestureId gesture, bool enabled) { // Encode header PacketHeader header = new PacketHeader(PacketTypeCode.GestureControl); SerializePacket(buffer, ref index, header); // Encode payload GestureControlPacket packet = new GestureControlPacket { gestureId = (int)gesture, enabled = (byte)(enabled ? 1 : 0) }; SerializePacket(buffer, ref index, packet); // Encode footer SerializePacket(buffer, ref index, _footer); }