-// Copyright (C) 2005 OPEN CASCADE
+// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
//
-// 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.
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
-// 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.
+// 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.
//
-// 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
+// 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.
//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+// 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
//
-// Author : OPEN CASCADE
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-/***************************************************************************
-** Class: GLViewer_Text
-** Descr: Substitution of Prs3d_Text for OpenGL
-** Module: GLViewer
-** Created: UI team, 10.07.03
-****************************************************************************/
-
+// Author : OPEN CASCADE
//#include <GLViewerAfx.h>
+//
#include "GLViewer_Text.h"
+#include <QApplication>
+#include <QFontMetrics>
+
+/*!
+ 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;
myDTF = DTF_BITMAP;
}
+/*!
+ Destructor
+*/
GLViewer_Text::~GLViewer_Text()
{
}
+/*!
+ \return width of text
+*/
int GLViewer_Text::getWidth()
{
int aResult = 0;
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;
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++ )
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++ )
return aResult;
}
+/*!
+ Initialize text from binary representation
+ \param theBuf - byte array
+*/
GLViewer_Text* GLViewer_Text::fromByteCopy( QByteArray theBuf )
{
int i = 0;