-// Copyright (C) 2014-2017 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2020 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
//
// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// See http://www.salome-platform.org/ or
-// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#include "SketcherPrs_SymbolPrs.h"
SketcherPrs_SymbolPrs::SketcherPrs_SymbolPrs(ModelAPI_Feature* theConstraint,
SketchPlugin_Sketch* theSketcher)
: AIS_InteractiveObject(), myConstraint(theConstraint),
- myPlane(theSketcher->coordinatePlane()), myIsCustomColor(false),
+ myIsCustomColor(false),
mySketcher(theSketcher)
{
SetAutoHilight(Standard_False);
aFile = std::string(anEnv) +
FSEP + "share" + FSEP + "salome" + FSEP + "resources" + FSEP + "shaper";
} else {
- anEnv = getenv("OPENPARTS_ROOT_DIR");
+ anEnv = getenv("CADBUILDER_ROOT_DIR");
if (anEnv)
aFile = std::string(anEnv) + FSEP + "resources";
}
aFile += iconName();
Handle(Image_AlienPixMap) aPixMap = new Image_AlienPixMap();
if (aPixMap->Load(aFile.c_str())) {
+ int aRatio = SketcherPrs_Tools::pixelRatio();
+ if (aRatio > 1) {
+ Handle(Image_AlienPixMap) aSizedMap = new Image_AlienPixMap();
+ Standard_Size aWidth = aPixMap->Width() * aRatio;
+ Standard_Size aHeigh = aPixMap->Height() * aRatio;
+ aSizedMap->InitTrash(aPixMap->Format(), aWidth, aHeigh);
+ for (Standard_Size i = 0; i < aWidth; i++) {
+ for (Standard_Size j = 0; j < aHeigh; j++) {
+ aSizedMap->SetPixelColor(int(i), int(j), aPixMap->PixelColor(i / aRatio, j / aRatio));
+ }
+ }
+ aPixMap = aSizedMap;
+ }
myIconsMap[iconName()] = aPixMap;
return aPixMap;
}
// The icon for constraint is not found
static const char aMsg[] = "Error! constraint images are not found";
- cout<<aMsg<<endl;
+ std::cout<<aMsg<<std::endl;
Events_InfoMessage("SketcherPrs_SymbolPrs", aMsg).send();
myIconsMap[iconName()] = Handle(Image_AlienPixMap)();
return Handle(Image_AlienPixMap)();
const Handle(Prs3d_Presentation)& thePresentation,
const Standard_Integer theMode)
{
+ if (!plane().get())
+ return;
// Create an icon
prepareAspect();