X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGLViewer%2FGLViewer_Text.cxx;h=324305286a26234622ae9cca702f26747d8638ae;hb=797f7c8b3ebf8d8a1eabc9082f8bd79f6f7ea413;hp=6dda7b8cf519d547d235fecbb076f4491de81f8b;hpb=4b914be3971471bcd67878b96fbdca12fbc2ac1d;p=modules%2Fgui.git diff --git a/src/GLViewer/GLViewer_Text.cxx b/src/GLViewer/GLViewer_Text.cxx index 6dda7b8cf..324305286 100644 --- a/src/GLViewer/GLViewer_Text.cxx +++ b/src/GLViewer/GLViewer_Text.cxx @@ -1,24 +1,50 @@ -/*************************************************************************** -** Class: GLViewer_Text -** Descr: Substitution of Prs3d_Text for OpenGL -** Module: GLViewer -** Created: UI team, 10.07.03 -****************************************************************************/ - +// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + +// Author : OPEN CASCADE //#include +// #include "GLViewer_Text.h" +#include +#include + +/*! + Constructor +*/ GLViewer_Text::GLViewer_Text( const QString& text, float xPos, float yPos, const QColor& color ) { myText = text; myXPos = xPos; myYPos = yPos; myColor = color; - myQFont = QFont::defaultFont(); + myQFont = QApplication::font();//QFont::defaultFont(); mySeparator = 2; myDTF = DTF_BITMAP; } +/*! + Constructor +*/ GLViewer_Text::GLViewer_Text( const QString& text, float xPos, float yPos, const QColor& color, QFont theFont, int theSeparator ) { myText = text; @@ -30,10 +56,16 @@ GLViewer_Text::GLViewer_Text( const QString& text, float xPos, float yPos, const myDTF = DTF_BITMAP; } +/*! + Destructor +*/ GLViewer_Text::~GLViewer_Text() { } +/*! + \return width of text +*/ int GLViewer_Text::getWidth() { int aResult = 0; @@ -43,12 +75,19 @@ int GLViewer_Text::getWidth() return aResult; } +/*! + \return height of text +*/ int GLViewer_Text::getHeight() { QFontMetrics aFM( myQFont ); return aFM.height(); } +/*! + Codes object as byte copy + \return byte array +*/ QByteArray GLViewer_Text::getByteCopy() const { int i; @@ -57,10 +96,11 @@ QByteArray GLViewer_Text::getByteCopy() const int aR = myColor.red(); int aG = myColor.green(); int aB = myColor.blue(); - const char* aStr = myText.data(); + const char* aStr = myText.toLatin1().constData(); int anISize = sizeof( int ); - QByteArray aResult( aSize ); + QByteArray aResult; + aResult.resize( aSize ); char* aPointer = (char*)&myXPos; for( i = 0; i < anISize; i++, aPointer++ ) @@ -91,7 +131,7 @@ QByteArray GLViewer_Text::getByteCopy() const for( ; i < 7*anISize + aTextSize; i++, aPointer++ ) aResult[i] = *aPointer; - const char* aFontStr = myQFont.toString().data(); + const char* aFontStr = myQFont.toString().toLatin1().constData(); int aFontSize = myQFont.toString().length(); for( i = 0; i < aFontSize; i++ ) @@ -100,6 +140,10 @@ QByteArray GLViewer_Text::getByteCopy() const return aResult; } +/*! + Initialize text from binary representation + \param theBuf - byte array +*/ GLViewer_Text* GLViewer_Text::fromByteCopy( QByteArray theBuf ) { int i = 0;