2010-12-01 72 views
0

我正在制作游戏GUI API。它除了一个方面外,还有很好的发展。我想要的主题类似于GTK的工作原理。我希望它能够工作的方式是每个GUI元素都有一个类似于Windows9X的默认绘图方式。如果发现为该类型的小部件设置了主题,则会使用这些位图来绘制该主题。帮助这个设计问题

我最初的想法是创建一个主题类,它将有位图的getter和setter。

例如:

themeManager.setButtonHover(Bitmap *bitmap); 

的问题,这一点,是它是不是flexable如果我想创造新的类型的部件。我最终可能会想要创建一个超级按钮,它将使用与按钮不同的主题。这是这个概念的缺陷。我正在考虑的概念是每个控件类型都有静态方法来为自己设置主题,而构造函数使用它。

有没有更好的方法做到这一点,我没有想到?由于它是一个API,我想避免阅读文本文件,因此从文本文档中读取主题不是一种选择。

感谢

回答

0

可能是模板上政策的superButton,然后有一个默认策略这确实默认和用户提供不同的政策选项?然后策略可以定义按钮的属性(如悬停图像等) - 我所描述的是否有意义?

+0

哦..你选择了这个想法吗?它运作好吗? – Nim 2010-12-05 20:59:29