SDL + Xlib
글쓴이: segfault / 작성시간: 월, 2004/07/26 - 9:03오후
저 밑에 SDL에서 XIM을 쓰는 방법을 질문했었는데요,
XIM에 관련된 함수 원형을 찾아보니
XIM XOpenIM(display, db, res_name, res_class)
Display *display;
XrmDatabase db;
char *res_name;
char *res_class;
이런 식으로 되어 있더군요.
Display라던지 XrmDatabase는 Xlib에서 쓰는 구조로 알고 있는데
SDL에서 Xlib를 어떻게 연동시켜서 사용할 수 있는지 궁금합니다.
Forums:
"저 밑": http://bbs.kldp.org/viewtopic.php
"저 밑": http://bbs.kldp.org/viewtopic.php?p=171216
그리고...
http://bbs.kldp.org/viewtopic.php?t=19100
[quote="cdpark"]"저 밑": http://bbs.kldp.o
저는 SDL에서 어떻게 Xlib와 연동시킬수 있는지를 질문했습니다.
"저 밑" 쓰레드와 관련이 있는 것 같지는 않습니다.
----
http://www.planetmono.org
"저 밑"이 어딘지 궁금해서 찾아서 붙였을 뿐입니다. :(
"저 밑"이 어딘지 궁금해서 찾아서 붙였을 뿐입니다. :(
...
Display를 얻으면 대략 가능하다고 생각하고 글을 적습니다.
SDL 소스에서 src/video/쪽을 살펴보시면, 전역변수로 'current_video'를 사용하고 있습니다.
실제로 개발자를 위해 공개되지는 않습니다.
적당히 SDL 소스로부터 src/video/SDL_sysvideo.h를 추가하고 사용하길 원하시는 소스에서 extern으로 접근하실 수 있을겁니다.
또한 이 구조체의 필드중에 hidden 포인터는 video subsystem별로 플랫폼에 의존적인 값들을 저장하도록 합니다. struct SDL_PrivateVideoData입니다. 각기 다른 구현별로 다른 구조를 하고 있답니다. x11video서브시스템의 경우에는 X11_Display와 GFX_Display를 정의하고 있네요.
기본적으로 상당히 조잡한 방법이지만 이렇게 Display에 접근할 수 있다면 나머지 부분은 어떻게 되지 않을까 싶습니다. (xlib를 잘몰라서요;;; )
("SDL_sysvideo.h", "SDL_x11video.h"은 SDL 소스에서 복사해 온겁니다;;; )
gcc -o hentai hentai.c `sdl-config --libs --cflags` -I. -I/usr/X11R6/include
어쨌든 상당히 조잡하고 같은 x11환경이라고 하더라도 dga, xv... 조금만 달라져도 제대로 작동하지 않을겁니다.;;;
결국 커스텀하게 패치된 SDL로 통째로;;;
제 생각엔 XIM을 이용하는 방법보다는 한글 오토마타 등을 직접 작성하는 방법이 좋을 것 같습니다.
(그런데 iimf인가 그거는 대충 x11이나 이미 있는 기술들에만 적용되는 그런거지요? 추상적인 입력기를 구현하거나 하지는 않지요?)
SDL에서 중립적인 입력기를 구현하는 것도 재미있을 것 같습니다. (예전에 구상해보다가 능력부족으로;;; )
----
The future is here. It's just not widely distributed yet.
- William Gibson
SDL-IM이라고 일본 사람이 SDL에 XIM을 붙인 패치가 있는 것 같
SDL-IM이라고 일본 사람이 SDL에 XIM을 붙인 패치가 있는 것 같은데 더이상은 잘 모르겠습니다.
http://morihyphen.hp.infoseek.co.jp/prog/sdl-im.html
--feanor
저는 SDL은 X11에 종속적이지 않다고 알고 있습니다.아마도 그러니
저는 SDL은 X11에 종속적이지 않다고 알고 있습니다.
아마도 그러니까 XIM을 붙이는 건 SDL에서 X11 구현 부분에서 하는 것이 바른 방향이 겠지요.
IIIMF는 X11에 종속적인 부분이 없습니다. 그래서 X가 아닌 곳에서도 사용 가능합니다. 따라서 XIM을 붙일 거라면 iiimf를 붙이는 편이 더 좋긴 할것 같습니다.
그리고 오토마타를 직접 붙이는 작업은 로컬 패치로 끝나기 쉽습니다. 그래서 저는 별로 추천하고 싶지 않네요.
댓글 달기