diff --git a/Cube4Fun/Base.lproj/MainMenu.xib b/Cube4Fun/Base.lproj/MainMenu.xib index 1a22a74..451f384 100644 --- a/Cube4Fun/Base.lproj/MainMenu.xib +++ b/Cube4Fun/Base.lproj/MainMenu.xib @@ -149,11 +149,6 @@ - - - - - @@ -169,6 +164,16 @@ + + + + + + + + + + diff --git a/Cube4Fun/src/Animations.swift b/Cube4Fun/src/Animations.swift index 577e3e6..7fbd272 100644 --- a/Cube4Fun/src/Animations.swift +++ b/Cube4Fun/src/Animations.swift @@ -235,8 +235,6 @@ class Animations: NSObject { var myData: NSMutableData = (self.getAnimation(_animationSelected)).objectForKey(AnimFrames) as! NSMutableData var myDataBytes = self.getAnimDataSelected() - - //var myData: [UInt8] = [UInt8]() // Get startPositions of the selected frame var frameStartPos = (self.getAnimationFrameID()-1)*64 @@ -260,17 +258,34 @@ class Animations: NSObject { self.clearLEDColor() } - /* + func deleteDisplFrame() { + println("delete frame") + // Get Array - let myData = self.getAnimDataSelected() + var myData: NSMutableData = (self.getAnimation(_animationSelected)).objectForKey(AnimFrames) as! NSMutableData + var myDataBytes = self.getAnimDataSelected() + // Get startPositions of the selected frame var frameStartPos = (self.getAnimationFrameID()-1)*64 - for index in 0...64 { - myData.removeAtIndex(frameStartPos) - } + + var lastArrPos: Int = myData.length - 1 - 64 + println("Framestart: \(frameStartPos)") + println("Framelength: \(lastArrPos)") + + // copy frames (fill deleted frame) + while ( frameStartPos <= lastArrPos ) { + // myDataBytes[lastArrPos] = myDataBytes[lastArrPos-64] + let myByte: [UInt8] = [myDataBytes[frameStartPos+64]] + let bytePosition = NSMakeRange(frameStartPos, 1) + myData.replaceBytesInRange(bytePosition, withBytes: myByte) + ++frameStartPos + } + + // delete last frame + myData.length = myData.length - 64 } - */ + diff --git a/Cube4Fun/src/AppDelegate.swift b/Cube4Fun/src/AppDelegate.swift index 9259ab0..9093d57 100644 --- a/Cube4Fun/src/AppDelegate.swift +++ b/Cube4Fun/src/AppDelegate.swift @@ -185,4 +185,18 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSTextFieldDelegate { // Update on a hardware __animations.sendFrame() } + + @IBAction func cmdDeletePressed(send: AnyObject) { + // Check if we have more than one frame + if __animations.getAnimationFrameCount() > 1 { + __animations.deleteDisplFrame() + + // Update visual + _gameView.updateLEDFrame() + _gameView.updateButtonVisibility() + + // Update on a hardware + __animations.sendFrame() + } + } }