Exemple #1
0
        public void LoplaPainter(SKCanvas canvas, ILoplaMessage m)
        {
            switch (m)
            {
            case SetColor setColor:
                _paintDevice.Color = new SKColor(setColor.Color.R, setColor.Color.G, setColor.Color.B, 255);
                break;

            case Clear clear:
                if (clear.Color != null)
                {
                    canvas.Clear(new SKColor(clear.Color.R, clear.Color.G, clear.Color.B, 255));
                }
                else
                {
                    canvas.Clear();
                }
                TextReset();
                break;

            case Log log:
                Log(canvas, log);
                break;

            case Line line:
                Line(canvas, line);
                break;

            case Box box:
                Box(canvas, box);
                break;

            case Animation animation:
                Animation(canvas, animation);
                break;

            case Image img:
                Image(canvas, img);
                break;

            case Write text:
                Write(canvas, text);
                break;

            case Text text:
                Text(canvas, text);
                break;

            case Flush f:
                Flush(canvas, f);
                break;

            case SetCanvas c:
                SetCanvas(canvas, c);
                break;
            }
        }
Exemple #2
0
 public void Perform(ILoplaMessage instruction)
 {
     using (var canvas = new SKCanvas(_bitMap))
     {
         lock (this)
         {
             _renderer.LoplaPainter(canvas, instruction);
         }
     }
 }
Exemple #3
0
 protected virtual void OnRun(Action <ILoplaMessage> action, ILoplaMessage message)
 {
     action.Invoke(message);
 }