1 HACKING xpm.el (et al) -*- org -*-
3 This file is both a guide for newcomers and a todo list for oldstayers.
7 (defun xpm-as-rectangle ()
8 (xpm--w/gg (w h cpp origin y-mult) (xpm--gate)
11 (+ origin (* y-mult (1- h)) (* w cpp)))))
13 (defun xpm-from-rectangle (rect)
14 (xpm--w/gg (w h cpp origin y-mult) (xpm--gate)
15 (assert (= h (length rect)))
16 (assert (= (* w cpp) (length (car rect))))
18 (delete-rectangle origin (+ origin (* y-mult (1- h)) (* w cpp)))
19 (insert-rectangle rect)))
21 (defun xpm-replace-from (buffer)
23 (with-current-buffer buffer
25 *** add xpm-mode for interactive use -- [[file:xpm-ui.el][xpm-ui.el]]
26 ***** hide/show header lines
29 ******* display each PX in associated color (loses for ‘s’-only)
30 ******* display as table (conserve vertical space)
31 ******* add state "current px", commands to set it
33 *** composition facilities -- [[file:xpm-compose.el][xpm-compose.el]]
34 ***** multilevel congruence
35 ******* dimensions only
36 ******* palette not None
37 ******* palette subset
39 ***** destructive (2-op) vs non-destructive (3-op)
40 ***** customizable pixel-compose fn
41 *** misc functionality
42 ***** validate palette-data correspondance
43 ***** import from rectangle
44 ******* as-is (dangerous)
45 ******* w/ char-to-px quantization
47 ***** ??? use ‘binary’ coding system
48 ***** make ‘xpm-raster’ do [vh]-line expansion
53 Copyright (C) 2014 Free Software Foundation, Inc.
55 Copying and distribution of this file, with or without modification,
56 are permitted provided the copyright notice and this notice are preserved.