0023634: Eliminate Polyline and Polygon usage in drawers
[occt.git] / src / Prs3d / Prs3d_TextAspect.cxx
1 // Created on: 1993-09-14
2 // Created by: Jean-Louis FRENKEL
3 // Copyright (c) 1993-1999 Matra Datavision
4 // Copyright (c) 1999-2012 OPEN CASCADE SAS
5 //
6 // The content of this file is subject to the Open CASCADE Technology Public
7 // License Version 6.5 (the "License"). You may not use the content of this file
8 // except in compliance with the License. Please obtain a copy of the License
9 // at http://www.opencascade.org and read it completely before using this file.
10 //
11 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 //
14 // The Original Code and all software distributed under the License is
15 // distributed on an "AS IS" basis, without warranty of any kind, and the
16 // Initial Developer hereby disclaims all such warranties, including without
17 // limitation, any warranties of merchantability, fitness for a particular
18 // purpose or non-infringement. Please see the License for the specific terms
19 // and conditions governing the rights and limitations under the License.
20
21
22 #define GER61351    //GG_171199     Enable to set an object RGB color
23 //              instead a restricted object NameOfColor.
24
25
26 #include <Prs3d_TextAspect.ixx>
27 #include <Quantity_Color.hxx>
28 #include <Font_NameOfFont.hxx>
29
30 Prs3d_TextAspect::Prs3d_TextAspect () 
31 : myAngle(0.),
32   myHeight(16.),
33   myHorizontalJustification(Graphic3d_HTA_LEFT),
34   myVerticalJustification(Graphic3d_VTA_BOTTOM),
35   myOrientation(Graphic3d_TP_RIGHT) {
36
37   myTextAspect = new Graphic3d_AspectText3d (
38                                              Quantity_Color(Quantity_NOC_YELLOW),
39                                              Font_NOF_ASCII_TRIPLEX,
40                                              1.,
41                                              0.);
42 }
43
44 #ifdef GER61351
45 void Prs3d_TextAspect::SetColor(const Quantity_Color &aColor) {
46   myTextAspect->SetColor(aColor);
47 }
48 #endif
49
50 void Prs3d_TextAspect::SetColor(const Quantity_NameOfColor aColor) {
51   myTextAspect->SetColor(Quantity_Color(aColor));
52 }
53
54 void Prs3d_TextAspect::SetFont(const Standard_CString aFont) {
55   myTextAspect->SetFont(aFont);
56 }
57
58 void Prs3d_TextAspect::SetHeightWidthRatio(const Standard_Real aRatio) {
59   myTextAspect->SetExpansionFactor(aRatio);
60 }
61
62 void Prs3d_TextAspect::SetSpace(const Quantity_Length aSpace) {
63   myTextAspect->SetSpace(aSpace);
64 }
65
66 void Prs3d_TextAspect::SetHeight(const Standard_Real aHeight) {
67   myHeight = aHeight;
68 }
69
70 void Prs3d_TextAspect::SetAngle(const Quantity_PlaneAngle anAngle) {
71   myAngle = anAngle;
72 }
73
74 void Prs3d_TextAspect::SetHorizontalJustification(const Graphic3d_HorizontalTextAlignment aJustification) {
75   myHorizontalJustification = aJustification;
76 }
77
78
79 void Prs3d_TextAspect::SetVerticalJustification(const Graphic3d_VerticalTextAlignment aJustification) {
80   myVerticalJustification = aJustification;
81 }
82
83 void Prs3d_TextAspect::SetOrientation(const Graphic3d_TextPath anOrientation) {
84
85   myOrientation = anOrientation;
86 }
87
88 Standard_Real Prs3d_TextAspect::Height () const {return myHeight;}
89
90 Quantity_PlaneAngle Prs3d_TextAspect::Angle () const {return myAngle;}
91
92 Graphic3d_HorizontalTextAlignment Prs3d_TextAspect::HorizontalJustification () const { return myHorizontalJustification;}
93
94 Graphic3d_VerticalTextAlignment Prs3d_TextAspect::VerticalJustification () const { return myVerticalJustification;}
95
96 Graphic3d_TextPath Prs3d_TextAspect::Orientation () const {return myOrientation;}
97
98 Handle(Graphic3d_AspectText3d) Prs3d_TextAspect::Aspect() const {
99   return myTextAspect;
100 }