#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using OpenTK.OpenGL; namespace OpenTK.Fonts { /// /// Provides text printing through OpenGL 1.1 Display Lists. /// class DisplayListTextPrinter : ITextPrinterImplementation { #region IPrinter Members public TextHandle Load(OpenTK.Math.Vector2[] vertices, ushort[] indices, int index_count) { DisplayListTextHandle handle = new DisplayListTextHandle(GL.GenLists(1)); GL.NewList(handle.Handle, OpenTK.OpenGL.Enums.ListMode.Compile); GL.Begin(OpenTK.OpenGL.Enums.BeginMode.Triangles); for (int i = 0; i < index_count; i++) //foreach (ushort index in indices) { GL.TexCoord2(vertices[indices[i] + 1]); GL.Vertex2(vertices[indices[i]]); } GL.End(); GL.EndList(); return handle; } public void Draw(TextHandle handle) { GL.CallList(handle.Handle); } #endregion } }