1 // Created by: NW,JPB,CAL
2 // Copyright (c) 1991-1999 Matra Datavision
3 // Copyright (c) 1999-2012 OPEN CASCADE SAS
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.
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.
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.
21 // 30/11/98 ; FMN : S3819. Textes always visible.
26 //-Design Declaration of variables specific to the context
27 // of trace of texts 3d
29 //-Warning A context of trace of text is defined by :
33 // - the space between characters
42 #include <Graphic3d_AspectText3d.ixx>
44 #include <TCollection_AsciiString.hxx>
45 #include <OSD_Environment.hxx>
47 #include <Graphic3d_NameOfFont.hxx>
51 //-Global data definitions
53 // -- la font utilisee
54 // MyFont : NameOfFont;
60 // MyFactor : Standard_Real;
62 // -- l'espace entre caracteres
63 // MySpace : Standard_Real;
66 // MyStyle : TypeOfStyleText;
69 // MyDisplayType : TypeOfDisplayText;
71 // -- la couleur du sous-titrage et pour le fond en mode decalage.
72 // MyColorSubTitle : Color;
82 Graphic3d_AspectText3d::Graphic3d_AspectText3d ():
83 MyFont (Graphic3d_NOF_ASCII_MONO), MyColor (Quantity_NOC_YELLOW), MyFactor (1.0), MySpace (0.0), MyStyle (Aspect_TOST_NORMAL), MyDisplayType (Aspect_TODT_NORMAL), MyColorSubTitle (Quantity_NOC_WHITE) {
84 MyTextZoomable = Standard_False;
86 MyTextFontAspect = Font_FA_Regular;
89 Graphic3d_AspectText3d::Graphic3d_AspectText3d (
90 const Quantity_Color& AColor,
91 const Standard_CString AFont,
92 const Standard_Real AFactor,
93 const Standard_Real ASpace,
94 const Aspect_TypeOfStyleText AStyle,
95 const Aspect_TypeOfDisplayText ADisplayType):
96 MyFont(AFont), MyColor (AColor), MyFactor (AFactor), MySpace (ASpace), MyStyle (AStyle), MyDisplayType(ADisplayType), MyColorSubTitle (Quantity_NOC_WHITE) {
97 MyTextZoomable = Standard_False;
99 MyTextFontAspect = Font_FA_Regular;
100 if(MyFont.Length() == 0)
101 MyFont.AssignCat(Graphic3d_NOF_ASCII_MONO);
104 Graphic3d_AspectTextDefinitionError::Raise
105 ("Bad value for TextScaleFactor");
109 void Graphic3d_AspectText3d::SetColor (const Quantity_Color& AColor) {
115 void Graphic3d_AspectText3d::SetExpansionFactor (const Standard_Real AFactor) {
118 Graphic3d_AspectTextDefinitionError::Raise
119 ("Bad value for TextScaleFactor");
125 void Graphic3d_AspectText3d::SetFont (const Standard_CString AFont) {
128 TCollection_AsciiString aTemp("");
130 aTemp.AssignCat(Graphic3d_NOF_ASCII_MONO);
132 aTemp.AssignCat(AFont);
136 void Graphic3d_AspectText3d::SetSpace (const Standard_Real ASpace) {
142 void Graphic3d_AspectText3d::SetStyle(const Aspect_TypeOfStyleText AStyle) {
148 void Graphic3d_AspectText3d::SetDisplayType(const Aspect_TypeOfDisplayText ADisplayType) {
150 MyDisplayType = ADisplayType;
154 void Graphic3d_AspectText3d::SetColorSubTitle (const Quantity_Color& AColor) {
156 MyColorSubTitle = AColor;
162 void Graphic3d_AspectText3d::SetTextZoomable(const Standard_Boolean AFlag)
165 MyTextZoomable = AFlag;
169 Standard_Boolean Graphic3d_AspectText3d::GetTextZoomable() const
171 return MyTextZoomable;
174 void Graphic3d_AspectText3d::SetTextAngle(const Standard_Real AAngle)
176 MyTextAngle = AAngle;
179 Standard_Real Graphic3d_AspectText3d::GetTextAngle() const
184 void Graphic3d_AspectText3d::SetTextFontAspect(const Font_FontAspect AFontAspect)
186 MyTextFontAspect = AFontAspect;
189 Font_FontAspect Graphic3d_AspectText3d::GetTextFontAspect() const
191 return MyTextFontAspect;
196 void Graphic3d_AspectText3d::Values (Quantity_Color& AColor, Standard_CString& AFont, Standard_Real& AFactor, Standard_Real& ASpace) const {
199 AFont = MyFont.ToCString();
204 void Graphic3d_AspectText3d::Values (Quantity_Color& AColor, Standard_CString& AFont, Standard_Real& AFactor, Standard_Real& ASpace, Aspect_TypeOfStyleText& AStyle,Aspect_TypeOfDisplayText& ADisplayType,Quantity_Color& AColorSubTitle) const {
207 AFont = MyFont.ToCString();
211 ADisplayType = MyDisplayType;
212 AColorSubTitle = MyColorSubTitle;
215 void Graphic3d_AspectText3d::Values (Quantity_Color& AColor, Standard_CString& AFont, Standard_Real& AFactor, Standard_Real& ASpace, Aspect_TypeOfStyleText& AStyle,Aspect_TypeOfDisplayText& ADisplayType,Quantity_Color& AColorSubTitle, Standard_Boolean& ATextZoomable,Standard_Real& ATextAngle ) const {
218 AFont = MyFont.ToCString();
222 ADisplayType = MyDisplayType;
223 AColorSubTitle = MyColorSubTitle;
225 ATextZoomable = MyTextZoomable;
226 ATextAngle = MyTextAngle;
230 void Graphic3d_AspectText3d::Values ( Quantity_Color& AColor,
231 Standard_CString& AFont,
232 Standard_Real& AFactor,
233 Standard_Real& ASpace,
234 Aspect_TypeOfStyleText& AStyle,
235 Aspect_TypeOfDisplayText& ADisplayType,
236 Quantity_Color& AColorSubTitle,
237 Standard_Boolean& ATextZoomable,
238 Standard_Real& ATextAngle,
239 Font_FontAspect& ATextFontAspect ) const
243 AFont = MyFont.ToCString();
247 ADisplayType = MyDisplayType;
248 AColorSubTitle = MyColorSubTitle;
250 ATextZoomable = MyTextZoomable;
251 ATextAngle = MyTextAngle;
252 ATextFontAspect = MyTextFontAspect;