X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOMEDS%2FSALOMEDS_AttributeTextColor_i.cxx;h=a8966aded8df86f6855eb982d154f5fae434c444;hb=ca9e07a3f03439a2d15bf61842adc407c0ee4118;hp=f1c5b65efcdf69d57b4fc05a38dc7ceda7c0af04;hpb=89d8cdd476c5f4d65bc3fd1089f092af42e2841c;p=modules%2Fyacs.git diff --git a/src/SALOMEDS/SALOMEDS_AttributeTextColor_i.cxx b/src/SALOMEDS/SALOMEDS_AttributeTextColor_i.cxx index f1c5b65ef..a8966aded 100644 --- a/src/SALOMEDS/SALOMEDS_AttributeTextColor_i.cxx +++ b/src/SALOMEDS/SALOMEDS_AttributeTextColor_i.cxx @@ -1,74 +1,59 @@ -// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server +// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE // -// Copyright (C) 2003 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. -// -// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// 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 +// + // File : SALOMEDS_AttributeTextColor_i.cxx -// Author : Yves FRICAUD +// Author : Sergey RUIN // Module : SALOME -// $Header$ - +// #include "SALOMEDS_AttributeTextColor_i.hxx" -#include "SALOMEDS_SObject_i.hxx" -#include -using namespace std; +#include "SALOMEDS.hxx" +#include -SALOMEDS::Color SALOMEDS_AttributeTextColor_i::TextColor() { +SALOMEDS::Color SALOMEDS_AttributeTextColor_i::TextColor() +{ + SALOMEDS::Locker lock; SALOMEDS::Color TextColor; - Handle(TColStd_HArray1OfReal) anArray = Handle(SALOMEDS_TextColorAttribute)::DownCast(_myAttr)->Array(); - if (anArray.IsNull() || anArray->Length()!=3) { + std::vector anArray = dynamic_cast(_impl)->TextColor(); + if (anArray.size()!=3) { TextColor.R = 0; TextColor.G = 0; TextColor.B = 0; } else { - TextColor.R = anArray->Value(1); - TextColor.G = anArray->Value(2); - TextColor.B = anArray->Value(3); + TextColor.R = anArray[0]; + TextColor.G = anArray[1]; + TextColor.B = anArray[2]; } return TextColor; } -void SALOMEDS_AttributeTextColor_i::SetTextColor(const SALOMEDS::Color& value) { +void SALOMEDS_AttributeTextColor_i::SetTextColor(const SALOMEDS::Color& value) +{ + SALOMEDS::Locker lock; CheckLocked(); - Handle(TColStd_HArray1OfReal) anArray = new TColStd_HArray1OfReal(1,3); - anArray->SetValue(1, value.R); - anArray->SetValue(2, value.G); - anArray->SetValue(3, value.B); - Handle(SALOMEDS_TextColorAttribute)::DownCast(_myAttr)->ChangeArray(anArray); -} - -char* SALOMEDS_AttributeTextColor_i::Store() { - SALOMEDS::Color aColor = TextColor(); - char *Val = new char[75]; - sprintf(Val, "%f %f %f", (float)aColor.R, (float)aColor.G, (float)aColor.B); - return Val; + std::vector anArray; + anArray.push_back(value.R); + anArray.push_back(value.G); + anArray.push_back(value.B); + dynamic_cast(_impl)->ChangeArray(anArray); } -void SALOMEDS_AttributeTextColor_i::Restore(const char* value) { - SALOMEDS::Color aColor; - float r, g, b; - sscanf(value, "%f %f %f", &r, &g, &b); - aColor.R = r; - aColor.G = g; - aColor.B = b; - SetTextColor(aColor); -}