The attached file contains a stand-alone plugin module for a "CustomShapeMarkFactory", which allows for creating customizable marks by registering arbitrary shapes. This factory may be used to replace the current ShapeMarkFactory, whose functionality is (hopefully) entirely replicated (i.e., all marks in ShapeMarkFactory have their equivalents in CustomShapeMarkFactory). It could also probably be used for user extensions in the way suggested by Andrea Aime in http://old.nabble.com/list-of-well-known-marks-and-%22shapes:--%22-in-SLD-td26064137.html.
At the moment, usage is by using a well known string of the type "customshape://<markname>[?parameter1=value1¶meter2=value2&..]".
Aside from the previously existing marks, two additional marks are provided:
- A "rectangle" mark, where the user can specify something like "customshape://rectangle?aspect=2.0"
- A "hatch" mark, where the user can specify something like "customshape://hatch?angle=30"
Both additional marks require support for non-square marks in the GeoTools renderers (provided in patch for issue