Пример #1
0
        private void toolStripButtonFill_Click(object sender, EventArgs e)
        {
            drawObject = WhatToDraw.DrawAfrerMouse;
            GraphicsPath path = new GraphicsPath();

            path.AddRectangle(new Rectangle(this.pictureBox1.Location,
                                            this.pictureBox1.Image.Size));
            SolidBrush brush = new SolidBrush(currentColor);

            grfCurrentBitmap.FillPath(brush, path);
            pictureBox1.Image = currentBitmap;
        }
Пример #2
0
        public void LoadSettings()
        {
            if (Environment.CommandLine.Contains("WhatToDraw:"))
            {
                Match Ma = Regex.Match(Environment.CommandLine, "WhatToDraw[:](?<name>[A-Za-z]+)", RegexOptions.IgnoreCase);
                if (Ma.Success)
                {
                    try {
                        string     name   = Ma.Groups["name"].Value;
                        WhatToDraw todraw = (WhatToDraw)Enum.Parse(typeof(WhatToDraw), name, true);
                        what         = todraw;
                        specificDraw = true;
                    } catch (Exception ex) {
                        throw new Exception("Enum.Parse failed.", ex);
                    }
                }
            }
#if true
            if (!UseJapaneseColor)
            {
                UseJapaneseColor = Environment.CommandLine.Contains("+UseJapaneseColor");
            }
            else
            {
                UseJapaneseColor = !Environment.CommandLine.Contains("-UseJapaneseColor");
            }
            if (!UseAlpha)
            {
                UseAlpha = Environment.CommandLine.Contains("+UseAlpha");
            }
            else
            {
                UseAlpha = !Environment.CommandLine.Contains("-UseAlpha");
            }
            if (!isScreenSaver)
            {
                isScreenSaver = Environment.CommandLine.Contains("/s");
            }
            else
            {
                isScreenSaver = !Environment.CommandLine.Contains("-s");
            }
            ofFont = new Range(doGet("Range.ofFont"));
            ofPen  = new Range(doGet("Range.ofPen"));
            int[] values = new int[] {
                miniWide, miniHigh, miniSizej, maxSizej, maxSize_
            };
#endif
            ofFont = new Range(doGet("Range.ofFont"));
            ofPen  = new Range(doGet("Range.ofPen"));
            //ShowConfig();
        }
Пример #3
0
 private void toolStripButtonEllipseFill_Click(object sender, EventArgs e)
 {
     drawObject = WhatToDraw.DrawFillEllipse;
 }
Пример #4
0
 private void toolStripButtonRectangleFill_Click(object sender, EventArgs e)
 {
     drawObject = WhatToDraw.DrawFillRectangle;
 }
Пример #5
0
 private void toolStripButtonLine_Click(object sender, EventArgs e)
 {
     drawObject = WhatToDraw.DrawCommonLine;
 }
Пример #6
0
 private void toolStripButtonBrush_Click(object sender, EventArgs e)
 {
     drawObject   = WhatToDraw.DrawAfrerMouse;
     currentWidth = 10;
     currentPen   = new Pen(currentColor, currentWidth);
 }
Пример #7
0
 public Form1()
 {
     InitializeComponent();
     gridd = new Grid();
     temp  = WhatToDraw.none;
 }
Пример #8
0
        private void panel1_MouseDown(object sender, MouseEventArgs e)
        {
            Point p = e.Location;

            switch (temp)
            {
            case WhatToDraw.andgate:
                gridd.addItem(c = new GateAND(p, 30));
                //ListOfItems.Add(c = new GateAND(p, 40));
                temp = WhatToDraw.none;
                break;

            case WhatToDraw.orgate:
                gridd.addItem(c = new GateOR(p, 30));
                temp            = WhatToDraw.none;
                break;

            case WhatToDraw.notgate:
                gridd.addItem(c = new GateNOT(p, 30));
                temp            = WhatToDraw.none;
                break;

            case WhatToDraw.sink:
                gridd.addItem(c = new Sink(p, 30));
                temp            = WhatToDraw.none;
                break;

            case WhatToDraw.source:
                gridd.addItem(c = new Source(p, 30));
                temp            = WhatToDraw.none;
                break;

            case WhatToDraw.none:
                c = gridd.getItemByPoint(e.Location);
                if ((c != null) && (c is Source))
                {
                    ((Source)c).changeValue();
                    gridd.SetAllConnectionValues();
                }
                else
                {
                    MessageBox.Show("You need to select a tool or \n source to change it's value");
                }
                break;

            case WhatToDraw.startline:
                c = gridd.getItemByPoint(e.Location);
                if (c != null)
                {
                    if (c.canBeConnected("output"))
                    {
                        istart = c;
                        temp   = WhatToDraw.endline;
                    }
                }
                break;

            case WhatToDraw.endline:
                c = gridd.getItemByPoint(e.Location);
                try
                {
                    if (c.canBeConnected("input"))
                    {
                        iend = gridd.getItemByPoint(e.Location);
                        Connection conn = new Connection(iend, istart);
                        iend.addConnection(conn);
                        istart.addConnection(conn);
                        gridd.SetAllConnectionValues();
                        panel1.Invalidate();
                    }
                }
                catch (Exception ex) { MessageBox.Show("You can't make a connection with nothing"); }
                temp = WhatToDraw.none;
                break;

            case WhatToDraw.remove:
                c = gridd.getItemByPoint(e.Location);
                gridd.RemoveConnections(c);
                gridd.ListOfItems.Remove(c);
                temp = WhatToDraw.none;
                break;

            default:
                break;
            }

            this.Refresh();
        }
Пример #9
0
 private void pictureBox11_Click(object sender, EventArgs e)
 {
     temp = WhatToDraw.startline;
 }
Пример #10
0
 private void AndGate_Click(object sender, EventArgs e)
 {
     temp = WhatToDraw.andgate;
 }
Пример #11
0
 private void pbLines_Click(object sender, EventArgs e)
 {
     temp = WhatToDraw.remove;
 }
Пример #12
0
 private void Source_Click_1(object sender, EventArgs e)
 {
     temp = WhatToDraw.source;
 }
Пример #13
0
 private void Sink_Click_1(object sender, EventArgs e)
 {
     temp = WhatToDraw.sink;
 }
Пример #14
0
 private void NotGate_Click_1(object sender, EventArgs e)
 {
     temp = WhatToDraw.notgate;
 }
Пример #15
0
 private void OrGate_Click_1(object sender, EventArgs e)
 {
     temp = WhatToDraw.orgate;
 }