Emacs에서 픽셀 또는 벡터 기반 UI 요소를 어떻게 그릴 수 있습니까?


11

즉, 터미널 에뮬레이터의 고정 간격 문자 그리드로 제한되지 않지만 화면의 임의의 픽셀 위치에서 임의의 모양이 될 수있는 UI 요소 (예 : 텍스트 필드 및 애니메이션 단추)를 의미합니다. 나는 그것이 가능한지 여부와 방법이 궁금하며, 가능하지 않은 경우 미래에 계획되어 있는지 여부를 궁금합니다.


2
음, 예 – 스플래시 화면은이 사실에 분명합니다. 이 작업을 수행 하는 방법에 대한 귀하의 질문을 다시 말하겠습니다 . 알 수 있듯이 간단한 예 / 아니오 답변은이 질문에 '답변'합니다.
Sean Allred

3
그리기 만하고 싶다면 그렇습니다. svg-clock"간단한"예제는 GNU ELPA 의 패키지를 참조하십시오 . 그러나 만약 당신이 다른 요소들 위에 그리기를 원한다면 , 슬프게도“아니오”입니다. 비록 누군가가 그렇게하는 패치를 작성한다면 많은 사람들이 행복 할 것입니다.
Stefan

1
@SeanAllred 임의의 모양, 예; 임의의 픽셀 위치.
Malabarba

@Malabarba Whoops-네, 맞습니다. 그래도 디스플레이 여백과 텍스트면으로 속임수를 쓸 수 있습니다. 정확하게 얻을 수 있습니다. 그러나 Draw image.png(400x600+16+30)특정 좌표에서 일부 모서리를 기준으로 축척 된 이미지를 그릴 수 없다고 말하는 것은 옳습니다 .
Sean Allred

답변:


8

텍스트 필드와 버튼 (예 : Customize 버퍼에서와 같이)은 실제로 Emacs가 문자를 정렬하는 그리드에 종속됩니다.

수있는 일은 Emacs에게 SVG (벡터) 또는 XPM (비트 맵) 유형의 이미지를 표시하도록 지시하는 것입니다. 이것들은 파일에서 읽도록 제한되지 않기 때문에 문자열을 생성하여 이미지로 바꿀 수 있습니다. 이미지가 대부분의 창을 차지하고 자유롭게 그려지는 캔버스와 같은 사용법의 예를 보았습니다 ( svg-thing , slime-volley , svg-clock , 내 자신의 svg-2048 참조 ). 의 아이콘 참조 (UI 요소를 닮은 AUCTEX을 , GNUS 'modeline 줄 아이콘의 그래픽 버전 M-x tetris, SVG-modeline 줄). Emacs에 캔버스와 같은 이미지 유형이 없다는 것을 고려할 때 여전히 약간의 발자국이 있지만, 이러한 이미지를 대체하고 마우스를 포함하여 모델 또는 여백 및 바인딩 키와 같은 다른 UI 요소의 디스플레이 속성으로 사용할 수 있습니다 그들에게 그들.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.