;ELC   
;;; compiled by erik@naggum.no on Sat May 18 16:43:30 1996
;;; from file /gd/gnu/emacs/19.0/lisp/sun-curs.el
;;; emacs version 19.30.99.1.
;;; bytecomp version FSF 2.10
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`sun-curs.el' was compiled for Emacs 19.29 or later"))


(require (quote cl))
#@23 List of known cursors
(defvar sc::cursors nil (#$ . 487))
(defalias 'defcursor '(macro . #[(name x y string) "	>„\n 	BÂÃ\fFE‡" [name sc::cursors defconst vector x y string] 6]))
(byte-code "ÀÁÂÃ°#ÄBÀÂÆÇ°#ÈBÀÆ‰É°#\nÊBÀÆ‰ËÌÍÎR#ÏBÀ‡" [vector 15 0 (0 1 0 3 0 7 0 15 0 31 0 63 0 127 0 15 0 27 0 25 0 48 0 48 0 96 0 96 0 192 0 192) sc:right-arrow current-load-list 8 (1 0 3 0 7 0 15 0 31 0 63 255 127 255 255 255 255 255 127 255 63 255 31 0 15 0 7 0 3 0 1 0) sc:fat-left-arrow (15 252 8 4 8 4 8 4 8 4 8 4 8 4 8 4 8 132 8 4 8 4 8 4 8 4 8 4 8 4 15 252) sc:box "þ@ \f8" "ðàÀ€" "€@ " "ˆ#ÄGâþ" sc:hourglass] 7)
#@168 Change the Sun mouse cursor to ICON.
If ICON is nil, switch to the system default cursor,
Otherwise, ICON should be a vector or the name of a vector of [x y 32-chars]
(defalias 'sc:set-cursor #[(icon) "9ƒ JÁ!‡" [icon sun-change-cursor-icon] 2 (#$ . 1132) "XIcon Name: "])
(byte-code "ÀÁ!ˆÂÃ!ˆÄÃÅ\"ˆÃž„ ÇBÅ‡" [make-local-variable *edit-icon* make-variable-buffer-local icon-edit set-default nil minor-mode-alist (icon-edit " IconEdit")] 3)
#@45 convert icon to rectangle, edit, and repack
(defalias 'sc:edit-cursor #[(icon) "„ ÁÂ Ã‰#9ƒ JÄÅ!ƒ ÆÅ!ˆÇÅ!ˆÈÉÊ\"ˆÈËÌ\"ˆÈÍÎ\"ˆÈÏÐ\"ˆÑ!ˆÒ ˆÓ‰‡" [icon sc::menu-choose-cursor selected-window 1 get-buffer "icon-edit" kill-buffer switch-to-buffer local-set-mouse (text right) sc::menu-function (text left) (sc::pic-ins-at-mouse 32) (text middle) (sc::pic-ins-at-mouse 64) (text left middle) sc::hotspot sc::display-icon picture-mode t icon-edit] 4 (#$ . 1589) "XIcon Name: "])
#@39 Picture insert char at mouse location
(defalias 'sc::pic-ins-at-mouse #[(char) "À	Â^Â\f^#ˆÅÂi^TÆ\"ˆÇÈ!ˆ	cˆÊ ‡" [mouse-move-point *mouse-window* 15 *mouse-x* *mouse-y* move-to-column t delete-char -1 char sc::goto-hotspot] 5 (#$ . 2075)])
(defalias 'sc::menu-function #[(window x y) "À	\nT\f$‡" [sun-menu-evaluate window x y sc::menu] 5])
(byte-code "ÀÁ\nBÁ‡" [[("Cursor Menu") ("Pack & Use" sc::pack-buffer-to-cursor) ("Pack to Icon" sc::pack-buffer-to-icon (sc::menu-choose-cursor *menu-window* *menu-x* *menu-y*)) ("New Icon" call-interactively (quote sc::make-cursor)) ("Edit Icon" sc:edit-cursor (sc::menu-choose-cursor *menu-window* *menu-x* *menu-y*)) ("Set Cursor" sc:set-cursor (sc::menu-choose-cursor *menu-window* *menu-x* *menu-y*)) ("Reset Cursor" sc:set-cursor nil) ("Help" sc::edit-icon-help-menu) ("Quit" sc::quit-edit)] sc::menu current-load-list] 2)
(defalias 'sc::quit-edit #[nil "Àp!ˆÁÂ Ã\"‡" [bury-buffer switch-to-buffer other-buffer no-record] 3 nil nil])
(defalias 'sc::make-cursor #[(symbol) "ÀÁ\nÃ‰Ä¯!ˆÅ\nJ!‡" [eval defcursor symbol 0 "" sc::pack-buffer-to-icon] 6 nil "SIcon Name: "])
(byte-code "ÀÁ\nBÁ‡" [[("Simple Icon Editor") ("Left     => CLEAR") ("Middle   => SET") ("L & M    => HOTSPOT") ("Right    => MENU")] sc::edit-icon-help-menu current-load-list] 2)
(defalias 'sc::edit-icon-help #[nil "ÀÁ!‡" [message "Left=> CLEAR  Middle=> SET  Left+Middle=> HOTSPOT  Right=> MENU"] 2])
(defalias 'sc::pack-buffer-to-cursor #[nil "À	!ˆÂ	!‡" [sc::pack-buffer-to-icon *edit-icon* sc:set-cursor] 2])
#@57 Presents a menu of cursor names, and returns one or nil
(defalias 'sc::menu-choose-cursor #[(window x y) "Á‰ƒ Ä@!\nBA‰„ ÅC\nBÆ\n!È	\n$*‡" [sc::cursors nil items curs sc::menu-item-for-cursor "Choose Cursor" menu-create menu sun-menu-evaluate window x y] 6 (#$ . 3613)])
#@35 apply function to selected cursor
(defalias 'sc::menu-item-for-cursor #[(cursor) "À	!Â	E‡" [symbol-name cursor quote] 3 (#$ . 3907)])
(defalias 'sc::hotspot #[(window x y) "Á\nIˆÃ\fIˆÅ ‡" [*edit-icon* 0 x 1 y sc::goto-hotspot] 3])
(defalias 'sc::goto-hotspot #[nil "À	ÂHT!ˆÃ	ÄH!‡" [goto-line *edit-icon* 1 move-to-column 0] 3])
(defalias 'sc::display-icon #[(icon) "À	!‰ÃHÄÇWƒG HÈ	\n	ÄVƒ4 Ë\n	\"cˆÌ	Í\"‰	‚ *Ã¦Î=ƒ@ Ï ˆT‰‚\f *Ð ‡" [copy-sequence icon *edit-icon* 2 0 index string 32 128 bit char sc::char-at-bit lsh -1 1 newline sc::goto-hotspot] 4])
(defalias 'sc::char-at-bit #[(char bit) "À	\n\"ÃVƒ Ä‡Å‡" [logand char bit 0 "@" " "] 3])
#@37 Pack 16 x 16 field into icon string
(defalias 'sc::pack-buffer-to-icon #[(icon) "ebˆÁ\nÁHIˆÃ\nÃHIˆÄÅÆÇÈ#IˆÉ ‡" [icon 0 *edit-icon* 1 2 mapconcat sc::pack-one-line "1234567890123456" "" sc::goto-hotspot] 6 (#$ . 4573)])
(defalias 'sc::pack-one-line #[(dummy) "ÀÀÀÄÅÆÇÈ#	ÄÅÆÇÈ#	ÉyˆÊ\n!Ê!P+‡" [nil char chr1 chr2 0 mapconcat sc::pack-one-char "12345678" "" 1 char-to-string] 4])
#@44 pack following char into char, unless eolp
(defalias 'sc::pack-one-char #[(dummy) "l„ ÀgÁ\"ƒ ÂÄ\"‚ ÂÄ\"Tl?…  Åu‡" [char-equal 32 lsh char 1 nil] 3 (#$ . 4968)])
(provide (quote sm-cursors))
