public void Control_Test_02_Color() { this.ConnectClients(); try { ManualResetEvent Done = new ManualResetEvent(false); ManualResetEvent Error = new ManualResetEvent(false); this.cl = new ColorReference(0, 0, 0); this.controlClient.Set(this.client2.FullJID, "Color", new ColorReference(1, 2, 3), (sender, e) => { if (e.Ok) { Done.Set(); } else { Error.Set(); } return(Task.CompletedTask); }, null); Assert.AreEqual(0, WaitHandle.WaitAny(new WaitHandle[] { Done, Error }, 10000), "Configuration not performed correctly"); Assert.AreEqual(1, this.cl.Red); Assert.AreEqual(2, this.cl.Green); Assert.AreEqual(3, this.cl.Blue); } finally { this.DisposeClients(); } }
/// <summary> /// Gets the string value of the control parameter. /// </summary> /// <param name="Node">Node reference, if available.</param> /// <returns>String representation of the value.</returns> public override async Task <string> GetStringValue(IThingReference Node) { ColorReference Value = await this.Get(Node); if (!(Value is null)) { return(Value.ToString()); }
private void AdjustColor(ColorReference _color) { if (panel == null) { panel = this.GetComponent <Image>(); } panel.color = _color.Value; }
/// <summary> /// Exports form validation rules for the parameter. /// </summary> /// <param name="Output">Output</param> /// <param name="Node">Node reference, if available.</param> public override async Task ExportValidationRules(XmlWriter Output, IThingReference Node) { ColorReference Value = await this.Get(Node); Output.WriteStartElement("xdv", "validate", null); Output.WriteAttributeString("xmlns", "xdc", null, "urn:xmpp:xdata:color"); if (Value is null || !Value.HasAlpha) { Output.WriteAttributeString("datatype", "xdc:color"); Output.WriteElementString("xdv", "regex", null, "^[0-9a-fA-F]{6}$"); }
/// <summary> /// Gets the string value of the control parameter. /// </summary> /// <param name="Node">Node reference, if available.</param> /// <returns>String representation of the value.</returns> public override string GetStringValue(ThingReference Node) { ColorReference Value = this.Get(Node); if (Value != null) { return(Value.ToString()); } else { return(string.Empty); } }
/// <summary> /// Sets a control parameter in a remote actuator. /// </summary> /// <param name="To">Full JID of remote actuator.</param> /// <param name="ControlParameterName">Control parameter name.</param> /// <param name="Value">Value to set.</param> /// <param name="ServiceToken">Service token of original sender, if available.</param> /// <param name="DeviceToken">Device token of original sender, if available.</param> /// <param name="UserToken">User token of original sender, if available.</param> /// <param name="Callback">Method called when set operation completes or fails.</param> /// <param name="State">State object to pass on to the callback method.</param> /// <param name="Nodes">Node(s) to set the parameter on, if residing behind a concentrator.</param> public void Set(string To, string ControlParameterName, ColorReference Value, string ServiceToken, string DeviceToken, string UserToken, SetResultCallback Callback, object State, params ThingReference[] Nodes) { StringBuilder Xml = this.SetHeader(ServiceToken, DeviceToken, UserToken, Nodes); Xml.Append("<cl n='"); Xml.Append(XML.Encode(ControlParameterName)); Xml.Append("' v='"); Xml.Append(Value.ToString()); Xml.Append("'/></set>"); this.client.SendIqSet(To, Xml.ToString(), SetResultCallback, new object[] { Callback, State }); }
/// <summary> /// Gets the string value of the control parameter. /// </summary> /// <param name="Node">Node reference, if available.</param> /// <returns>String representation of the value.</returns> public override async Task <string> GetStringValue(IThingReference Node) { ColorReference Value = await this.Get(Node); if (Value != null) { return(Value.ToString()); } else { return(string.Empty); } }
/// <summary> /// Sets the value of the control parameter. /// </summary> /// <param name="Node">Node reference, if available.</param> /// <param name="Value">Value to set.</param> /// <returns>If the parameter could be set (true), or if the value was invalid (false).</returns> public bool Set(IThingReference Node, ColorReference Value) { try { this.setHandler(Node, Value); return(true); } catch (Exception ex) { Log.Critical(ex); return(false); } }
public ColorGroup(IReadOnlyList <ColorReference> colors, int row, int column, int width) { X = column; Y = row; TopLeft = colors[(row - 1) * width + (column - 1)]; TopMid = colors[(row - 1) * width + column]; TopRight = colors[(row - 1) * width + column + 1]; MidLeft = colors[row * width + (column - 1)]; Mid = colors[row * width + column]; MidRight = colors[row * width + column + 1]; BottomLeft = colors[(row + 1) * width + (column - 1)]; BottomMid = colors[(row + 1) * width + column]; BottomRight = colors[(row + 1) * width + column + 1]; }
public OperationResponse Add(ColorReference entity) { var result = new OperationResponse(); try { var dbLocator = AmbientDbContextLocator.Get <RiverdaleDBContext>(); dbLocator.Add(entity); } catch (Exception ex) { result.AddException($"Error adding Funza Color", ex); } return(result); }
/// <summary> /// Exports form validation rules for the parameter. /// </summary> /// <param name="Output">Output</param> /// <param name="Node">Node reference, if available.</param> public override void ExportValidationRules(XmlWriter Output, ThingReference Node) { ColorReference Value = this.Get(Node); Output.WriteStartElement("xdv", "validate", null); Output.WriteAttributeString("xmlns", "xdc", null, "urn:xmpp:xdata:color"); if (Value == null || !Value.HasAlpha) { Output.WriteAttributeString("datatype", "xdc:color"); Output.WriteElementString("xdv", "regex", null, "^[0-9a-fA-F]{6}$"); } else { Output.WriteAttributeString("datatype", "xdc:colorAlpha"); Output.WriteElementString("xdv", "regex", null, "^[0-9a-fA-F]{8}$"); } Output.WriteEndElement(); }
public ColorReference GetColorReference([NotNull] string ruleId, int colorIndex) { ColorReference result = null; var source = new Lazier <AspectsPaintableItem>(() => { var sourceFound = GetSource(ruleId) as AspectsPaintableItem; if (sourceFound != null) { sourceFound.ColorChanged += (sender, args) => { if (args.ColorIndex == null || args.ColorIndex == colorIndex) { result?.RaiseUpdated(); } }; } return(sourceFound); }); result = new ColorReference(() => source.Value?.GetColor(colorIndex)?.ToColor(255)); return(result); }
public void SetColor(PredefinedColor predefinedColor) { _spriteRenderer.color = ColorReference.GetColor(predefinedColor); }
/// <summary> /// Sets a control parameter in a remote actuator. /// </summary> /// <param name="To">Full JID of remote actuator.</param> /// <param name="ControlParameterName">Control parameter name.</param> /// <param name="Value">Value to set.</param> /// <param name="Callback">Method called when set operation completes or fails.</param> /// <param name="State">State object to pass on to the callback method.</param> /// <param name="Nodes">Node(s) to set the parameter on, if residing behind a concentrator.</param> public void Set(string To, string ControlParameterName, ColorReference Value, SetResultCallback Callback, object State, params ThingReference[] Nodes) { this.Set(To, ControlParameterName, Value, string.Empty, string.Empty, string.Empty, Callback, State, Nodes); }
/// <summary> /// Sets a control parameter in a remote actuator. /// </summary> /// <param name="To">Full JID of remote actuator.</param> /// <param name="ControlParameterName">Control parameter name.</param> /// <param name="Value">Value to set.</param> /// <param name="Nodes">Node(s) to set the parameter on, if residing behind a concentrator.</param> public void Set(string To, string ControlParameterName, ColorReference Value, params ThingReference[] Nodes) { this.Set(To, ControlParameterName, Value, string.Empty, string.Empty, string.Empty, null, null, Nodes); }
public override void ConnectClients() { base.ConnectClients(); Assert.AreEqual(XmppState.Connected, this.client1.State); Assert.AreEqual(XmppState.Connected, this.client2.State); this.controlClient = new ControlClient(this.client1); this.controlServer = new ControlServer(this.client2, new BooleanControlParameter("Bool", "Page1", "Bool:", "Boolean value", (sender) => Task.FromResult <bool?>(this.b), (sender, value) => { this.b = value; return(Task.CompletedTask); }), new ColorControlParameter("Color", "Page1", "Color:", "Color value", (sender) => Task.FromResult <ColorReference>(this.cl), (sender, value) => { this.cl = value; return(Task.CompletedTask); }), new DateControlParameter("Date", "Page1", "Date:", "Date value", DateTime.MinValue, DateTime.MaxValue, (sender) => Task.FromResult <DateTime?>(this.d), (sender, value) => { this.d = value; return(Task.CompletedTask); }), new DateTimeControlParameter("DateTime", "Page1", "DateTime:", "DateTime value", DateTime.MinValue, DateTime.MaxValue, (sender) => Task.FromResult <DateTime?>(this.dt), (sender, value) => { this.dt = value; return(Task.CompletedTask); }), new DoubleControlParameter("Double", "Page1", "Double:", "Double value", (sender) => Task.FromResult <double?>(this.db), (sender, value) => { this.db = value; return(Task.CompletedTask); }), new DurationControlParameter("Duration", "Page1", "Duration:", "Duration value", (sender) => Task.FromResult <Duration>(this.dr), (sender, value) => { this.dr = value; return(Task.CompletedTask); }), new EnumControlParameter("Enum", "Page1", "Enum:", "Enum value", typeof(TypeCode), (sender) => Task.FromResult <Enum>(this.e), (sender, value) => { this.e = (TypeCode)value; return(Task.CompletedTask); }), new Int32ControlParameter("Int32", "Page1", "Int32:", "Int32 value", (sender) => Task.FromResult <int?>(this.i), (sender, value) => { this.i = value; return(Task.CompletedTask); }), new Int64ControlParameter("Int64", "Page1", "Int64:", "Int64 value", (sender) => Task.FromResult <long?>(this.l), (sender, value) => { this.l = value; return(Task.CompletedTask); }), new StringControlParameter("String", "Page1", "String:", "String value", (sender) => Task.FromResult <string>(this.s), (sender, value) => { this.s = value; return(Task.CompletedTask); }), new TimeControlParameter("Time", "Page1", "Time:", "Time value", (sender) => Task.FromResult <TimeSpan?>(this.t), (sender, value) => { this.t = value; return(Task.CompletedTask); })); }
public void InitializeVisuals(PredefinedColor predefinedColor) { SetRendererColor(ColorReference.GetColor(predefinedColor)); }
public override void ConnectClients() { base.ConnectClients(); Assert.AreEqual(XmppState.Connected, this.client1.State); Assert.AreEqual(XmppState.Connected, this.client2.State); this.controlClient = new ControlClient(this.client1); this.controlServer = new ControlServer(this.client2, new BooleanControlParameter("Bool", "Page1", "Bool:", "Boolean value", (sender) => this.b, (sender, value) => this.b = value), new ColorControlParameter("Color", "Page1", "Color:", "Color value", (sender) => this.cl, (sender, value) => this.cl = value), new DateControlParameter("Date", "Page1", "Date:", "Date value", DateTime.MinValue, DateTime.MaxValue, (sender) => this.d, (sender, value) => this.d = value), new DateTimeControlParameter("DateTime", "Page1", "DateTime:", "DateTime value", DateTime.MinValue, DateTime.MaxValue, (sender) => this.dt, (sender, value) => this.dt = value), new DoubleControlParameter("Double", "Page1", "Double:", "Double value", (sender) => this.db, (sender, value) => this.db = value), new DurationControlParameter("Duration", "Page1", "Duration:", "Duration value", (sender) => this.dr, (sender, value) => this.dr = value), new EnumControlParameter("Enum", "Page1", "Enum:", "Enum value", typeof(TypeCode), (sender) => this.e, (sender, value) => this.e = (TypeCode)value), new Int32ControlParameter("Int32", "Page1", "Int32:", "Int32 value", (sender) => this.i, (sender, value) => this.i = value), new Int64ControlParameter("Int64", "Page1", "Int64:", "Int64 value", (sender) => this.l, (sender, value) => this.l = value), new StringControlParameter("String", "Page1", "String:", "String value", (sender) => this.s, (sender, value) => this.s = value), new TimeControlParameter("Time", "Page1", "Time:", "Time value", (sender) => this.t, (sender, value) => this.t = value)); }
public void ChangeColorImmediate(PredefinedColor predefinedColor) { SetRendererColor(ColorReference.GetColor(predefinedColor)); }
public void ChangeColor(PredefinedColor predefinedColor) { StartCoroutine(ChangeColorCoroutine(ColorReference.GetColor(predefinedColor))); }
// Getting SVG path element string from a traced path internal static StringBuilder AppendSegments(StringBuilder stringBuilder, IReadOnlyList <Segment> segments, ColorReference color) { // Path stringBuilder.Append($"<path {color.ToSvgString()}d=\"M {segments.First().Start.X} {segments.First().Start.Y} "); //http://stackoverflow.com/a/217814/294804 segments.Aggregate(stringBuilder, (sb, segment) => sb.Append(segment.ToPathString())).Append("Z\" />"); // Rendering control points return(segments.Where(s => s.Radius > 0).Aggregate(stringBuilder, (sb, segment) => sb.Append(segment.ToControlPointString()))); }
public ColorSelectionItem(ColorReference colorReference, int index) { Color = new SolidColorBrush(System.Windows.Media.Color.FromArgb(colorReference.A, colorReference.R, colorReference.G, colorReference.B)); Index = index; }