关于c ++底层复合模式的图形编辑器开源项目示例

时间:2011-01-03 10:25:59

标签: c++ oop open-source design-patterns

你能告诉我在哪里可以看到一些开源项目(只有C ++语言的项目),这是一个简单的图形编辑器,包括下面的原语(例如):一个椭圆,一个矩形,一条线。并且希望能够在一个原语中对该原语进行分组(例如,Word分组 - >组)。 在该项目中需要使用复合模式。我想看看如何组织课程,但对我来说更严肃的是看组织操作的组织方式。

我在codeproject.com codeproject.com,codeplex.com上搜索过它,但没找到。

我已经有了一些来源http://pastebin.com/xe4JF5PW

但在我看来,这段代码很脏又丑。因此,我想看一些开源项目。谢谢!

alt text

2 个答案:

答案 0 :(得分:2)

在GoF书中“设计模式:可重复使用的面向对象软件的元素”,有一个案例研究,展示了如何使用这些模式。它们描述了将Composite设计模式用于图形目的的方法。 (使用字形,字形是图形组件)。

他们将案例研究基于一个名为 Lexi 的真实文本/图形编辑器。

不幸的是,代码是DELPHI,而不是C ++。但代码在这里:LEXI

然而,在“四人帮”一书的详细解释中对此进行了解释。如果网站解释不够清楚,你应该看看这本书。

答案 1 :(得分:1)

Inkscape可能是您的搜索内容,它是一种流行的开源矢量图形编辑器(主要是用c ++编写)。

https://code.edge.launchpad.net/~inkscape.dev