void selectNext() { if (++_index >= _texts.Length) { _index = 0; } _current = _texts[_index]; _state = State.Idle; _timer = new(_current.TimeIdle); _pos = new(300, _current.YPosition); }
public MarqueeText_o(MarqueeText marqueeText) { b = marqueeText.Brightness; i = marqueeText.Inverted; s = marqueeText.Speed; p = marqueeText.Pause; eI = marqueeText.EffectIn; eO = marqueeText.EffectOut; a = marqueeText.Alignment; t = marqueeText.Text; l = marqueeText.Loop; }
private static void UpdateDisplay() { if (Port == null || !Port.IsOpen) { log("UpdateDisplay", "Could not update display, no serial connection present!"); Thread.Sleep(1000); Port = PrepareSerialPort(); //Environment.Exit(1); //return; } long difference = balanceTarget - balanceCurrent; double factor = DateTime.Now.Subtract(dataTime).Divide(RemoteUpdateInterval); long inbetween = balanceCurrent + (long)(difference * factor); displayValue = (decimal)((inbetween * rate) / Math.Pow(10, 18)); MarqueeText marqueeText = new MarqueeText() { Alignment = TextPosition.PA_CENTER, Brightness = 3, EffectIn = TextEffect.PA_NO_EFFECT, EffectOut = TextEffect.PA_NO_EFFECT, Inverted = false, Loop = true, Pause = 1000, Speed = 0, Text = "$ " + displayValue.ToString("00.000000"), }; string json = JsonConvert.SerializeObject(new MarqueeText_o(marqueeText), Formatting.None); Port.WriteLine(json); //log( "UpdateDisplay", String.Format( "current: {0}, inbetween: {1}, target: {2}", balanceCurrent, inbetween, balanceTarget ) ); }