X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketcherPrs%2FSketcherPrs_SymbolPrs.cpp;h=5f79c5fbaec5d90b5dca3abe513ef441be0c4bf3;hb=ea593bc59e7e9461f6c4e2afd3f24d621edb1011;hp=48f851972d0438e6b72ad6c28201b8e2b8a32e8d;hpb=9a32ae7ead8579a9ffae9ad356d6ce5b2ba4955a;p=modules%2Fshaper.git diff --git a/src/SketcherPrs/SketcherPrs_SymbolPrs.cpp b/src/SketcherPrs/SketcherPrs_SymbolPrs.cpp index 48f851972..5f79c5fba 100644 --- a/src/SketcherPrs/SketcherPrs_SymbolPrs.cpp +++ b/src/SketcherPrs/SketcherPrs_SymbolPrs.cpp @@ -168,7 +168,7 @@ Handle(Image_AlienPixMap) SketcherPrs_SymbolPrs::icon() 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"; } @@ -177,6 +177,19 @@ Handle(Image_AlienPixMap) SketcherPrs_SymbolPrs::icon() 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(i, j, aPixMap->PixelColor(i / aRatio, j / aRatio)); + } + } + aPixMap = aSizedMap; + } myIconsMap[iconName()] = aPixMap; return aPixMap; } @@ -261,6 +274,8 @@ void SketcherPrs_SymbolPrs::Compute( const Handle(Prs3d_Presentation)& thePresentation, const Standard_Integer theMode) { + if (!plane().get()) + return; // Create an icon prepareAspect();