Difference between revisions of "DrawingPrimitives"

From Apache OpenOffice Wiki
Jump to: navigation, search
Line 1: Line 1:
 
The DrawingLayer, i.e. the engine providing the Draw/Impress content, which is reused in both Calc and Writer, currently undergoes substantial refactoring. This rework takes place in [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Id=3064&Path=SRC680%2Faw033 CWS aw033] (and partially in [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Id=1999&Path=SRC680%2Faw024 CWS aw024]). Although the DrawingLayer was already usable as an engine, it had several shortcomings, among them no clear distinction between model and view (all model objects handled the viewing of their content themselves), lacking separation of concerns (lots of generally useful functionality was buried in the DrawingLayer code, instead of separated out into tooling libraries), and a hard-to-remove dependency on VCL's OutputDevice for rendering.
 
The DrawingLayer, i.e. the engine providing the Draw/Impress content, which is reused in both Calc and Writer, currently undergoes substantial refactoring. This rework takes place in [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Id=3064&Path=SRC680%2Faw033 CWS aw033] (and partially in [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Id=1999&Path=SRC680%2Faw024 CWS aw024]). Although the DrawingLayer was already usable as an engine, it had several shortcomings, among them no clear distinction between model and view (all model objects handled the viewing of their content themselves), lacking separation of concerns (lots of generally useful functionality was buried in the DrawingLayer code, instead of separated out into tooling libraries), and a hard-to-remove dependency on VCL's OutputDevice for rendering.
  
All three items will be addressed in [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Id=3064&Path=SRC680%2Faw033 CWS aw033], and the means for that are DrawingPrimitives. The mental model for these primitives are metafiles, i.e. resolution-independent representation of renderable geometry.
+
All three items will be addressed in [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Id=3064&Path=SRC680%2Faw033 CWS aw033], and the means for that are DrawingPrimitives. The mental model for these primitives are metafiles, i.e. resolution-independent representation of renderable geometry. DrawingPrimitives define a hierarchy of increasingly simpler geometric primitives, starting with fairly high-level ones like customShapePrimitive or captionPrimitive, down to simple ones like polyPolygonColorPrimitive.

Revision as of 11:29, 30 May 2006

The DrawingLayer, i.e. the engine providing the Draw/Impress content, which is reused in both Calc and Writer, currently undergoes substantial refactoring. This rework takes place in CWS aw033 (and partially in CWS aw024). Although the DrawingLayer was already usable as an engine, it had several shortcomings, among them no clear distinction between model and view (all model objects handled the viewing of their content themselves), lacking separation of concerns (lots of generally useful functionality was buried in the DrawingLayer code, instead of separated out into tooling libraries), and a hard-to-remove dependency on VCL's OutputDevice for rendering.

All three items will be addressed in CWS aw033, and the means for that are DrawingPrimitives. The mental model for these primitives are metafiles, i.e. resolution-independent representation of renderable geometry. DrawingPrimitives define a hierarchy of increasingly simpler geometric primitives, starting with fairly high-level ones like customShapePrimitive or captionPrimitive, down to simple ones like polyPolygonColorPrimitive.

Personal tools