[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/corfu 17201cd 15/29: Generate image in PBM format
From: |
Stefan Monnier |
Subject: |
[elpa] externals/corfu 17201cd 15/29: Generate image in PBM format |
Date: |
Fri, 16 Apr 2021 18:44:15 -0400 (EDT) |
branch: externals/corfu
commit 17201cd62492999332b9dd35312613f411ca3f4c
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Generate image in PBM format
Pbm is always available and it is a bit simpler.
---
corfu.el | 25 +++++++++----------------
1 file changed, 9 insertions(+), 16 deletions(-)
diff --git a/corfu.el b/corfu.el
index 39aa0e3..c151ea2 100644
--- a/corfu.el
+++ b/corfu.el
@@ -132,12 +132,6 @@
(defvar-local corfu--borders nil
"Cached border images.")
-(defun corfu--color (face)
- "Return hex color from FACE."
- (apply #'format "#%02x%02x%02x"
- (mapcar (lambda (x) (/ x 256))
- (color-values (face-attribute face :background)))))
-
(defun corfu--char-size ()
"Return character size in pixels."
(let ((fra face-remapping-alist))
@@ -151,17 +145,16 @@
(defun corfu--border (w h color width)
"Generate border with COLOR and WIDTH and image size W*H."
(or (cdr (assoc (cons color width) corfu--borders))
- (let ((data (format
- "/* XPM */\nstatic char *x[] = {\n\"%s %s 2 1\",\n\"# c
%s\",\n\". c None\""
- w h (corfu--color color))))
+ (let ((data (format "P1\n %s %s\n" w h)))
(dotimes (_ h)
- (setq data (concat data ",\n\""
- (funcall (if (< width 0) #'reverse #'identity)
- (concat (make-string (abs width) ?#)
- (make-string (- w (abs width))
?.)))
- "\"")))
- (setq data (propertize " " 'display
- `(image :data ,(concat data "};") :type xpm
:scale 1 :ascent center)))
+ (setq data (concat data (funcall (if (< width 0) #'reverse
#'identity)
+ (concat (make-string (abs width) ?0)
+ (make-string (- w (abs
width)) ?1))))))
+ (setq data (propertize
+ " " 'display
+ `(image :data ,data :type pbm :scale 1 :ascent center
+ :background ,(face-attribute color :background)
+ :mask (heuristic (0 0 0)))))
(push (cons (cons color width) data) corfu--borders)
data)))
- [elpa] externals/corfu bb55c62 01/29: initial commit, (continued)
- [elpa] externals/corfu bb55c62 01/29: initial commit, Stefan Monnier, 2021/04/16
- [elpa] externals/corfu 7d3c6c4 07/29: README: Update features section, Stefan Monnier, 2021/04/16
- [elpa] externals/corfu a2de3f2 11/29: Adjust faces, Stefan Monnier, 2021/04/16
- [elpa] externals/corfu 5571d2b 13/29: Revert "Go back to e0198b4335add183e0673c2b224e3d6c3ac09cab for now", Stefan Monnier, 2021/04/16
- [elpa] externals/corfu 4b32521 12/29: Go back to e0198b4335add183e0673c2b224e3d6c3ac09cab for now, Stefan Monnier, 2021/04/16
- [elpa] externals/corfu f721f1b 14/29: Properly compute character size, Stefan Monnier, 2021/04/16
- [elpa] externals/corfu 247c79b 16/29: update screenshot, Stefan Monnier, 2021/04/16
- [elpa] externals/corfu 428ef03 08/29: post-command-hook: Make the check more strict, Stefan Monnier, 2021/04/16
- [elpa] externals/corfu e0198b4 09/29: Simplify post-command behavior, Stefan Monnier, 2021/04/16
- [elpa] externals/corfu a497acc 10/29: Experimental border images, Stefan Monnier, 2021/04/16
- [elpa] externals/corfu 17201cd 15/29: Generate image in PBM format,
Stefan Monnier <=
- [elpa] externals/corfu f98d239 02/29: Add support for cycling, Stefan Monnier, 2021/04/16
- [elpa] externals/corfu ce983a0 17/29: README: Expand configuration, Stefan Monnier, 2021/04/16
- [elpa] externals/corfu 2f9e154 18/29: Use completion--replace, Stefan Monnier, 2021/04/16
- [elpa] externals/corfu 219afe2 21/29: Deactivate fancy border if line spacing is used (Fix #1), Stefan Monnier, 2021/04/16
- [elpa] externals/corfu 5bacf55 20/29: Simplifications, Stefan Monnier, 2021/04/16
- [elpa] externals/corfu e6bfd22 26/29: Add corfu-min-width, Stefan Monnier, 2021/04/16
- [elpa] externals/corfu a61992d 29/29: Rework popup function, Stefan Monnier, 2021/04/16
- [elpa] externals/corfu a5fd9ad 22/29: Simplifications, Stefan Monnier, 2021/04/16
- [elpa] externals/corfu 145481d 19/29: corfu-insert: Call :exit-function, Stefan Monnier, 2021/04/16
- [elpa] externals/corfu 171b305 23/29: README: Add caveats section, Stefan Monnier, 2021/04/16