Ejemplo n.º 1
0
 public DirectDrawingRenderer(Generator generator = null)
 {
     Generator = generator ?? Generator.Current;
     texture   = TestIcons.Textures(generator);
     font      = SystemFonts.Default(generator: generator);
     textBrush = new SolidBrush(Colors.White, generator);
 }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 public About()
 {
     ID          = "about";
     Image       = TestIcons.TestIcon();
     MenuText    = "About Test Application";
     ToolBarText = "About";
     Shortcut    = Keys.F11;
 }
Ejemplo n.º 4
0
Archivo: Quit.cs Proyecto: sami1971/Eto
 public Quit()
 {
     ID          = "quit";
     MenuText    = "&Quit";
     ToolBarText = "Quit";
     ToolTip     = "Close the application";
     Shortcut    = Keys.Q | Application.Instance.CommonModifier;
     Image       = TestIcons.TestImage();
 }
Ejemplo n.º 5
0
 protected override Window GetWindow()
 {
     return(new Form
     {
         Content = new ImageView {
             Image = TestIcons.TestIcon()
         },
         Size = new Size(640, 400),
     });
 }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
            };
        }
Ejemplo n.º 8
0
        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;
        }
Ejemplo n.º 9
0
		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 };
		}
Ejemplo n.º 10
0
        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);
            };
        }
Ejemplo n.º 11
0
        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
            });
        }
Ejemplo n.º 12
0
        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);
            };
        }
Ejemplo n.º 13
0
 Bitmap GetBitmap()
 {
     return(TestIcons.TestImage());
 }
Ejemplo n.º 14
0
		Control LoadFromStream()
		{
			var image = TestIcons.TestImage();

			return new DrawableImageView { Image = image };
		}
Ejemplo n.º 15
0
		Control CloningRectangle()
		{
			var image = TestIcons.TestImage();
			image = image.Clone(new Rectangle(32, 32, 64, 64));
			return new DrawableImageView { Image = image };
		}
Ejemplo n.º 16
0
		Control Cloning()
		{
			var image = TestIcons.TestImage();
			image = image.Clone();
			return new DrawableImageView { Image = image };
		}
Ejemplo n.º 17
0
 Icon GetIcon()
 {
     return(TestIcons.TestIcon());
 }