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; }
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++; } } }