2 // File Graphic3d_AspectText3d.cxx
5 // 30/11/98 ; FMN : S3819. Textes always visible.
7 //-Copyright MatraDatavision 1991,1992
11 //-Design Declaration des variables specifiques au contexte
12 // de trace des textes 3d
14 //-Warning Un contexte de trace de texte est defini par :
18 // - l'espace entre caracteres
27 #include <Graphic3d_AspectText3d.ixx>
29 #include <TCollection_AsciiString.hxx>
30 #include <OSD_Environment.hxx>
32 #include <Graphic3d_NameOfFont.hxx>
36 //-Global data definitions
38 // -- la font utilisee
39 // MyFont : NameOfFont;
45 // MyFactor : Standard_Real;
47 // -- l'espace entre caracteres
48 // MySpace : Standard_Real;
51 // MyStyle : TypeOfStyleText;
54 // MyDisplayType : TypeOfDisplayText;
56 // -- la couleur du sous-titrage et pour le fond en mode decalage.
57 // MyColorSubTitle : Color;
67 Graphic3d_AspectText3d::Graphic3d_AspectText3d ():
68 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) {
69 MyTextZoomable = Standard_False;
71 MyTextFontAspect = OSD_FA_Regular;
74 Graphic3d_AspectText3d::Graphic3d_AspectText3d (
75 const Quantity_Color& AColor,
76 const Standard_CString AFont,
77 const Standard_Real AFactor,
78 const Standard_Real ASpace,
79 const Aspect_TypeOfStyleText AStyle,
80 const Aspect_TypeOfDisplayText ADisplayType):
81 MyFont(AFont), MyColor (AColor), MyFactor (AFactor), MySpace (ASpace), MyStyle (AStyle), MyDisplayType(ADisplayType), MyColorSubTitle (Quantity_NOC_WHITE) {
82 MyTextZoomable = Standard_False;
84 MyTextFontAspect = OSD_FA_Regular;
85 if(MyFont.Length() == 0)
86 MyFont.AssignCat(Graphic3d_NOF_ASCII_MONO);
89 Graphic3d_AspectTextDefinitionError::Raise
90 ("Bad value for TextScaleFactor");
94 void Graphic3d_AspectText3d::SetColor (const Quantity_Color& AColor) {
100 void Graphic3d_AspectText3d::SetExpansionFactor (const Standard_Real AFactor) {
103 Graphic3d_AspectTextDefinitionError::Raise
104 ("Bad value for TextScaleFactor");
110 void Graphic3d_AspectText3d::SetFont (const Standard_CString AFont) {
113 TCollection_AsciiString aTemp("");
115 aTemp.AssignCat(Graphic3d_NOF_ASCII_MONO);
117 aTemp.AssignCat(AFont);
121 void Graphic3d_AspectText3d::SetSpace (const Standard_Real ASpace) {
127 void Graphic3d_AspectText3d::SetStyle(const Aspect_TypeOfStyleText AStyle) {
133 void Graphic3d_AspectText3d::SetDisplayType(const Aspect_TypeOfDisplayText ADisplayType) {
135 MyDisplayType = ADisplayType;
139 void Graphic3d_AspectText3d::SetColorSubTitle (const Quantity_Color& AColor) {
141 MyColorSubTitle = AColor;
147 void Graphic3d_AspectText3d::SetTextZoomable(const Standard_Boolean AFlag)
150 MyTextZoomable = AFlag;
154 Standard_Boolean Graphic3d_AspectText3d::GetTextZoomable() const
156 return MyTextZoomable;
159 void Graphic3d_AspectText3d::SetTextAngle(const Standard_Real AAngle)
161 MyTextAngle = AAngle;
164 Standard_Real Graphic3d_AspectText3d::GetTextAngle() const
169 void Graphic3d_AspectText3d::SetTextFontAspect(const OSD_FontAspect AFontAspect)
171 MyTextFontAspect = AFontAspect;
174 OSD_FontAspect Graphic3d_AspectText3d::GetTextFontAspect() const
176 return MyTextFontAspect;
181 void Graphic3d_AspectText3d::Values (Quantity_Color& AColor, Standard_CString& AFont, Standard_Real& AFactor, Standard_Real& ASpace) const {
184 AFont = MyFont.ToCString();
189 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 {
192 AFont = MyFont.ToCString();
196 ADisplayType = MyDisplayType;
197 AColorSubTitle = MyColorSubTitle;
200 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 {
203 AFont = MyFont.ToCString();
207 ADisplayType = MyDisplayType;
208 AColorSubTitle = MyColorSubTitle;
210 ATextZoomable = MyTextZoomable;
211 ATextAngle = MyTextAngle;
215 void Graphic3d_AspectText3d::Values ( Quantity_Color& AColor,
216 Standard_CString& AFont,
217 Standard_Real& AFactor,
218 Standard_Real& ASpace,
219 Aspect_TypeOfStyleText& AStyle,
220 Aspect_TypeOfDisplayText& ADisplayType,
221 Quantity_Color& AColorSubTitle,
222 Standard_Boolean& ATextZoomable,
223 Standard_Real& ATextAngle,
224 OSD_FontAspect& ATextFontAspect ) const
228 AFont = MyFont.ToCString();
232 ADisplayType = MyDisplayType;
233 AColorSubTitle = MyColorSubTitle;
235 ATextZoomable = MyTextZoomable;
236 ATextAngle = MyTextAngle;
237 ATextFontAspect = MyTextFontAspect;