public void WriteToStream(PacketStream stream) { stream.WriteUInt32(AtomID); stream.WriteByte((byte)IconX); stream.WriteByte((byte)IconY); stream.WriteScreenLocation(ScreenLocation); stream.WriteBool(ModifierShift); stream.WriteBool(ModifierCtrl); stream.WriteBool(ModifierAlt); }
public void WriteToStream(PacketStream stream) { stream.WriteBool(ConnectionSuccessful); if (!ConnectionSuccessful) { stream.WriteString(ErrorMessage); } }
public void WriteToStream(PacketStream stream) { stream.WriteString((Window != null) ? Window : String.Empty); stream.WriteBool(HtmlSource != null); if (HtmlSource != null) { stream.WriteString(HtmlSource); } stream.WriteUInt16((UInt16)Size.Width); stream.WriteUInt16((UInt16)Size.Height); }
public void WriteToStream(PacketStream stream) { stream.WriteByte((byte)InterfaceDescriptor.WindowDescriptors.Count); foreach (WindowDescriptor windowDescriptor in InterfaceDescriptor.WindowDescriptors) { stream.WriteString(windowDescriptor.Name); stream.WriteByte((byte)windowDescriptor.ElementDescriptors.Count); foreach (ElementDescriptor elementDescriptor in windowDescriptor.ElementDescriptors) { stream.WriteString(elementDescriptor.Name); if (elementDescriptor is ElementDescriptorMain) { stream.WriteByte((byte)DescriptorType.Main); } else if (elementDescriptor is ElementDescriptorChild) { stream.WriteByte((byte)DescriptorType.Child); } else if (elementDescriptor is ElementDescriptorInput) { stream.WriteByte((byte)DescriptorType.Input); } else if (elementDescriptor is ElementDescriptorButton) { stream.WriteByte((byte)DescriptorType.Button); } else if (elementDescriptor is ElementDescriptorOutput) { stream.WriteByte((byte)DescriptorType.Output); } else if (elementDescriptor is ElementDescriptorInfo) { stream.WriteByte((byte)DescriptorType.Info); } else if (elementDescriptor is ElementDescriptorMap) { stream.WriteByte((byte)DescriptorType.Map); } else if (elementDescriptor is ElementDescriptorBrowser) { stream.WriteByte((byte)DescriptorType.Browser); } else { throw new Exception("Invalid descriptor"); } if (elementDescriptor.Pos.HasValue) { stream.WriteByte((byte)AttributeType.Pos); stream.WriteUInt16((UInt16)elementDescriptor.Pos.Value.X); stream.WriteUInt16((UInt16)elementDescriptor.Pos.Value.Y); } if (elementDescriptor.Size.HasValue) { stream.WriteByte((byte)AttributeType.Size); stream.WriteUInt16((UInt16)elementDescriptor.Size.Value.Width); stream.WriteUInt16((UInt16)elementDescriptor.Size.Value.Height); } if (elementDescriptor.Anchor1.HasValue) { stream.WriteByte((byte)AttributeType.Anchor1); stream.WriteUInt16((UInt16)elementDescriptor.Anchor1.Value.X); stream.WriteUInt16((UInt16)elementDescriptor.Anchor1.Value.Y); } if (elementDescriptor.Anchor2.HasValue) { stream.WriteByte((byte)AttributeType.Anchor2); stream.WriteUInt16((UInt16)elementDescriptor.Anchor2.Value.X); stream.WriteUInt16((UInt16)elementDescriptor.Anchor2.Value.Y); } if (elementDescriptor.BackgroundColor.HasValue) { stream.WriteByte((byte)AttributeType.BackgroundColor); stream.WriteByte(elementDescriptor.BackgroundColor.Value.R); stream.WriteByte(elementDescriptor.BackgroundColor.Value.G); stream.WriteByte(elementDescriptor.BackgroundColor.Value.B); } if (elementDescriptor.IsVisible != default) { stream.WriteByte((byte)AttributeType.IsVisible); stream.WriteBool(elementDescriptor.IsVisible.Value); } if (elementDescriptor.IsDefault != default) { stream.WriteByte((byte)AttributeType.IsDefault); stream.WriteBool(elementDescriptor.IsDefault); } ElementDescriptorMain elementMainDescriptor = elementDescriptor as ElementDescriptorMain; if (elementMainDescriptor != null) { if (elementMainDescriptor.IsPane != default) { stream.WriteByte((byte)AttributeType.IsPane); stream.WriteBool(elementMainDescriptor.IsPane); } } ElementDescriptorChild elementChildDescriptor = elementDescriptor as ElementDescriptorChild; if (elementChildDescriptor != null) { if (elementChildDescriptor.Left != null) { stream.WriteByte((byte)AttributeType.Left); stream.WriteString(elementChildDescriptor.Left); } if (elementChildDescriptor.Right != null) { stream.WriteByte((byte)AttributeType.Right); stream.WriteString(elementChildDescriptor.Right); } if (elementChildDescriptor.IsVert != default) { stream.WriteByte((byte)AttributeType.IsVert); stream.WriteBool(elementChildDescriptor.IsVert); } } ElementDescriptorButton elementButtonDescriptor = elementDescriptor as ElementDescriptorButton; if (elementButtonDescriptor != null) { if (elementButtonDescriptor.Text != null) { stream.WriteByte((byte)AttributeType.Text); stream.WriteString(elementButtonDescriptor.Text); } } stream.WriteByte((byte)AttributeType.End); } } }