public DirectDrawingRenderer(Generator generator = null) { Generator = generator ?? Generator.Current; texture = TestIcons.Textures(generator); font = SystemFonts.Default(generator: generator); textBrush = new SolidBrush(Colors.White, generator); }
TabControl DefaultTabs() { var control = CreateTabControl(); LogEvents(control); control.TabPages.Add(new TabPage { Text = "Tab 1", Content = TabOne() }); control.TabPages.Add(new TabPage { Text = "Tab 2", Image = TestIcons.TestIcon(), Content = TabTwo() }); control.TabPages.Add(new TabPage { Text = "Tab 3" }); foreach (var page in control.TabPages) { LogEvents(page); } UpdateMemoryUsage(); return(control); }
public About() { ID = "about"; Image = TestIcons.TestIcon(); MenuText = "About Test Application"; ToolBarText = "About"; Shortcut = Keys.F11; }
public Quit() { ID = "quit"; MenuText = "&Quit"; ToolBarText = "Quit"; ToolTip = "Close the application"; Shortcut = Keys.Q | Application.Instance.CommonModifier; Image = TestIcons.TestImage(); }
protected override Window GetWindow() { return(new Form { Content = new ImageView { Image = TestIcons.TestIcon() }, Size = new Size(640, 400), }); }
public static void Draw(Graphics graphics) { var generator = graphics.Generator; var image = TestIcons.TestImage(generator); // lines var whitePen = Pens.White(generator); graphics.DrawLine(whitePen, 1, 1, 99, 99); graphics.DrawLine(whitePen, 50, 1, 50, 99); graphics.DrawLine(whitePen, 1, 51, 99, 51); graphics.DrawRectangle(Pens.White(generator), 101, 1, 100, 100); graphics.DrawRectangle(Pens.White(generator), 101, 1, 10, 10); graphics.DrawEllipse(Pens.Green(generator), 101, 1, 100, 100); graphics.DrawPolygon(Pens.White(generator), new PointF(203, 1), new PointF(253, 51), new Point(203, 101), new PointF(203, 1), new PointF(253, 1), new PointF(253, 101), new PointF(203, 101)); var rect = new RectangleF(255, 1, 100, 100); graphics.DrawArc(Pens.LightGreen(generator), rect, 180, 90); graphics.DrawArc(Pens.SkyBlue(generator), rect, 0, 90); rect.Inflate(-15, 0); graphics.DrawArc(Pens.FloralWhite(generator), rect, -45, 90); rect.Inflate(-5, -20); graphics.DrawArc(Pens.SlateGray(generator), rect, -45, 270); rect.Inflate(-10, -10); graphics.DrawArc(Pens.SteelBlue(generator), rect, 180 + 45, 270); graphics.DrawImage(image, 100, 1, 100, 100); graphics.DrawText(Fonts.Sans(12 * graphics.PointsPerPixel, generator: generator), Colors.White, 0, 104, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"); // filled graphics.FillRectangle(Brushes.White(generator), 101, 120, 100, 100); graphics.FillRectangle(Brushes.Gray(generator), 101, 120, 10, 10); graphics.FillEllipse(Brushes.Green(generator), 101, 120, 100, 100); graphics.FillPolygon(Brushes.White(generator), new PointF(202, 120), new PointF(252, 170), new Point(202, 220), new PointF(202, 120)); rect = new RectangleF(255, 120, 100, 100); graphics.FillPie(Brushes.LightGreen(generator), rect, 180, 90); graphics.FillPie(Brushes.SkyBlue(generator), rect, 0, 90); rect.Inflate(-15, 0); graphics.FillPie(Brushes.FloralWhite(generator), rect, -45, 90); rect.Inflate(-5, -20); graphics.FillPie(Brushes.SlateGray(generator), rect, -45, 270); rect.Inflate(-10, -10); graphics.FillPie(Brushes.SteelBlue(generator), rect, 180 + 45, 270); graphics.DrawImage(image, 101, 120, 100, 100); }
public TextureBrushesSection() { var image = TestIcons.Textures(); var drawable = new Drawable { Size = new Size(image.Size.Width, image.Size.Height * 10) }; var drawableTarget = new DrawableTarget(drawable); var layout = new DynamicLayout(new Padding(10)); layout.AddSeparateRow(null, drawableTarget.Checkbox(), null); layout.Add(new Scrollable { Content = drawable }); Content = layout; var renderers = new List <Action <Graphics> >(); for (var i = 0; i < 10; ++i) { var w = image.Size.Width / 3; // same as height var img = image; if (i > 0) { img = img.Clone(new Rectangle((i - 1) % 3 * w, (i - 1) / 3 * w, w, w)); } var brush = new TextureBrush(img); renderers.Add(graphics => { var temp = brush.Transform; // save state brush.Transform = Matrix.FromRotation(90, Generator); graphics.FillRectangle(brush, new RectangleF(image.Size)); graphics.TranslateTransform(0, image.Size.Height); brush.Transform = temp; }); } drawable.Paint += (s, e) => { var graphics = drawableTarget.BeginDraw(e); foreach (var renderer in renderers) { renderer(graphics); } drawableTarget.EndDraw(e); }; }
public TransformSection() { image = TestIcons.TestIcon(); font = Fonts.Sans(10); var layout = new DynamicLayout(); var drawable = new Drawable { Size = canvasSize }; drawable.Paint += (sender, pe) => { pe.Graphics.FillRectangle(Brushes.Black(Generator), pe.ClipRectangle); MatrixTests(pe.Graphics); }; layout.AddRow(new Label { Text = "Matrix" }, drawable); drawable = new Drawable { Size = canvasSize }; drawable.Paint += (sender, pe) => { pe.Graphics.FillRectangle(Brushes.Black(Generator), pe.ClipRectangle); DirectTests(pe.Graphics); }; layout.AddRow(new Label { Text = "Direct" }, drawable); layout.Add(null); var m = Matrix.Create(); m.Scale(100, 100); var m2 = m.Clone(); m2.Translate(10, 10); if (m == m2) { throw new Exception("Grr!"); } Content = layout; }
Control CloneTiles() { // Creates a duplicate of the bitmap by cloning tiles of it // and drawing them in the same location in the duplicate. var image = TestIcons.TestImage(); var bitmap = new Bitmap(new Size(image.Size), PixelFormat.Format32bppRgba); var tile = 64; // the test image is 128x128 so this produces 4 tiles. using (var g = new Graphics(bitmap)) { for (var x = 0; x < image.Width; x += tile) for (var y = 0; y < image.Height; y += tile) { var clone = image.Clone(new Rectangle(x, y, tile, tile)); g.DrawImage(clone, x, y); } } return new DrawableImageView { Image = bitmap }; }
public TextureBrushesSection2() { image = TestIcons.Textures(); var drawable = new Drawable(); var drawableTarget = new DrawableTarget(drawable); var layout = new DynamicLayout(new Padding(10)); layout.AddSeparateRow(null, drawableTarget.Checkbox(), null); layout.Add(drawable); this.Content = layout; var w = image.Size.Width / 3; // same as height var img = image.Clone(new Rectangle(w, w, w, w)); var textureBrush = new TextureBrush(img); var solidBrush = new SolidBrush(Colors.Blue); var linearGradientBrush = new LinearGradientBrush(Colors.White, Colors.Black, PointF.Empty, new PointF(0, 100), Generator); var font = SystemFonts.Default(); drawable.BackgroundColor = Colors.Green; drawable.MouseMove += HandleMouseMove; drawable.MouseDown += HandleMouseMove; drawable.Paint += (s, e) => { var graphics = drawableTarget.BeginDraw(e); graphics.DrawText(font, Colors.White, 3, 3, "Move the mouse in this area to move the shapes."); // texture brushes var temp = location; DrawShapes(textureBrush, temp, img.Size, graphics); // solid brushes temp = temp + new PointF(200, 0); DrawShapes(solidBrush, temp, img.Size, graphics); // linear gradient brushes temp = temp + new PointF(200, 0); DrawShapes(linearGradientBrush, temp, img.Size, graphics); drawableTarget.EndDraw(e); }; }
Control LargeCanvas() { var control = new Drawable { Size = new Size(1000, 1000), BackgroundColor = Colors.Blue }; var image = TestIcons.TestImage(); control.Paint += delegate(object sender, PaintEventArgs pe) { pe.Graphics.FillRectangle(Brushes.Black(), new Rectangle(150, 150, 100, 100)); var whitePen = Pens.White(); const int inc = 400; for (int i = 0; i <= control.Size.Width / inc; i++) { var pos = i * inc; pe.Graphics.DrawLine(whitePen, new Point(pos, 0), new Point(pos + control.Size.Width, control.Size.Height)); pe.Graphics.DrawLine(whitePen, new Point(pos, 0), new Point(pos - control.Size.Width, control.Size.Height)); } const int lpos = 100; pe.Graphics.DrawLine(whitePen, new Point(0, lpos), new Point(control.Size.Width, lpos)); pe.Graphics.DrawLine(whitePen, new Point(lpos, 0), new Point(lpos, control.Size.Height)); pe.Graphics.DrawImage(image, 100, 10); pe.Graphics.DrawImage(image, 250, 10, 80, 20); }; LogEvents(control); var layout = new PixelLayout(); layout.Add(control, 25, 25); return(new Scrollable { Size = new Size(250, 250), Content = layout }); }
public GetPixelSection() { var location = new Point(100, 100); var image = TestIcons.Textures(); var drawable = new Drawable(); var drawableTarget = new DrawableTarget(drawable) { UseOffScreenBitmap = true }; this.Content = drawable; EventHandler <MouseEventArgs> mouseHandler = (s, e) => { location = new Point(e.Location); ((Control)s).Invalidate(); e.Handled = true; }; drawable.MouseMove += mouseHandler; drawable.MouseDown += mouseHandler; var font = SystemFonts.Default(); drawable.BackgroundColor = Colors.Green; drawable.Paint += (s, e) => { var graphics = drawableTarget.BeginDraw(e); graphics.DrawText(font, Colors.White, 3, 3, "Move the mouse in this area to read the pixel color."); graphics.DrawImage(image, new PointF(100, 100)); var pixelColor = drawableTarget.OffscreenBitmap.GetPixel(location.X, location.Y); graphics.DrawText(font, Colors.White, 3, 20, "Color: " + pixelColor); drawableTarget.EndDraw(e); }; }
Bitmap GetBitmap() { return(TestIcons.TestImage()); }
Control LoadFromStream() { var image = TestIcons.TestImage(); return new DrawableImageView { Image = image }; }
Control CloningRectangle() { var image = TestIcons.TestImage(); image = image.Clone(new Rectangle(32, 32, 64, 64)); return new DrawableImageView { Image = image }; }
Control Cloning() { var image = TestIcons.TestImage(); image = image.Clone(); return new DrawableImageView { Image = image }; }
Icon GetIcon() { return(TestIcons.TestIcon()); }