Rozumiem przez to elementy interfejsu użytkownika (na przykład pola tekstowe i animowane przyciski), które nie są ograniczone do siatki znaków o stałej szerokości emulatorów terminali, ale mogą mieć dowolne kształty w dowolnych pozycjach pikseli na ekranie. Jestem po prostu ciekawy, czy i jak to jest możliwe, a jeśli nie jest to możliwe, czy jest to planowane na przyszłość.
11
svg-clock
pakiet w GNU ELPA dla „prostego” przykładu. Ale jeśli chcesz rysować na innych elementach, odpowiedź brzmi niestety „nie”, chociaż wiele osób byłoby zadowolonych, gdyby ktoś napisał łatkę, która to robi.Draw image.png(400x600+16+30)
narysować skalowanego obrazu na tej konkretnej współrzędnej względem jakiegoś rogu.Odpowiedzi:
Pola tekstowe i przyciski (jak w buforach Dostosuj) są w rzeczywistości zależne od siatki, na której Emacs wyrównuje znaki.
Co można zrobić, to mówi Emacs do wyświetlania obrazu z formatu SVG (wektor) lub XPM (bitmapy) typu. Ponieważ nie są one ograniczone do odczytu z pliku, możesz wygenerować ciąg i przekształcić go w obraz. Widziałem przykłady zarówno zastosowania na płótnie, gdzie obraz zajmuje większość okna i jest swobodnie rysowany (patrz svg-thing , slime-volley , svg-clock , mój własny svg-2048 ) i mniej nieznośne użycie, które raczej przypominają elementy interfejsu (patrz ikony w AUCTeX , gnus 'modeline ikona graficzna wersja
M-x tetris
, SVG-modeline). Wciąż jest sporo do zrobienia, biorąc pod uwagę, że Emacs nie ma typu płótna, ale możliwe jest przesunięcie tych obrazów i użycie ich jako właściwości wyświetlania innych elementów interfejsu, takich jak modeline lub margin i powiązania klawiszy, w tym myszy dla nich.źródło
Do rysowania grafiki rastrowej możesz wypróbować EPaint . Wygląda na to, że obsługuje rysowanie odręczne i podstawowe kształty geometryczne.
źródło