;ELC   
;;; Compiled by aatharuv@cutter-john.mit.edu on Sun Jan  5 18:14:24 2003
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/w3-4.0pre.47/lisp/w3-imap.el
;;; in Emacs version 21.1.1
;;; with bytecomp version 2.85
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`w3-imap.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\207" [require w3-vars widget] 2)
#@120 Return t iff POINT is within a rectangle defined by COORD1 and COORD2.
All arguments are vectors of [X Y] coordinates.
(defalias 'w3-point-in-rect #[(point coord1 coord2 &rest ignore) "\303H	\303HY\205% \303H\n\303HX\205% \304H	\304HY\205% \304H\n\304HX\207" [point coord1 coord2 0 1] 3 (#$ . 713)])
#@117 Return t iff POINT is within a circle defined by COORD1 and COORD2.
All arguments are vectors of [X Y] coordinates.
(defalias 'w3-point-in-circle #[(point coord1 coord2 &rest ignore) "\305\211\n\306H\306HZ\n\306H\306HZ_\n\307H\307HZ\n\307H\307HZ_\\\n\306H\f\306HZ\n\306H\f\306HZ_\n\307H\f\307HZ\n\307H\f\307HZ_\\\211	X*\207" [radius2 radius1 coord1 coord2 point nil 1 0] 6 (#$ . 1024)])
(defalias 'w3-image-poly-nsegs #[(p) "\301H\207" [p 0] 2])
(put 'w3-image-poly-nsegs 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'w3-image-poly-used-segs #[(p) "\301H\207" [p 1] 2])
(put 'w3-image-poly-used-segs 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'w3-image-poly-x-coords #[(p) "\301H\207" [p 2] 2])
(put 'w3-image-poly-x-coords 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'w3-image-poly-y-coords #[(p) "\301H\207" [p 3] 2])
(put 'w3-image-poly-y-coords 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'w3-image-poly-x-coord #[(p n) "\211\302H)	H\207" [p n 2] 3])
(put 'w3-image-poly-x-coord 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'w3-image-poly-y-coord #[(p n) "\211\302H)	H\207" [p n 3] 3])
(put 'w3-image-poly-y-coord 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'w3-image-poly-alloc #[(n) "\301W\203 \302\303\"\210\304\305\306\307\"\306\307\"$\207" [n 3 error "w3-image-poly-alloc: invalid number of sides (%d)" vector 0 make-vector nil] 7])
(defalias 'w3-image-poly-assign #[(p x y) "\211\303H)\211\304H)Y\203 \305\306!\210\211\307H)\211\303H)	I\210\211\310H)\211\303H)\nI\210\303\211\303H)TI\207" [p x y 1 0 error "w3-image-poly-assign: out of space in the w3-image-polygon" 2 3] 5])
(defalias 'w3-image-ccw #[(p0 p1 p2) "\306\211\211\211\211\307H\n\307HZ\310H\n\310HZ\307H\n\307HZ\310H\n\310HZ\f	_\n_V\203? \310\202| \f	_\n_W\203N \311\202| \f_\307W\204^ \n	_\307W\203c \311\202| \f\211_\n\211_\\\211_	\211_\\W\203z \310\202| \307-\207" [retval dy2 dy1 dx2 dx1 p1 nil 0 1 -1 p0 p2] 5])
(defalias 'w3-image-line-intersect #[(l1 l2) "\302@A	@#\302@A	A#_\303X\205) \302	@	A@#\302	@	AA#_\303X\207" [l1 l2 w3-image-ccw 0] 5])
#@156 Return t iff POINT is within a polygon defined by the list of points PGON.
All arguments are either vectors of [X Y] coordinates or lists of such
vectors.
(defalias 'w3-point-in-poly #[(point &rest pgon) "G\306W?\205\312 \307G!\310\211\211\311\312	\310H	\313HT\"\312	\310H	\313H\"B\203B \314@\310H@\313H#\210A\211\204. \211\310H)W\203\302 T\211\211\310H)U\203a \310\312\211\211\315H)H*\211\211\306H)H*\"\312\f\211\211\315H)H*\f\211\211\306H)H*\"B\316\n\"\203\273 TT\211\202C \315\246\313U.\207" [pgon point l2 l1 ip1 i 3 w3-image-poly-alloc 0 nil vector 1 w3-image-poly-assign 2 w3-image-line-intersect hitcount p n] 11 (#$ . 3193)])
(defalias 'w3-point-in-default #[(point &rest ignore) "\300\207" [t] 1])
(defalias 'w3-point-in-map #[(point map &optional alt-text) "\306\211\211\211\211\211\203 \307\202 \310\203X \204X @\311\312\313\n\314H\"!\n\315H\205A \316!\205A \317\f#A\n\314H\320\232\203 \nH\306\202 \203y \n\310H\203y \203s \n\307H\206\202 \n\310H\202\202 \nH\202\202 	\203\201 	\202\202 \306.\207" [slot default cur done args func nil 3 2 intern-soft format "w3-point-in-%s" 0 1 fboundp apply "default" alt-text map point] 6])
(byte-code "\302B\304\302!\204 \305\306	\"\303B\304\303!\204 \307\307\207" [current-load-list w3-image-mappings w3-allowed-image-types w3-image-size-restriction boundp mapcar #[(x) "@C\207" [x] 1] nil] 3)
#@48 Return non-nil iff HREF is in the image cache.
(defalias 'w3-image-cached-p '(macro . #[(href) "\301\302\303BBD\207" [href cdr-safe assoc (w3-graphics-list)] 4 (#$ . 4672)]))
(defalias 'w3-image-loadable-p #[(href force) "\305!\n\206( \306\307	8\"\206( \f?\206( \310	8\311X\206( \f\247\205( \310	8\fX)\207" [href attribs force w3-allowed-image-types w3-image-size-restriction url-file-attributes assoc 8 7 0] 3])
(defalias 'w3-image-invalid-glyph-p '(macro . #[(glyph) "\301\302\303\304BBD\302\303\305BBD\306\303\307BB\310BBF\207" [glyph or null aref (0) (2) equal (2) ("")] 7]))
(provide 'w3-imap)
