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

List:       kde-commits
Subject:    koffice/krita/ui
From:       Sven Langkamp <sven.langkamp () gmail ! com>
Date:       2010-10-18 17:36:56
Message-ID: 20101018173656.37B48AC896 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1187223 by langkamp:

fix mirroring of layers
CCBUG:251168


 M  +22 -2     kis_layer_manager.cc  


--- trunk/koffice/krita/ui/kis_layer_manager.cc #1187222:1187223
@@ -641,6 +641,16 @@
 
 void KisLayerManager::mirrorLayerX()
 {
+    KisLayerSP layer = activeLayer();
+    
+    if (layer->inherits("KisShapeLayer")) {
+        m_view->image()->undoAdapter()->beginMacro(i18n("Mirror Layer X"));
+
+        KisTransformVisitor visitor(m_view->image(), -1.0, 1.0, 0.0, 0.0, 0.0, \
m_view->image()->width(), 0, 0, 0); +        layer->accept(visitor);
+
+        m_view->image()->undoAdapter()->endMacro();
+    } else {
     KisPaintDeviceSP dev = activeDevice();
     if (!dev) return;
 
@@ -650,7 +660,7 @@
     m_activeLayer->setDirty(dirty);
 
     transaction.commit(m_view->image()->undoAdapter());
-
+    }
     m_doc->setModified(true);
     layersUpdated();
     m_view->canvas()->update();
@@ -658,6 +668,16 @@
 
 void KisLayerManager::mirrorLayerY()
 {
+    KisLayerSP layer = activeLayer();
+    
+    if (layer->inherits("KisShapeLayer")) {
+        m_view->image()->undoAdapter()->beginMacro(i18n("Mirror Layer Y"));
+
+        KisTransformVisitor visitor(m_view->image(), 1.0, -1.0, 0.0, 0.0, 0.0, 0, \
m_view->image()->height(), 0, 0); +        layer->accept(visitor);
+
+        m_view->image()->undoAdapter()->endMacro();
+    } else {
     KisPaintDeviceSP dev = activeDevice();
     if (!dev) return;
 
@@ -667,7 +687,7 @@
     m_activeLayer->setDirty(dirty);
 
     transaction.commit(m_view->image()->undoAdapter());
-
+    }
     m_doc->setModified(true);
     layersUpdated();
     m_view->canvas()->update();


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

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