From c3621221b9a563495b4f54fe60e18e8db8cc57fb Mon Sep 17 00:00:00 2001
From: Sven Gothel <sgothel@jausoft.com>
Date: Mon, 24 Feb 2014 13:32:34 +0100
Subject: Bug 802: Graph TextRenderer Performance Part-1 (incomplete, rendering
 artifacts)

Strategy Change:
  - Font.Glyph itself holds it's OutlineShape
    with it's default scaling.
    Triangulation is done only once per glyph!

  - A CharSequence produces a Region
    by translating and scaling each Glyphs's OutlineShape.
    This removes the need for re-triangulate - see above.
    See: TextRendererUtil

  - The indices of re-added Triangles are
    offset to the new vertices (FIXME, seems not be be accurate yet).

  - OutlineShape's vertices and triangles are reused if 'clean'.

  - Simplified code

  - Reduced copies

API Changes:
  - OutlineShape, Region, ...: See above

  - Removed TextRenderer, GlyphShape and GlyphString: Redundant

  - Added TextRendererUtil to produce the Region from CharSequence

Result:
  - Over 600 fps while changing text for each frame.
    Previously only ~60fps max.

TODO:
  - Region shall not hold the triangles itself,
    but the indices instead.
    This will remove the need to swizzle w/ vertices in the Region Renderer impl
    and easies reusage of OutlineShapes.
---
 src/jogl/classes/jogamp/graph/font/FontInt.java | 3 +++
 1 file changed, 3 insertions(+)

(limited to 'src/jogl/classes/jogamp/graph/font/FontInt.java')

diff --git a/src/jogl/classes/jogamp/graph/font/FontInt.java b/src/jogl/classes/jogamp/graph/font/FontInt.java
index 1f4eaf20d..f87a00251 100644
--- a/src/jogl/classes/jogamp/graph/font/FontInt.java
+++ b/src/jogl/classes/jogamp/graph/font/FontInt.java
@@ -31,6 +31,9 @@ import jogamp.graph.geom.plane.Path2D;
 
 import com.jogamp.graph.font.Font;
 
+/**
+ * @deprecated
+ */
 public interface FontInt extends Font {
 
     public interface GlyphInt extends Font.Glyph {
-- 
cgit v1.2.3