J'entends par là des éléments d'interface utilisateur (par exemple des champs de texte et des boutons animés) qui ne sont pas limités à la grille de caractères à espacement fixe des émulateurs de terminaux, mais peuvent être des formes arbitraires à des positions de pixels arbitraires à l'écran. Je suis simplement curieux de savoir si et comment cela est possible, et si ce n'est pas possible, si c'est prévu pour l'avenir.
11
svg-clock
paquet dans GNU ELPA pour un exemple "simple". Mais si vous voulez dessiner sur d'autres éléments, la réponse est malheureusement «non», bien que beaucoup de gens seraient heureux si quelqu'un écrivait un patch qui fait ça.Draw image.png(400x600+16+30)
de dessiner une image à l'échelle à cette coordonnée particulière par rapport à un coin.Réponses:
Les champs de texte et les boutons (comme dans les tampons de personnalisation) sont en fait soumis à la grille sur laquelle Emacs aligne les caractères.
Ce que vous pouvez faire, c'est de dire à Emacs d'afficher une image de type SVG (vecteur) ou XPM (bitmap). Puisque ceux-ci ne sont pas limités pour être lus à partir d'un fichier, vous pouvez générer une chaîne et la transformer en image. J'ai vu des exemples d'utilisation de type toile où l'image occupe la majeure partie de la fenêtre et est librement dessinée (voir svg-thing , slime-volley , svg-clock , mon propre svg-2048 ) et une utilisation moins désagréable qui plutôt ressembler à des éléments UI (voir les icônes dans AUCTeX , gnus 'modeline icône, la version graphique
M-x tetris
, SVG-modeline). Il y a encore beaucoup de travail à faire étant donné qu'Emacs n'a pas de type d'image de type toile, mais il est possible de déplacer ces images et de les utiliser comme propriété d'affichage d'autres éléments d'interface utilisateur comme la modélisation ou les touches margin et bind, y compris la souris à eux.la source
Pour dessiner des graphiques raster, vous pouvez essayer EPaint . Il semble prendre en charge le dessin à main levée et les formes géométriques de base.
la source