| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/emacs/28.2/lisp/ |
Upload File : |
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.
(byte-code "\300\301!\210\300\302!\210\300\303!\207" [require cl-lib xml dom] 2)
#@191 Create a new, empty SVG image with dimensions WIDTH x HEIGHT.
ARGS can be used to provide `stroke' and `stroke-width' parameters to
any further elements added.
(fn WIDTH HEIGHT &rest ARGS)
(defalias 'svg-create #[642 "\300\301\302B\303B\304\305\306\307\310\"?\205 \311\312\313\n\"\"BBBB\"\207" [dom-node svg width height (version . "1.1") (xmlns . "http://www.w3.org/2000/svg") append plist-get :xmlns:xlink ((xmlns:xlink . "http://www.w3.org/1999/xlink")) svg--arguments nil] 14 (#$ . 166)])
#@129 Add a gradient with ID to SVG.
TYPE is `linear' or `radial'.
STOPS is a list of percentage/color pairs.
(fn SVG ID TYPE STOPS)
(defalias 'svg-gradient #[1028 "\300\301\302\303=\203 \304\202 \305\306B\307B\310\311\"$\"\207" [svg--def apply dom-node linear linearGradient radialGradient id ((x1 . 0) (x2 . 0) (y1 . 0) (y2 . 1)) mapcar #[257 "\300\301\302\303\304@\"B\305ABD\"\207" [dom-node stop offset format "%s%%" stop-color] 7 "\n\n(fn STOP)"]] 13 (#$ . 673)])
#@286 Create a rectangle on SVG, starting at position X/Y, of WIDTH/HEIGHT.
ARGS is a plist of modifiers. Possible values are
:stroke-width PIXELS The line width.
:stroke-color COLOR The line color.
:gradient ID The gradient ID to use.
(fn SVG X Y WIDTH HEIGHT &rest ARGS)
(defalias 'svg-rectangle #[1413 "\300\301\302\303B\304B\305B\306B\307\n\"BBBB\"\"\207" [svg--append dom-node rect width height x y svg--arguments] 17 (#$ . 1154)])
#@104 Create a circle of RADIUS on SVG.
X/Y denote the center of the circle.
(fn SVG X Y RADIUS &rest ARGS)
(defalias 'svg-circle #[1156 "\300\301\302\303B\304B\305B\306\f \"BBB\"\"\207" [svg--append dom-node circle cx cy r svg--arguments] 15 (#$ . 1623)])
#@129 Create an ellipse of X-RADIUS/Y-RADIUS on SVG.
X/Y denote the center of the ellipse.
(fn SVG X Y X-RADIUS Y-RADIUS &rest ARGS)
(defalias 'svg-ellipse #[1413 "\300\301\302\303 B\304 B\305 B\306 B\307\n\"BBBB\"\"\207" [svg--append dom-node ellipse cx cy rx ry svg--arguments] 17 (#$ . 1891)])
#@91 Create a line starting in X1/Y1, ending at X2/Y2 on SVG.
(fn SVG X1 Y1 X2 Y2 &rest ARGS)
(defalias 'svg-line #[1413 "\300\301\302\303 B\304B\305\nB\306 B\307\n\"BBBB\"\"\207" [svg--append dom-node line x1 x2 y1 y2 svg--arguments] 17 (#$ . 2198)])
#@107 Create a polyline going through POINTS on SVG.
POINTS is a list of x/y pairs.
(fn SVG POINTS &rest ARGS)
(defalias 'svg-polyline #[642 "\300\301\302\303\304\305\306#B\307\"B\"\"\207" [svg--append dom-node polyline points mapconcat #[257 "\300\301@A#\207" [format "%s %s"] 5 "\n\n(fn PAIR)"] ", " svg--arguments] 12 (#$ . 2463)])
#@106 Create a polygon going through POINTS on SVG.
POINTS is a list of x/y pairs.
(fn SVG POINTS &rest ARGS)
(defalias 'svg-polygon #[642 "\300\301\302\303\304\305\306#B\307\"B\"\"\207" [svg--append dom-node polygon points mapconcat #[257 "\300\301@A#\207" [format "%s %s"] 5 "\n\n(fn PAIR)"] ", " svg--arguments] 12 (#$ . 2809)])
#@230 Insert IMAGE into the SVG structure.
IMAGE should be a file name if DATAP is nil, and a binary string
otherwise. IMAGE-TYPE should be a MIME image type, like
"image/jpeg" or the like.
(fn SVG IMAGE IMAGE-TYPE DATAP &rest ARGS)
(defalias 'svg-embed #[1156 "\300\301\302\303\304 #B\305\n\"B\"\"\207" [svg--append dom-node image xlink:href svg--image-data svg--arguments] 14 (#$ . 3152)])
#@354 Insert image placed at RELATIVE-FILENAME into the SVG structure.
RELATIVE-FILENAME will be searched in `file-name-directory' of the
image's `:base-uri' property. If `:base-uri' is not specified for the
image, then embedding won't work. Embedding large images using this
function is much faster than `svg-embed'.
(fn SVG RELATIVE-FILENAME &rest ARGS)
(defalias 'svg-embed-base-uri-image #[642 "\300\301\302\303B\304\"B\"\"\207" [svg--append dom-node image xlink:href svg--arguments] 11 (#$ . 3556)])
#@44 Add TEXT to SVG.
(fn SVG TEXT &rest ARGS)
(defalias 'svg-text #[642 "\300\301\302\303\"\304!#\"\207" [svg--append dom-node text svg--arguments svg--encode-text] 10 (#$ . 4071)])
#@13
(fn TEXT)
(defalias 'svg--encode-text #[257 "\300\301\302\"r\211q\210\303\304\"\216c\210\305\211\2035 \211@eb\210\306@\307\302#\203. \310A\302\211\307$\210\202 A\266\202\202 \210eb\210m\204\\ g\211\311W\203K \312u\266\2029 \313\312!\210\314\315\316\"\317\261\266\2029 \320 *\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] (("&" . "&") ("<" . "<") (">" . ">")) search-forward nil replace-match 128 1 delete-char "&#" format "%d" ";" buffer-string] 9 (#$ . 4263)])
#@17
(fn SVG NODE)
(defalias 'svg--append #[514 "\300\211@:\203 \211@A@\262\202 \211A@\262\236A\205; \301\302\303\300\211@:\2030 \211@A@\262\2025 \211A@\262\236A!\304Q\"\211\203I \211@A\241\266\202O \305\"\266\306!\207" [id dom-by-id "\\`" regexp-quote "\\'" dom-append-child svg-possibly-update-image] 9 (#$ . 4826)])
#@31
(fn IMAGE IMAGE-TYPE DATAP)
(defalias 'svg--image-data #[771 "\300\301\302\"r\211q\210\303\304\"\216\305\306!\210\203 c\210\202 \307!\210\310ed\302#\210eb\210\311\312\261\210\313 *\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] set-buffer-multibyte nil insert-file-contents base64-encode-region "data:" ";base64," buffer-string] 8 (#$ . 5163)])
#@17
(fn SVG ARGS)
(defalias 'svg--arguments #[514 "\301\302\"\206 \303\211@:\203 \211@A@\262\202 \211A@\262\236A\301\304\"\206>