[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/osm 7ce1d26c88 67/77: Extract osm--make-tile
From: |
ELPA Syncer |
Subject: |
[elpa] externals/osm 7ce1d26c88 67/77: Extract osm--make-tile |
Date: |
Mon, 7 Mar 2022 08:58:08 -0500 (EST) |
branch: externals/osm
commit 7ce1d26c88ac108a2a2a2a189bc237761234885f
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Extract osm--make-tile
---
osm.el | 42 +++++++++++++++++++++++-------------------
1 file changed, 23 insertions(+), 19 deletions(-)
diff --git a/osm.el b/osm.el
index 906c9314fb..fb0e51473a 100644
--- a/osm.el
+++ b/osm.el
@@ -531,20 +531,13 @@ Should be at least 7 days according to the server usage
policies."
(>= q (- y 100)) (< q (+ y 256 100)))
collect (cons (- p x) (- q y))))
-(defun osm--get-tile (x y)
- "Get tile at X/Y."
- (let* ((key `(,osm-server ,osm--zoom ,x . ,y))
- (tile (and osm--tiles (gethash key osm--tiles))))
- (if tile
- (progn (setcar tile osm--cookie) (cdr tile))
- (let ((file (osm--tile-file x y osm--zoom)))
- (when (file-exists-p file)
- (when (and osm-max-tiles (not osm--tiles))
- (setq osm--tiles (make-hash-table :test #'equal :size
osm-max-tiles)))
- (setq tile
- (if-let (positions (osm--bookmarks-at x y))
- (list :type 'svg :base-uri file
- :data (concat "<svg width='256' height='256'
version='1.1'
+(defun osm--make-tile (x y file)
+ "Make tile at X/Y from FILE."
+ `(image
+ :width 256 :height 256
+ ,@(if-let (positions (osm--bookmarks-at x y))
+ (list :type 'svg :base-uri file
+ :data (concat "<svg width='256' height='256' version='1.1'
xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>
<image xlink:href='" (file-name-nondirectory file) "' height='256'
width='256'/>"
(mapconcat
@@ -556,11 +549,22 @@ xmlns='http://www.w3.org/2000/svg'
xmlns:xlink='http://www.w3.org/1999/xlink'>
(car pos) (cdr pos)))
positions "")
"</svg>"))
- (list :type
- (if (member (file-name-extension file) '("jpg" "jpeg"))
- 'jpeg 'png)
- :file file)))
- (setq tile `(,osm--cookie image :width 256 :height 256 ,@tile))
+ (list :type
+ (if (member (file-name-extension file) '("jpg" "jpeg"))
+ 'jpeg 'png)
+ :file file))))
+
+(defun osm--get-tile (x y)
+ "Get tile at X/Y."
+ (let* ((key `(,osm-server ,osm--zoom ,x . ,y))
+ (tile (and osm--tiles (gethash key osm--tiles))))
+ (if tile
+ (progn (setcar tile osm--cookie) (cdr tile))
+ (let ((file (osm--tile-file x y osm--zoom)))
+ (when (file-exists-p file)
+ (when (and osm-max-tiles (not osm--tiles))
+ (setq osm--tiles (make-hash-table :test #'equal :size
osm-max-tiles)))
+ (setq tile (cons osm--cookie (osm--make-tile x y file)))
(when osm--tiles
(puthash key tile osm--tiles))
(cdr tile))))))
- [elpa] externals/osm 25d891088f 70/77: Emacs 27 base64 encoding fallback, (continued)
- [elpa] externals/osm 25d891088f 70/77: Emacs 27 base64 encoding fallback, ELPA Syncer, 2022/03/07
- [elpa] externals/osm ec97b1d1c0 23/77: Add separate hook function, ELPA Syncer, 2022/03/07
- [elpa] externals/osm ee64b96509 56/77: Add map variant, ELPA Syncer, 2022/03/07
- [elpa] externals/osm 1bd4751bcf 34/77: Better link names, ELPA Syncer, 2022/03/07
- [elpa] externals/osm 7a50000e1e 58/77: Add separate resize function, revert tile cache, ELPA Syncer, 2022/03/07
- [elpa] externals/osm 4c9337bf79 69/77: Update README, ELPA Syncer, 2022/03/07
- [elpa] externals/osm 76b41f5fb5 51/77: Add keybindings, ELPA Syncer, 2022/03/07
- [elpa] externals/osm a6335090e9 33/77: Handle multiple windows, ELPA Syncer, 2022/03/07
- [elpa] externals/osm 2fbf12f0ef 46/77: seq is not needed, ELPA Syncer, 2022/03/07
- [elpa] externals/osm c2c7dff887 22/77: Compact server configuration, ELPA Syncer, 2022/03/07
- [elpa] externals/osm 7ce1d26c88 67/77: Extract osm--make-tile,
ELPA Syncer <=
- [elpa] externals/osm ff8ff68b4d 65/77: Check if bookmarks are present, ELPA Syncer, 2022/03/07
- [elpa] externals/osm cb191d426f 76/77: Version 0.2, ELPA Syncer, 2022/03/07
- [elpa] externals/osm 8e8e4583f5 74/77: More robust mouse dragging, ELPA Syncer, 2022/03/07
- [elpa] externals/osm d776cdb343 42/77: Fix melpa issues (See https://github.com/melpa/melpa/pull/7936), ELPA Syncer, 2022/03/07
- [elpa] externals/osm 5b82b32201 28/77: Add server descriptions, ELPA Syncer, 2022/03/07
- [elpa] externals/osm 832bce78f8 72/77: Implement proper map dragging with the mouse, ELPA Syncer, 2022/03/07
- [elpa] externals/osm df844cd56b 30/77: Add osm-rename command, ELPA Syncer, 2022/03/07
- [elpa] externals/osm 458257fa1f 19/77: Improve tile loading, ELPA Syncer, 2022/03/07
- [elpa] externals/osm 699aae27b1 20/77: Rename osm-new to osm-home, ELPA Syncer, 2022/03/07
- [elpa] externals/osm d830691585 61/77: README: Remove wishlist, ELPA Syncer, 2022/03/07