2012-09-21 2 views
0

gnustep 용 windowserver를 작성하려면 어떻게해야합니까? 나는 언젠가 gnustep의 근원을 읽고있다. 그러나 이것이 어떻게 작동하는지 알지 못한다. 누군가가 NSApplicationMain()에서 그래픽 사용자 인터페이스로 어떻게 작동하는지 설명해 주시겠습니까? 매우 기본적인 WindowServer를 구현하는 데 필요한 것은 무엇입니까? 나는 이것이 꽤 큰 주제라는 것을 알고있다.Window Server를 작성하는 방법은 무엇입니까?

덕분에, 토미

답변

0

그누 스텝은 AppKit의 랩퍼 X11 또는 WIN32 같은 주위 기존의 윈도우 시스템을 구현하는 GSDisplayServer라는 그 자체 반 추상 클래스를 사용합니다. 이 WindowServer의 디자인에 달려 있지만, 주로 할 일은 두 가지입니다. 우선 필요한 API를 제공하는 WindowServer를 구현해야합니다 (존재한다면, Quartz API가 아닐까요?). 백엔드의 구현 (GSDisplayServer 및 NSGraphicsContext 서브 클래 싱). 그러나 OSX에서 윈도우를 얻는 유일한 방법은 Objective-C없이 OSX에서 창을 만드는 데 지원되는 API가 없으므로 NSWindow와 함께 Objective-C를 사용해야한다는 것입니다. 제 지식이 제한되어 있으므로 여기에서 수정하십시오. GNUstep 쪽). 따라서 GNUstep 용 WindowServer를 구현하는 것이 시스템에서 기존의 모든 윈도우 시스템을 감싸는 것이 아니라는 생각이 듭니다. 그러나 진지하게, X11은 그다지 나쁘지 않으며, 나는 그것을 사용하는 것이 강력하게 권장됩니다. 적어도 xcb에서 GNUstep의 x11 백엔드를 다시 작성하십시오. 새로운 윈도우 시스템을 발명하는 것은 시간 낭비 일 것입니다. GNUstep은 다른 영역에서 시간을 보내면 더 많은 도움이됩니다. 그러나 GNUstep을 윈도우 시스템에 이식하려는 경우 기존 백엔드를 살펴보십시오.

+0

답변 해 주셔서 감사합니다! :) 귀하의 정보 : 나는 ZUI 창 서버를 프로그램하고 싶습니다. – thomasguenzel

+0

OpenGL에서 창을 관리하는 X11 창 관리자를 만드는 것과 같지 않습니까? 확대/축소하는 동안 글꼴 크기를 잠그는 등의 작업을 계획하지 않는 한. 그렇지 않다면 X11에서 구현할 수 있습니다. –

관련 문제