From: Martin Desruisseaux <martin.desruisseaux@te...> - 2003-05-28 10:36:37
One last renaming:
RenderedIsoline --> RenderedGeometries
A new package has been added:
It contains only the following class at the moment, which are almost empty:
I guess it is the starting point for Andrea (and others work). Fell free
to modify and extends those class as much as you want. Style2D is
referenced in RenderedGeometries, but its methods are not yet used
anywhere. So you have complete freedom to do all the changes you want.
Style2D is going to be used in RenderedGeometries.paint(Graphics2D,
Shape, Style2D). You can extends this class (for example
RenderedStyledGeometries) and override this method: this is the place
where to use Style2D. Later, I will propose to move the
RenderedStyledGeometries code right into RenderedGeometries.
The following methods has been added to Geometry:
It allow to attach a style to a Geometry. When the same geometry is used
more than once with different style, uses the following:
This is a geometry wrapping an other geometry with a different style.
This is exactly the equivalents of Andrea's intermediate class, the only
difference is that this class is itself a geometry. It contains only two
Geometry geometry; // The wrapped geometry
Style style; // The style, inherited from Geometry
Consequently, the memory cost is exactly the same than Andrea's
intermediate class. The advantage of this approach is to avoid the
creation of intermediate class in the common case where a geometry is
rendered only once. A GeometryProxy object is created only if a geometry
is rendered more than once.
I believe there is now enough room for peoples starting to work on
Style2D implementations and usage in
RenderedGeometries.paint(Graphics2D, Shape, Style2D). In the main time,
there is again some issue that need to be fixed as a result of the
refactoring, but it can be done in parallel.
Note: I propose to not work on marks immediately. I would like to discut
about them in IRC meeting first.
Get latest updates about Open Source Projects, Conferences and News.