]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
*** empty log message ***
authorvsr <vsr@opencascade.com>
Tue, 31 Jul 2007 09:47:31 +0000 (09:47 +0000)
committervsr <vsr@opencascade.com>
Tue, 31 Jul 2007 09:47:31 +0000 (09:47 +0000)
src/Qtx/Qtx.cxx
src/Qtx/Qtx.h

index db5c4d0b780e7ccf75a81f75ef14c2b6bdfebc81..89d87060da3ceb386847ac8c5d5f724bf8c92a21 100755 (executable)
@@ -685,6 +685,28 @@ void Qtx::scaleColors( const int num, QColorList& lst )
     lst.append( scaleColor( i, 0, num - 1 ) );
 }
 
+/*!
+  \brief Scale the pixmap to the required size.
+
+  If \h is 0 (default) the value of \a w is used instead (to create
+  square pixmap).
+
+  \param icon pixmap to be resized
+  \param w required pixmap width
+  \param h required pixmap height
+  \return scaled pixmap
+*/
+QPixmap Qtx::scaleIcon( const QPixmap& icon, const unsigned w, const unsigned h )
+{
+  QPixmap p;
+  int aw = w, ah = h <= 0 ? w : h;
+  if ( p.isNull() || aw <= 0 || ah <= 0 || aw == icon.width() && ah == icon.height() )
+    p = icon;
+  else
+    p = icon.fromImage( icon.toImage().scaled( aw, ah, Qt::KeepAspectRatio, Qt::SmoothTransformation ) );
+  return p;
+}
+
 /*!
   \brief Convert given image to the grayscale format.
   \param img initial image
index a96420ce65d3c2db38dad772ed54316b387695be..90a79b30e4438b7218cf5d4dc959f996ca24671b 100755 (executable)
@@ -129,6 +129,7 @@ public:
   static QColor      scaleColor( const int, const int, const int );
   static void        scaleColors( const int, QColorList& );
 
+  static QPixmap     scaleIcon( const QPixmap&, const unsigned, const unsigned = 0 );
   static QImage      grayscale( const QImage& );
   static QPixmap     grayscale( const QPixmap& );
   static QImage      transparentImage( const int, const int, const int = -1 );