Beispiel #1
0
        public override void Paint(IComponentPainter painter)
        {
            module.Presentation.Paint(painter);

            ModuleInstance instance   = painter.Instance as ModuleInstance;
            int            glassColor = 0;

            switch (instance.PokeState)
            {
            case ModuleInstance.FirstDepress:
                glassColor = 0xFF9999;
                break;

            case ModuleInstance.Touched:
                glassColor = 0;
                break;

            case ModuleInstance.SecondDepress:
                glassColor = 0xA00000;
                break;

            default:
                glassColor = 0xBBBBBB;
                break;
            }
            Bounds bds    = this.OffsetBounds;
            int    glassX = bds.X + bds.Width / 2 - 4;
            int    glassY = bds.Y + bds.Height / 2 - 4;

            painter.Color       = glassColor;
            painter.StrokeWidth = 4;
            painter.StrokeCircle(glassX, glassY, 14);
            painter.StrokeLine(glassX + 10, glassY + 10, glassX + 18, glassY + 18);
        }
Beispiel #2
0
 public override void Paint(IComponentPainter painter)
 {
     painter.StrokeWidth = 10;
     painter.StrokePolygon(new int[] { -64, -20, -64 },
                           new int[] { -20, 0, 20 });
     painter.StrokeCircle(-10, 0, 10);
     painter.PaintPorts();
 }
Beispiel #3
0
 public override void Paint(IComponentPainter painter)
 {
     painter.StrokeWidth = 10;
     painter.StrokeArc(-96, -72, 120, 37, 53);
     painter.StrokeArc(-96, 72, 120, -90, 53);
     painter.StrokeArc(-179, 0, 96, -30, 60);
     painter.PaintPorts();
 }
Beispiel #4
0
 public override void Paint(IComponentPainter painter)
 {
     painter.StrokeWidth = 10;
     painter.StrokeArc(-48, 0, 48, -90, 180);
     painter.StrokeLines(
         new int[] { -48, -96, -96, -48 },
         new int[] { -48, -48,  48,  48 });
     painter.PaintPorts();
 }
        public void Paint(IComponentPainter painter)
        {
            Bounds bds = bounds;

            painter.StrokeWidth = 10;
            painter.Color       = 0x888888;
            painter.StrokeArc(bds.X + bds.Width / 2, bds.Y, 16, 0, 180);
            painter.Color = 0;
            painter.StrokeRectangle(bds.X, bds.Y, bds.Width, bds.Height);
            painter.PaintPorts();
        }
Beispiel #6
0
        public override void Paint(IComponentPainter painter)
        {
            Value value = painter.GetPortValue(0);

            painter.StrokeWidth = 10;
            painter.Color       = 0;
            painter.StrokeRectangle(-64, -32, 64, 64);
            painter.FontSize  = 48;
            painter.FontStyle = Toves.AbstractGui.Canvas.FontStyle.Bold;
            painter.Color     = 0x0000ff;
            painter.DrawText(-32, -4, value.ToString(), TextAlign.Center | TextAlign.VCenter);
            painter.PaintPorts();
        }
Beispiel #7
0
        public override void Paint(IComponentPainter painter)
        {
            Value value = painter.GetPortValue(0);

            painter.StrokeWidth = 10;
            painter.Color       = painter.GetColorFor(value);
            painter.FillCircle(32, 0, 32);
            painter.Color = 0;
            painter.StrokeCircle(32, 0, 32);
            painter.FontSize  = 48;
            painter.FontStyle = Toves.AbstractGui.Canvas.FontStyle.Bold;
            painter.Color     = 0x0000ff;
            painter.DrawText(32, -4, value.ToString(), TextAlign.Center | TextAlign.VCenter);
            painter.PaintPorts();
        }
        public override void Paint(IComponentPainter painter)
        {
            SwitchInstance myState  = painter.Instance as SwitchInstance;
            bool           pending  = myState.pendingPress;
            Value          value    = myState.currentValue;
            int            valColor = painter.GetColorFor(value);
            int            vr       = (valColor >> 16) & 0xFF;
            int            vg       = (valColor >> 8) & 0xFF;
            int            vb       = valColor & 0xFF;
            int            darken   = ((vr >> 1) << 16) | ((vg >> 1) << 8) | (vb >> 1);
            int            contrast = vr + vg + vb > 128 * 3 ? 0x000000 : 0xFFFFFF;

            painter.FontSize  = 40;
            painter.FontStyle = Toves.AbstractGui.Canvas.FontStyle.Bold;
            if (pending)
            {
                painter.StrokeWidth = 10;
                painter.Color       = valColor;
                painter.FillRectangle(-52, -20, 52, 52);
                painter.Color = 0;
                painter.StrokeRectangle(-52, -20, 52, 52);
                painter.Color = contrast;
                painter.DrawText(-26, 0, value.ToString(), TextAlign.Center | TextAlign.VCenter);
            }
            else
            {
                int[] bgXs = new int[] { -64, -52, 0, 0, -12 };
                int[] bgYs = new int[] { 20, 32, 32, -20, -32 };
                painter.StrokeWidth = 10;
                painter.Color       = darken;
                painter.FillPolygon(bgXs, bgYs);
                painter.Color = valColor;
                painter.FillRectangle(-64, -32, 52, 52);
                painter.Color = 0;
                painter.StrokeRectangle(-64, -32, 52, 52);
                painter.StrokeLines(bgXs, bgYs);
                painter.StrokeLine(-12, 20, 0, 32);
                painter.Color = contrast;
                painter.DrawText(-38, -12, value.ToString(), TextAlign.Center | TextAlign.VCenter);
            }
            painter.PaintPorts();
        }
Beispiel #9
0
 public void PaintPokeProgress(IComponentPainter painter)
 {
 }
Beispiel #10
0
 public abstract override void Paint(IComponentPainter painter);
Beispiel #11
0
 public abstract void Paint(IComponentPainter painter);