0023544: Texture management in TKOpenGl should be redesigned
[occt.git] / src / OpenGl / OpenGl_AspectText.cxx
CommitLineData
b311480e 1// Created on: 2011-07-13
2// Created by: Sergey ZERCHANINOV
3// Copyright (c) 2011-2012 OPEN CASCADE SAS
4//
5// The content of this file is subject to the Open CASCADE Technology Public
6// License Version 6.5 (the "License"). You may not use the content of this file
7// except in compliance with the License. Please obtain a copy of the License
8// at http://www.opencascade.org and read it completely before using this file.
9//
10// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12//
13// The Original Code and all software distributed under the License is
14// distributed on an "AS IS" basis, without warranty of any kind, and the
15// Initial Developer hereby disclaims all such warranties, including without
16// limitation, any warranties of merchantability, fitness for a particular
17// purpose or non-infringement. Please see the License for the specific terms
18// and conditions governing the rights and limitations under the License.
19
2166f0fa 20#include <OpenGl_AspectText.hxx>
bf75be98 21#include <OpenGl_Workspace.hxx>
2166f0fa
SK
22
23static const TEL_COLOUR myDefaultColor = {{ 1.0F, 1.0F, 1.0F, 1.0F }};
24
25/*----------------------------------------------------------------------*/
26
27OpenGl_AspectText::OpenGl_AspectText ()
28 : myZoomable(0),
29 myAngle(0.0F),
eeaaaefb 30 myFontAspect(Font_FA_Regular),
2166f0fa
SK
31 myFont(NULL),
32 //mySpace(0.3F),
33 //myExpan(1.0F),
34 myColor(myDefaultColor),
35 myStyleType(Aspect_TOST_NORMAL),
36 myDisplayType(Aspect_TODT_NORMAL),
37 mySubtitleColor(myDefaultColor)
38{
39 SetFontName( (const char *) "Courier" );
40}
41
42/*----------------------------------------------------------------------*/
43
44OpenGl_AspectText::~OpenGl_AspectText ()
45{
46 if (myFont)
47 delete[] myFont;
48}
49
50/*----------------------------------------------------------------------*/
51
52void OpenGl_AspectText::SetContext (const CALL_DEF_CONTEXTTEXT &AContext)
53{
54 myZoomable = (int) AContext.TextZoomable;
55 myAngle = (float) AContext.TextAngle;
eeaaaefb 56 myFontAspect = (Font_FontAspect) AContext.TextFontAspect;
2166f0fa
SK
57 //mySpace = (float) AContext.Space;
58 //myExpan = (float) AContext.Expan;
59 myColor.rgb[0] = (float) AContext.Color.r;
60 myColor.rgb[1] = (float) AContext.Color.g;
61 myColor.rgb[2] = (float) AContext.Color.b;
62 myColor.rgb[3] = 1.0f;
63 myStyleType = (Aspect_TypeOfStyleText) AContext.Style;
64 myDisplayType = (Aspect_TypeOfDisplayText) AContext.DisplayType;
65 mySubtitleColor.rgb[0] = (float) AContext.ColorSubTitle.r;
66 mySubtitleColor.rgb[1] = (float) AContext.ColorSubTitle.g;
67 mySubtitleColor.rgb[2] = (float) AContext.ColorSubTitle.b;
68 mySubtitleColor.rgb[3] = 1.0f;
69
70 SetFontName( (const char *) AContext.Font );
71}
72
73/*----------------------------------------------------------------------*/
74
5e27df78 75void OpenGl_AspectText::Render (const Handle(OpenGl_Workspace)& theWorkspace) const
2166f0fa 76{
5e27df78 77 theWorkspace->SetAspectText (this);
78}
79
80void OpenGl_AspectText::Release (const Handle(OpenGl_Context)& theContext)
81{
82 //
2166f0fa
SK
83}
84
85/*----------------------------------------------------------------------*/
86
87void OpenGl_AspectText::SetFontName (const char *AFont)
88{
89 if (myFont)
90 delete[] myFont;
91 char *fontname = new char[ strlen( AFont ) + 1 ];
92 strcpy( fontname, AFont );
93 myFont = fontname;
94}
95
96/*----------------------------------------------------------------------*/