Пример #1
0
    public void Render(string str, Color color)
    {
      if (!buffers.ContainsKey(str))
      {
        buffers[str] = new TextBuffer(str, brush, font);
      }

      var buffer = buffers[str];

      GL.Color3(color);
      GL.Enable(EnableCap.Texture2D);
      GL.BindTexture(TextureTarget.Texture2D, buffer.TextureId);
      GL.Begin(BeginMode.Quads);

      GL.TexCoord2(0, 0);
      GL.Vertex2(0, 0);

      GL.TexCoord2(0, buffer.HeightScale);
      GL.Vertex2(0, buffer.ActualHeight);

      GL.TexCoord2(buffer.WidthScale, buffer.HeightScale);
      GL.Vertex2(buffer.ActualWidth, buffer.ActualHeight);

      GL.TexCoord2(buffer.WidthScale, 0);
      GL.Vertex2(buffer.ActualWidth, 0);

      GL.End();
      GL.Disable(EnableCap.Texture2D);
    }
Пример #2
0
    public SizeF Measure(string str)
    {
      if (!buffers.ContainsKey(str))
      {
        buffers[str] = new TextBuffer(str, brush, font);
      }

      var buffer = buffers[str];
      return new SizeF(buffer.ActualWidth, buffer.ActualHeight);
    }