[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdeextragear-3/digikam/imageplugins
From:       Gilles Caulier <caulier.gilles () free ! fr>
Date:       2005-02-05 18:23:44
Message-ID: 20050205182344.651C21D017 () office ! kde ! org
[Download RAW message or body]

CVS commit by cgilles: 

simplify crop implementation. remove imlib2 depency


  M +6 -28     imageeffect_ratiocrop.cpp   1.27


--- kdeextragear-3/digikam/imageplugins/imageeffect_ratiocrop.cpp  #1.26:1.27
@@ -19,9 +19,4 @@
  * ============================================================ */
 
-// Imlib2 include.
-
-#define X_DISPLAY_MISSING 1
-#include <Imlib2.h>
-
 // C++ include.
 
@@ -38,4 +33,5 @@
 #include <qcombobox.h>
 #include <qcheckbox.h>
+#include <qimage.h>
 
 // KDE includes.
@@ -394,28 +390,10 @@ void ImageEffect_RatioCrop::slotOk()
     QRect currentPos = m_imageSelectionWidget->getRegionSelection();
 
-    Imlib_Context context = imlib_context_new();
-    imlib_context_push(context);
-
-    Imlib_Image imOrg = imlib_create_image_using_copied_data(w, h, data);
-    imlib_context_set_image(imOrg);
-    
-    Imlib_Image imDest = imlib_create_cropped_image(currentPos.left(), currentPos.top(),
-                                                    currentPos.width(), currentPos.height());
-    imlib_context_set_image(imDest);    
-    
-    uint* ptr  = imlib_image_get_data_for_reading_only();
-    int   newW = imlib_image_get_width();
-    int   newH = imlib_image_get_height();
-
-    iface.putOriginalData(ptr, newW, newH);   
-    
-    imlib_context_set_image(imOrg);
-    imlib_free_image_and_decache();
-
-    imlib_context_set_image(imDest);
-    imlib_free_image_and_decache();
+    QImage imOrg, imDest;
+    imOrg.create(w, h, 32);
+    memcpy(imOrg.bits(), data, imOrg.numBytes());
+    imDest = imOrg.copy(currentPos);
+    iface.putOriginalData((uint*)imDest.bits(), imDest.width(), imDest.height());   
     
-    imlib_context_pop();
-    imlib_context_free(context);       
     delete [] data;
     m_parent->setCursor( KCursor::arrowCursor() );


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic