Exemple #1
0
        private static Bitmap GenerateImage(Color color, KeywordShape shape)
        {
            Bitmap   bm  = new Bitmap(12, 12);
            Graphics g   = Graphics.FromImage(bm);
            Pen      pen = new Pen(color, 2);

            g.FillRectangle(new Pen(Color.White).Brush, 0, 0, 12, 12);

            switch (shape)
            {
            case KeywordShape.Box:
                g.DrawRectangle(pen, 3, 3, 6, 6);
                break;

            case KeywordShape.Circle:
                g.FillEllipse(pen.Brush, 2, 2, 8, 8);
                break;

            case KeywordShape.Diamond:
                g.FillPolygon(pen.Brush, new Point[] { new Point(2, 6), new Point(6, 10), new Point(10, 6), new Point(6, 2), });
                break;

            case KeywordShape.DiamondFrame:
                g.DrawPolygon(pen, new Point[] { new Point(2, 6), new Point(6, 10), new Point(10, 6), new Point(6, 2), });
                break;

            case KeywordShape.InvertedTriangle:
                g.FillPolygon(pen.Brush, new Point[] { new Point(6, 2), new Point(3, 10), new Point(9, 10), });
                break;

            case KeywordShape.InvertedTriangleFrame:
                g.DrawPolygon(pen, new Point[] { new Point(6, 2), new Point(3, 10), new Point(9, 10), });
                break;

            case KeywordShape.Triangle:
                g.FillPolygon(pen.Brush, new Point[] { new Point(6, 10), new Point(2, 2), new Point(10, 2), });
                break;

            case KeywordShape.TriangleFrame:
                g.DrawPolygon(pen, new Point[] { new Point(6, 9), new Point(2, 2), new Point(9, 2), });
                break;

            case KeywordShape.Ring:
                g.DrawEllipse(pen, 3, 3, 6, 6);
                break;

            case KeywordShape.Square:
                g.FillRectangle(pen.Brush, 2, 2, 8, 8);
                break;

            case KeywordShape.Hash:
                g.FillRectangle(pen.Brush, 1, 3, 10, 2);
                g.FillRectangle(pen.Brush, 1, 7, 10, 2);
                g.FillRectangle(pen.Brush, 3, 1, 2, 10);
                g.FillRectangle(pen.Brush, 7, 1, 2, 10);
                break;

            case KeywordShape.None:
            default:
                break;
            }

            return(bm);
        }
        private static Bitmap GenerateImage(Color color, KeywordShape shape)
        {
            Bitmap bm = new Bitmap(12, 12);
            Graphics g = Graphics.FromImage(bm);
            Pen pen = new Pen(color, 2);
            
            g.FillRectangle(new Pen(Color.White).Brush, 0, 0, 12, 12);

            switch (shape)
            {
                case KeywordShape.Box:
                    g.DrawRectangle(pen, 3, 3, 6, 6);
                    break;
                case KeywordShape.Circle:
                    g.FillEllipse(pen.Brush, 2, 2, 8, 8);
                    break;
                case KeywordShape.Diamond:
                    g.FillPolygon(pen.Brush, new Point[] { new Point(2, 6), new Point(6, 10), new Point(10, 6), new Point(6, 2), });
                    break;
                case KeywordShape.DiamondFrame:
                    g.DrawPolygon(pen, new Point[] { new Point(2, 6), new Point(6, 10), new Point(10, 6), new Point(6, 2), });
                    break;
                case KeywordShape.InvertedTriangle:
                    g.FillPolygon(pen.Brush, new Point[] { new Point(6, 2), new Point(3, 10), new Point(9, 10), });
                    break;
                case KeywordShape.InvertedTriangleFrame:
                    g.DrawPolygon(pen, new Point[] { new Point(6, 2), new Point(3, 10), new Point(9, 10), });
                    break;
                case KeywordShape.Triangle:
                    g.FillPolygon(pen.Brush, new Point[] { new Point(6, 10), new Point(2, 2), new Point(10, 2), });
                    break;
                case KeywordShape.TriangleFrame:
                    g.DrawPolygon(pen, new Point[] { new Point(6, 9), new Point(2, 2), new Point(9, 2), });
                    break;
                case KeywordShape.Ring:
                    g.DrawEllipse(pen, 3, 3, 6, 6);
                    break;
                case KeywordShape.Square:
                    g.FillRectangle(pen.Brush, 2, 2, 8, 8);
                    break;
                case KeywordShape.Hash:
                    g.FillRectangle(pen.Brush, 1, 3, 10, 2);
                    g.FillRectangle(pen.Brush, 1, 7, 10, 2);
                    g.FillRectangle(pen.Brush, 3, 1, 2, 10);
                    g.FillRectangle(pen.Brush, 7, 1, 2, 10);
                    break;
                case KeywordShape.None:
                default:
                    break;
            }

            return bm;
        }
Exemple #3
0
        public static void GenerateKeywordImages()
        {
            int cnt = 0;

            foreach (KeywordSource source in Enum.GetValues(typeof(KeywordSource)))
            {
                foreach (KeywordType type in Enum.GetValues(typeof(KeywordType)))
                {
                    string imgName = Enum.GetName(typeof(KeywordSource), source) + Enum.GetName(typeof(KeywordType), type);
                    keywordIndex.Add(imgName, cnt);

                    Color color = new Color();

                    switch (source)
                    {
                    case KeywordSource.C:
                        color = Color.Green;
                        break;

                    case KeywordSource.CPP:
                        color = Color.Green;
                        break;

                    case KeywordSource.AVRLibc:
                        color = Color.Orange;
                        break;

                    case KeywordSource.Arduino:
                        color = Color.Blue;
                        break;

                    case KeywordSource.User:
                        color = Color.Purple;
                        break;

                    default:
                        color = Color.Black;
                        break;
                    }

                    KeywordShape shape = new KeywordShape();

                    switch (type)
                    {
                    case KeywordType.Block:
                        shape = KeywordShape.DiamondFrame;
                        break;

                    case KeywordType.Constant:
                        shape = KeywordShape.Ring;
                        break;

                    case KeywordType.Other:
                        shape = KeywordShape.Diamond;
                        break;

                    case KeywordType.Function:
                        shape = KeywordShape.Circle;
                        break;

                    case KeywordType.Modifier:
                        shape = KeywordShape.TriangleFrame;
                        break;

                    case KeywordType.Statement:
                        shape = KeywordShape.Square;
                        break;

                    case KeywordType.Type:
                        shape = KeywordShape.Triangle;
                        break;

                    case KeywordType.Variable:
                        shape = KeywordShape.Box;
                        break;

                    case KeywordType.Preprocessor:
                        shape = KeywordShape.Hash;
                        break;

                    default:
                        shape = KeywordShape.None;
                        break;
                    }

                    imgList.Add(cnt, GenerateImage(color, shape));

                    cnt++;
                }
            }
        }
        public static void GenerateKeywordImages()
        {
            int cnt = 0;

            foreach(KeywordSource source in Enum.GetValues(typeof(KeywordSource)))
            {
                foreach(KeywordType type in Enum.GetValues(typeof(KeywordType)))
                {
                    string imgName = Enum.GetName(typeof(KeywordSource), source) + Enum.GetName(typeof(KeywordType), type);
                    keywordIndex.Add(imgName, cnt);

                    Color color = new Color();

                    switch (source)
                    {
                        case KeywordSource.C:
                            color = Color.Green;
                            break;
                        case KeywordSource.CPP:
                            color = Color.Green;
                            break;
                        case KeywordSource.AVRLibc:
                            color = Color.Orange;
                            break;
                        case KeywordSource.Arduino:
                            color = Color.Blue;
                            break;
                        case KeywordSource.User:
                            color = Color.Purple;
                            break;
                        default:
                            color = Color.Black;
                            break;
                    }

                    KeywordShape shape = new KeywordShape();

                    switch (type)
                    {
                        case KeywordType.Block:
                            shape = KeywordShape.DiamondFrame;
                            break;
                        case KeywordType.Constant:
                            shape = KeywordShape.Ring;
                            break;
                        case KeywordType.Other:
                            shape = KeywordShape.Diamond;
                            break;
                        case KeywordType.Function:
                            shape = KeywordShape.Circle;
                            break;
                        case KeywordType.Modifier:
                            shape = KeywordShape.TriangleFrame;
                            break;
                        case KeywordType.Statement:
                            shape = KeywordShape.Square;
                            break;
                        case KeywordType.Type:
                            shape = KeywordShape.Triangle;
                            break;
                        case KeywordType.Variable:
                            shape = KeywordShape.Box;
                            break;
                        case KeywordType.Preprocessor:
                            shape = KeywordShape.Hash;
                            break;
                        default:
                            shape = KeywordShape.None;
                            break;
                    }

                    imgList.Add(cnt, GenerateImage(color, shape));

                    cnt++;
                }
            }
        }