Rich2 / openstrat

Cross Platform Scala 2d graphics (but 3d compatible), basic geometry, maps, Earth maps, hex-tiling and strategy library(s).
https://richstrat.com
Apache License 2.0
22 stars 8 forks source link

Graphics and Geometry version 4.1 #122

Closed Rich2 closed 4 years ago

Rich2 commented 4 years ago

So this an iteration on issue #120 Graphics and Geometry version 4. I thought it would be helpful to create a new clean issue to outline where we are at, and an overview of the tasks to be completed.

  1. So the main work has been done on the new 2D geometric transformations. The new system relies more on type classes and less on inheritance. There is still some methods and type class instances to be filled out but it makes sense to do this in conjunction with the removals below. There is no point in updating classes that are going to be removed.

  2. The removal of all the old Parent classes and the combination graphic elements such as the various FillDraw classes that are composed through inheritance. These will be replaced by the compound classes and the single facet simple graphic elements. A good part of this has already been completed.

  3. This is the iteration or development from version 4. There will now be 3 types of TextGraphics.

    • The old standard TextGraphics that function similarly to the typical Fills and Draw graphics. these can be stand alone or be child graphics of a CompoundGraphic.
    • TextFacets whose output and fontSize are determined when sent to the canvas dependant on the space of the shape at that ime, not wehn they are created. If the Shape is too small the text graphic will not be output at all.
    • TextCells these are text cells designed for control bars, and tables. By default they contain no formatting data.
  4. Review the various Curve and CurvePath classes.

Rich2 commented 4 years ago

I think this is a good juncture to close this into #124.