;ELC ;;; Compiled ;;; in Emacs version 27.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (custom-declare-group 'animate nil "Make text dance." :group 'games :prefix "animate-") (defalias 'animate-initialize #[(string vpos hpos) "\306 G\307\n W\203) \nH\310\311 !\310\312 S!\f \n\\\257B\nT\211\202*)\207" [characters string i --dotimes-limit-- vpos hpos nil 0 random window-height window-width] 7]) (defalias 'animate-step #[(characters fraction) "\306Z\n\307\211\2059\f@ A@_\310 8_\\ \311 8_\312 8_\\\f\313 @\f #\210*\fA\211\204\f\307+\207" [fraction remains characters item --dolist-tail-- hpos 1 nil 3 2 4 animate-place-char vpos] 6]) (defalias 'animate-place-char #[(char vpos hpos) "\306 b\210\307 \310\n W\203$\307\210\311y\311U\203\312c\210\nT\211\202 +\313 \210\314\315\f!\316\"\210l\2047\317\311!\210\320 \311\"\207" [abbrev-mode vpos i --dotimes-limit-- hpos char window-start nil 0 1 "\n" beginning-of-line move-to-column floor t delete-char insert-char] 4]) #@78 Number of steps `animate-string' will place a char before its last position. (custom-declare-variable 'animate-n-steps 10 '(#$ . 1323) :type 'integer) #@113 String naming the default buffer for animations. When nil animations displayed in the buffer named *Animation*. (defvar animation-buffer-name nil (#$ . 1481)) #@310 Display STRING animations starting at position VPOS, HPOS. The characters start at randomly chosen places, and all slide in parallel to their final positions, passing through `animate-n-steps' positions before the final ones. If HPOS is nil (or omitted), center the string horizontally in the current window. (defalias 'animate-string #[(string vpos &optional hpos) "\306 \n\206\307\310 GZ\311\245]#\312\211\307W\203`\312\211\313 \314\315#\"\210\316\312\317\"\210\320\321!\210\203V\322\323\317\")\202C*T\211\202*\313 \317\"\210\312\210\320\307!\210\324 +\207" [string vpos hpos indent-tabs-mode show-trailing-whitespace characters animate-initialize 0 window-width 2 nil animate-step / 1.0 set-window-start 1 sit-for 0.05 t primitive-undo undo-boundary animate-n-steps i --dotimes-limit-- list-to-undo buffer-undo-list undo-in-progress] 7 (#$ . 1647)]) #@286 Display animation strings from LIST-OF-STRING with buffer *Animation*. Strings will be separated from each other by SPACE lines. When the variable `animation-buffer-name' is non-nil display animation in the buffer named by variable's value, creating the buffer if one does not exist. (defalias 'animate-sequence #[(list-of-strings space) "\304\305 \306GS _G$\307\245\310\311 \206\312!!\210\313 \210\314\315!\210\2058\316@\n\"\210\317\n \306#A\211\204$\320)\207" [list-of-strings space vpos animation-buffer-name - window-height 1 2 switch-to-buffer get-buffer-create "*Animation*" erase-buffer sit-for 0 animate-string + nil] 6 (#$ . 2554)]) #@238 Return a birthday present in the buffer *Birthday-Present*. When optional arg NAME is non-nil or called-interactively, prompt for NAME of birthday present receiver and return a birthday present in the buffer *Birthday-Present-for-Name*. (defalias 'animate-birthday-present #[(&optional name) "\301\302\203\303\304!\305Q\202\306!!\210\307 \210\310\311!\210\203&\312\313\314\"\210\202+\312\315\314\"\210\2039\312\316\317\304!\"\320\"\210\310\321!\210\312\322\323\324#\210\310\325!\210\312\326\327\324#\210\310\330!\210\312\331\332\324#\210\310\333!\210\312\334\335\324#\210\310\336!\210\312\337\340\324#\210\310\341!\210\312\342\343\324#\210\310\344!\210\312\345\346\324#\210\312\347\350\351#\210\312\352\353\351#\207" [name switch-to-buffer get-buffer-create "*A-Present-for-" capitalize "*" "*Birthday-Present*" erase-buffer sit-for 0 animate-string "Happy Birthday," 6 "Happy Birthday" format "%s" 7 1 "You are my sunshine," 10 30 0.5 "My only sunshine." 11 0.5 "I'm awful sad that" 12 0.5 "You've moved away." 13 0.5 "Let's talk together" 15 0.5 "And love more deeply." 16 0.5 "Please bring back" 17 "my sunshine" 18 34 "to stay!" 19] 5 (#$ . 3216) (list (read-string "Birthday present for: " nil nil))]) (provide 'animate)