]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
moved method imageToPixmap() from GEOM_Displayer to GUI module (OCCViewer) as external
authormpa <mpa@opencascade.com>
Thu, 11 Sep 2014 09:02:10 +0000 (13:02 +0400)
committermpa <mpa@opencascade.com>
Thu, 11 Sep 2014 09:02:10 +0000 (13:02 +0400)
src/GEOMGUI/GEOM_Displayer.cxx

index a012c220b7b1684696323245c100912c615adae8..fbecdc54a23ff6f0553d8ee46adfea0b83e07af0 100644 (file)
@@ -77,6 +77,7 @@
 
 #include <OCCViewer_ViewWindow.h>
 #include <OCCViewer_ViewPort3d.h>
+#include <OCCViewer_Utilities.h>
 
 // OCCT Includes
 #include <AIS_Drawer.hxx>
@@ -158,47 +159,6 @@ namespace
     return aMap;
   }
 
-  //===========================================================================
-  // Function : imageToPixmap
-  // Purpose  : Concert QImage to OCCT pixmap
-  //===========================================================================
-  static inline Handle(Image_PixMap) imageToPixmap( const QImage& anImage )
-  { 
-    Handle(Image_PixMap) aPixmap = new Image_PixMap();
-    if ( !anImage.isNull() ) {
-      aPixmap->InitTrash( Image_PixMap::ImgBGRA, anImage.width(), anImage.height() );
-      aPixmap->SetTopDown( Standard_True );
-      
-      const uchar* aImageBytes = anImage.bits();
-      
-      for ( int aLine = anImage.height() - 1; aLine >= 0; --aLine ) {
-#if OCC_VERSION_LARGE > 0x06070100
-       // convert pixels from ARGB to renderer-compatible RGBA
-       for ( int aByte = 0; aByte < anImage.width(); ++aByte ) {
-         Image_ColorBGRA& aPixmapBytes = aPixmap->ChangeValue<Image_ColorBGRA>(aLine, aByte);
-       
-         aPixmapBytes.b() = (Standard_Byte) *aImageBytes++;
-         aPixmapBytes.g() = (Standard_Byte) *aImageBytes++;
-         aPixmapBytes.r() = (Standard_Byte) *aImageBytes++;
-         aPixmapBytes.a() = (Standard_Byte) *aImageBytes++;
-       }
-#else
-       Image_ColorBGRA* aPixmapBytes = aPixmap->EditData<Image_ColorBGRA>().ChangeRow(aLine);
-       
-        // convert pixels from ARGB to renderer-compatible RGBA
-        for ( int aByte = 0; aByte < anImage.width(); ++aByte ) {
-         aPixmapBytes->b() = (Standard_Byte) *aImageBytes++;
-         aPixmapBytes->g() = (Standard_Byte) *aImageBytes++;
-         aPixmapBytes->r() = (Standard_Byte) *aImageBytes++;
-         aPixmapBytes->a() = (Standard_Byte) *aImageBytes++;
-         aPixmapBytes++;
-        }
-#endif
-      }
-    }
-    return aPixmap;
-  }
-  
   //===========================================================================
   // Function : getDefaultTexture
   // Purpose  : Get default texture