Example #1
0
        private void createEdges(Vector2 pos, Vector2 size, Color4 color)
        {
            ColorTextureVao leftTop     = ContainerProvider.Scope.Resolve <ColorTextureVao>();
            ColorTextureVao leftBottom  = ContainerProvider.Scope.Resolve <ColorTextureVao>();
            ColorTextureVao rightBottom = ContainerProvider.Scope.Resolve <ColorTextureVao>();
            ColorTextureVao rightTop    = ContainerProvider.Scope.Resolve <ColorTextureVao>();

            leftTop.Initialize();
            leftBottom.Initialize();
            rightBottom.Initialize();
            rightTop.Initialize();

            leftTop.SetTopLeftCorner(new Vector2(pos.X, pos.Y), new Vector2(13, 13));
            leftBottom.SetTopLeftCorner(new Vector2(pos.X, pos.Y + size.Y - 11), new Vector2(13, 13));
            rightBottom.SetTopLeftCorner(new Vector2(pos.X + size.X - 11, pos.Y + size.Y - 11), new Vector2(13, 13));
            rightTop.SetTopLeftCorner(new Vector2(pos.X + size.X - 11, pos.Y), new Vector2(13, 13));

            Color4[] colors = new Color4[] { color, color, color, color };

            leftTop.SetupColors(colors);
            leftBottom.SetupColors(colors);
            rightBottom.SetupColors(colors);
            rightTop.SetupColors(colors);

            leftTop.SetupTextureCoords(new Vector2[] { new Vector2(0, 0), new Vector2(0, 1), new Vector2(1, 1), new Vector2(1, 0) });
            leftBottom.SetupTextureCoords(new Vector2[] { new Vector2(0, 1), new Vector2(0, 0), new Vector2(1, 0), new Vector2(1, 1) });
            rightBottom.SetupTextureCoords(new Vector2[] { new Vector2(1, 1), new Vector2(1, 0), new Vector2(0, 0), new Vector2(0, 1) });
            rightTop.SetupTextureCoords(new Vector2[] { new Vector2(1, 0), new Vector2(1, 1), new Vector2(0, 1), new Vector2(0, 0) });

            edges.Add(leftTop);
            edges.Add(leftBottom);
            edges.Add(rightBottom);
            edges.Add(rightTop);
        }
Example #2
0
        public Text(ILogger logger, IFontProvider fontProvider, ApplicationWindow applicationWindow, ColorTextureVao vao)
        {
            this.logger       = logger;
            this.fontProvider = fontProvider;
            this.vao          = vao;

            vao.Initialize();

            vao.SetTopLeftCorner(new Vector2(0, 0), new Vector2(applicationWindow.Width, applicationWindow.Height));
            vao.SetupColors(new Color4[] { Color4.White, Color4.White, Color4.White, Color4.White });
            vao.SetupTextureCoords(new Vector2[] { new Vector2(0, 0), new Vector2(0, 1), new Vector2(1, 1), new Vector2(1, 0) });

            bitmap   = new Bitmap(applicationWindow.Width, applicationWindow.Height);
            graphics = System.Drawing.Graphics.FromImage(bitmap);
            graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
            graphics.SmoothingMode     = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
            graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
            graphics.PixelOffsetMode   = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;

            textureId = GL.GenTexture();
            GL.BindTexture(TextureTarget.Texture2D, textureId);
            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear);
            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear);
            GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, applicationWindow.Width, applicationWindow.Height, 0,
                          PixelFormat.Rgba, PixelType.UnsignedByte, IntPtr.Zero);
        }
Example #3
0
 internal Image(ILogger logger, Texture texture, ColorTextureVao vao)
 {
     this.logger  = logger;
     this.texture = texture;
     this.vao     = vao;
 }