2010-12-01 6 views
0

게임 GUI API를 만들고 있습니다. 한 가지 측면을 제외하면 매우 잘 진행되고 있습니다. GTK의 작동 방식과 비슷한 주제가 필요합니다. 내가 작동하게하는 방법은 모든 GUI 요소가 Windows9X와 같은 기본 드로잉 방법을 갖게하는 것입니다. 해당 유형의 위젯에 테마가 설정되어 있으면 해당 비트 맵이 그려집니다.이 디자인 문제에 대한 답변

필자의 원래 개념은 비트 맵에 getter와 setter가있는 Theme 클래스를 만드는 것이 었습니다. 예를 들어

이와

themeManager.setButtonHover(Bitmap *bitmap); 

문제는, 내가 위젯의 새로운 유형을 만들려면이 아주 유연되지 않는 것입니다. 결국 버튼과는 다른 테마를 사용하는 superButton을 만들려고합니다. 이것이 그 개념의 결점입니다. 내가 생각하고있는 개념은 각 위젯 유형이 자체적으로 테마를 설정하는 정적 메소드를 가지고 있고 생성자가이를 사용한다는 것입니다.

내가 생각할 수없는 더 좋은 방법이 있습니까? API이기 때문에 텍스트 파일을 읽지 않아도되므로 텍스트 문서에서 테마를 읽는 것은 옵션이 아닙니다.

감사

답변

0

정책에 superButton을 템플릿 후 기본 정책의 기본을 수행하고 사용자가 다른 정책을 제공하는 옵션이이 될 수 있습니까? 그러면 정책에 따라 버튼의 속성 (예 : 마우스 오버 이미지 등)을 정의 할 수 있습니다. 설명하는 내용이 의미가 있습니까?

+0

오 ..이 아이디어를 선택하셨습니까? 잘 됐니? – Nim

관련 문제