Я создаю API графического интерфейса. Он идет очень хорошо, за исключением одного аспекта. Мне нужны темы, похожие на GTK. Способ, которым я хочу, чтобы он работал, состоит в том, что каждый элемент GUI будет иметь по умолчанию Windows9X-образный способ рисования. Если обнаружено, что для этого типа виджета задана тема, он будет нарисован с помощью этих растровых изображений.Помогите с этим вопросом дизайна
Моя первоначальная концепция заключалась в том, чтобы создать класс темы, который имел бы геттеры и сеттеры для растровых изображений.
, например:
themeManager.setButtonHover(Bitmap *bitmap);
Проблема с этим, то, что это не flexable, если я хочу, чтобы создать новые типы виджетов. В конечном итоге я могу создать супербайт, который будет использовать другую тему, чем кнопку. Это недостаток этой концепции. Концепция, о которой я думаю, заключается в том, что у каждого типа виджета есть статические методы для установки темы для себя, и конструктор использует это.
Есть ли лучшие способы сделать это, о которых я не думаю? Поскольку это API, я хочу избежать чтения текстовых файлов, поэтому чтение темы из текстового документа не является вариантом.
Благодаря
oh .. Вы решили пойти с этой идеей? Все ли получилось? – Nim 2010-12-05 20:59:29