0023457: Slow text rendering
authorkgv <kgv@opencascade.com>
Fri, 8 Feb 2013 11:05:16 +0000 (15:05 +0400)
committerkgv <kgv@opencascade.com>
Fri, 8 Feb 2013 11:05:16 +0000 (15:05 +0400)
commita174a3c54f4657c3b4cd9fd1b6fda4f5f717ac1e
tree6f46348a9b6b13f4feac0121ecf3c13984e29f8a
parent163ef2500658d24653eb588c4cf25bd0aec1d0d4
0023457: Slow text rendering

Added class Font_FTFont wrapper over FreeType face

Unify collections methods NCollection_Array1, NCollection_Sequence, NCollection_Vector:
declare Upper, Lower, First, Last, ChangeFirst, ChangeLast methods for all these collections.

Added method NCollection_DataMap::Find() with check key is bound + retrieve value within single call interface.

OpenGl_Context::ReleaseResource() method now supports lazy release of shared resources.

Added class OpenGl_Font which implements textured fonts support.
Added class OpenGl_TextFormatter for text formatting using OpenGl_Font.

OpenGl_Text was redesigned to use OpenGl_FontFormatter.

OpenGl_FontMgr class was removed.
All methods related to text rendered removed from OpenGl_Display class.

OpenGl_Trihedron and OpenGl_GraduatedTrihedron classes were redesigned
to use OpenGl_Text.

OpenGl_PrinterContext instance was moved to OpenGl_GraphicDriver fields
(eliminated usage of global instance).

Added test cases into 3rdparty/fonts grid to check different font styles
and perform FPS tests (no automated results - requires manual analysis
or snapshots comparisons).

Removed unused CSF_FTGL dependency.
OpenGl_Text::setupMatrix - do not apply floor for myWinZ
72 files changed:
src/Font/FILES
src/Font/Font.cdl
src/Font/Font_FTFont.cxx [new file with mode: 0644]
src/Font/Font_FTFont.hxx [new file with mode: 0644]
src/Font/Font_FTLibrary.cxx [moved from src/OpenGl/OpenGl_GraphicDriver_print.cxx with 50% similarity, mode: 0644]
src/Font/Font_FTLibrary.hxx [new file with mode: 0644]
src/Font/Font_SystemFont.cxx
src/NCollection/FILES
src/NCollection/NCollection_Array1.hxx
src/NCollection/NCollection_DataMap.hxx
src/NCollection/NCollection_Sequence.hxx
src/NCollection/NCollection_String.hxx [moved from src/OpenGl/Handle_OpenGl_Trihedron.hxx with 70% similarity]
src/NCollection/NCollection_UtfIterator.hxx [new file with mode: 0644]
src/NCollection/NCollection_UtfIterator.lxx [new file with mode: 0644]
src/NCollection/NCollection_UtfString.hxx [new file with mode: 0644]
src/NCollection/NCollection_UtfString.lxx [new file with mode: 0644]
src/NCollection/NCollection_Vector.hxx
src/NIS/NIS_TriangulatedDrawer.cxx
src/OpenGl/EXTERNLIB
src/OpenGl/FILES
src/OpenGl/OpenGl_AspectText.cxx
src/OpenGl/OpenGl_AspectText.hxx
src/OpenGl/OpenGl_Context.cxx
src/OpenGl/OpenGl_Context.hxx
src/OpenGl/OpenGl_Display.cxx
src/OpenGl/OpenGl_Display.hxx
src/OpenGl/OpenGl_Display_1.cxx [deleted file]
src/OpenGl/OpenGl_Element.cxx [copied from src/OpenGl/Handle_OpenGl_GraduatedTrihedron.hxx with 61% similarity]
src/OpenGl/OpenGl_Element.hxx
src/OpenGl/OpenGl_Font.cxx [new file with mode: 0644]
src/OpenGl/OpenGl_Font.hxx [new file with mode: 0644]
src/OpenGl/OpenGl_FontMgr.cxx [deleted file]
src/OpenGl/OpenGl_FontMgr.hxx [deleted file]
src/OpenGl/OpenGl_FrameBuffer.cxx
src/OpenGl/OpenGl_GraduatedTrihedron.cxx
src/OpenGl/OpenGl_GraduatedTrihedron.hxx
src/OpenGl/OpenGl_GraphicDriver.cxx
src/OpenGl/OpenGl_GraphicDriver.hxx
src/OpenGl/OpenGl_GraphicDriver_705.cxx [deleted file]
src/OpenGl/OpenGl_GraphicDriver_710.cxx [deleted file]
src/OpenGl/OpenGl_GraphicDriver_9.cxx [deleted file]
src/OpenGl/OpenGl_GraphicDriver_Layer.cxx
src/OpenGl/OpenGl_PrinterContext.cxx
src/OpenGl/OpenGl_PrinterContext.hxx
src/OpenGl/OpenGl_Text.cxx
src/OpenGl/OpenGl_Text.hxx
src/OpenGl/OpenGl_TextFormatter.cxx [new file with mode: 0644]
src/OpenGl/OpenGl_TextFormatter.hxx [new file with mode: 0644]
src/OpenGl/OpenGl_Texture.cxx
src/OpenGl/OpenGl_Texture.hxx
src/OpenGl/OpenGl_Trihedron.cxx
src/OpenGl/OpenGl_Trihedron.hxx
src/OpenGl/OpenGl_Vec.hxx [moved from src/OpenGl/Handle_OpenGl_GraduatedTrihedron.hxx with 67% similarity]
src/OpenGl/OpenGl_VertexBufferEditor.hxx
src/OpenGl/OpenGl_View.cxx
src/OpenGl/OpenGl_View.hxx
src/OpenGl/OpenGl_View_2.cxx
src/OpenGl/OpenGl_Workspace.cxx
src/OpenGl/OpenGl_Workspace.hxx
src/OpenGl/OpenGl_Workspace_2.cxx
src/OpenGl/OpenGl_Workspace_4.cxx [deleted file]
src/OpenGl/OpenGl_Workspace_5.cxx
src/Standard/Standard.cdl
src/Standard/Standard_Integer.hxx
src/Standard/Standard_TypeDef.hxx
src/TKOpenGl/EXTERNLIB
src/ViewerTest/ViewerTest_OpenGlCommands.cxx
tests/3rdparty/fonts/A3 [new file with mode: 0644]
tests/3rdparty/fonts/A4 [new file with mode: 0644]
tests/3rdparty/fonts/A5 [new file with mode: 0644]
tests/3rdparty/fonts/A6 [new file with mode: 0644]
tests/3rdparty/fonts/A7 [new file with mode: 0644]