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); }
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); }
internal Image(ILogger logger, Texture texture, ColorTextureVao vao) { this.logger = logger; this.texture = texture; this.vao = vao; }