small revisions (QML)

This commit is contained in:
polos 2017-03-03 11:41:43 +01:00
parent 31c52196f7
commit 5a7008af1a
3 changed files with 33 additions and 164 deletions

View file

@ -14,10 +14,9 @@
(let ((num 0))
(mapc (lambda (char xy)
(incf num)
(qml "PalindromeImage"
(format s "objectName: 'img~A'~% source: 'img/~A.png'~% x: ~D; y: ~D~%"
num
(image-of-char char)
(* 31 (first xy))
(* 31 (second xy)))))
(qml "PalindromeImage { objectName: 'img~A'; source: 'img/~A.png'; x: ~D; y: ~D }~%"
num
(image-of-char char)
(* 31 (first xy))
(* 31 (second xy))))
*chars* (first *move-to-positions*)))))

View file

@ -6,154 +6,29 @@ import 'ext/'
Rectangle {
width: 527; height: 527
color: 'black'
PalindromeImage {
objectName: 'img1'
source: 'img/R.png'
x: 186; y: 186
}
PalindromeImage {
objectName: 'img2'
source: 'img/O.png'
x: 217; y: 186
}
PalindromeImage {
objectName: 'img3'
source: 'img/T.png'
x: 248; y: 186
}
PalindromeImage {
objectName: 'img4'
source: 'img/A.png'
x: 279; y: 186
}
PalindromeImage {
objectName: 'img5'
source: 'img/S.png'
x: 310; y: 186
}
PalindromeImage {
objectName: 'img6'
source: 'img/O.png'
x: 186; y: 217
}
PalindromeImage {
objectName: 'img7'
source: 'img/P.png'
x: 217; y: 217
}
PalindromeImage {
objectName: 'img8'
source: 'img/E.png'
x: 248; y: 217
}
PalindromeImage {
objectName: 'img9'
source: 'img/R.png'
x: 279; y: 217
}
PalindromeImage {
objectName: 'img10'
source: 'img/A.png'
x: 310; y: 217
}
PalindromeImage {
objectName: 'img11'
source: 'img/T.png'
x: 186; y: 248
}
PalindromeImage {
objectName: 'img12'
source: 'img/E.png'
x: 217; y: 248
}
PalindromeImage {
objectName: 'img13'
source: 'img/N.png'
x: 248; y: 248
}
PalindromeImage {
objectName: 'img14'
source: 'img/E.png'
x: 279; y: 248
}
PalindromeImage {
objectName: 'img15'
source: 'img/T.png'
x: 310; y: 248
}
PalindromeImage {
objectName: 'img16'
source: 'img/A.png'
x: 186; y: 279
}
PalindromeImage {
objectName: 'img17'
source: 'img/R.png'
x: 217; y: 279
}
PalindromeImage {
objectName: 'img18'
source: 'img/E.png'
x: 248; y: 279
}
PalindromeImage {
objectName: 'img19'
source: 'img/P.png'
x: 279; y: 279
}
PalindromeImage {
objectName: 'img20'
source: 'img/O.png'
x: 310; y: 279
}
PalindromeImage {
objectName: 'img21'
source: 'img/S.png'
x: 186; y: 310
}
PalindromeImage {
objectName: 'img22'
source: 'img/A.png'
x: 217; y: 310
}
PalindromeImage {
objectName: 'img23'
source: 'img/T.png'
x: 248; y: 310
}
PalindromeImage {
objectName: 'img24'
source: 'img/O.png'
x: 279; y: 310
}
PalindromeImage {
objectName: 'img25'
source: 'img/R.png'
x: 310; y: 310
}
PalindromeImage { objectName: 'img1'; source: 'img/R.png'; x: 186; y: 186 }
PalindromeImage { objectName: 'img2'; source: 'img/O.png'; x: 217; y: 186 }
PalindromeImage { objectName: 'img3'; source: 'img/T.png'; x: 248; y: 186 }
PalindromeImage { objectName: 'img4'; source: 'img/A.png'; x: 279; y: 186 }
PalindromeImage { objectName: 'img5'; source: 'img/S.png'; x: 310; y: 186 }
PalindromeImage { objectName: 'img6'; source: 'img/O.png'; x: 186; y: 217 }
PalindromeImage { objectName: 'img7'; source: 'img/P.png'; x: 217; y: 217 }
PalindromeImage { objectName: 'img8'; source: 'img/E.png'; x: 248; y: 217 }
PalindromeImage { objectName: 'img9'; source: 'img/R.png'; x: 279; y: 217 }
PalindromeImage { objectName: 'img10'; source: 'img/A.png'; x: 310; y: 217 }
PalindromeImage { objectName: 'img11'; source: 'img/T.png'; x: 186; y: 248 }
PalindromeImage { objectName: 'img12'; source: 'img/E.png'; x: 217; y: 248 }
PalindromeImage { objectName: 'img13'; source: 'img/N.png'; x: 248; y: 248 }
PalindromeImage { objectName: 'img14'; source: 'img/E.png'; x: 279; y: 248 }
PalindromeImage { objectName: 'img15'; source: 'img/T.png'; x: 310; y: 248 }
PalindromeImage { objectName: 'img16'; source: 'img/A.png'; x: 186; y: 279 }
PalindromeImage { objectName: 'img17'; source: 'img/R.png'; x: 217; y: 279 }
PalindromeImage { objectName: 'img18'; source: 'img/E.png'; x: 248; y: 279 }
PalindromeImage { objectName: 'img19'; source: 'img/P.png'; x: 279; y: 279 }
PalindromeImage { objectName: 'img20'; source: 'img/O.png'; x: 310; y: 279 }
PalindromeImage { objectName: 'img21'; source: 'img/S.png'; x: 186; y: 310 }
PalindromeImage { objectName: 'img22'; source: 'img/A.png'; x: 217; y: 310 }
PalindromeImage { objectName: 'img23'; source: 'img/T.png'; x: 248; y: 310 }
PalindromeImage { objectName: 'img24'; source: 'img/O.png'; x: 279; y: 310 }
PalindromeImage { objectName: 'img25'; source: 'img/R.png'; x: 310; y: 310 }
}

View file

@ -107,20 +107,15 @@
(defun animation-change (running) ; called from QML
(incf *running-animations* (if running 1 -1))
(run-queued))
(x:while (and (zerop *running-animations*)
*function-queue*)
(funcall (pop *function-queue*))))
(defun run-or-enqueue (function)
(if (zerop *running-animations*)
(funcall function)
(setf *function-queue* (nconc *function-queue* (list function)))))
(defun run-queued ()
"If there is no currently running animation, run all functions in the queue."
(when (and (zerop *running-animations*)
*function-queue*)
(funcall (pop *function-queue*))
(qlater 'run-queued)))
(defmacro queued (&rest functions)
"Run passed functions in order, waiting for currently running (or newly triggered) animations to finish first."
`(progn