There are three kinds of sharing that needs to take place. The base
classes (GimpTool, GimpSelectionTool, GimpTransformTool, GimpPaintTool,
GimpDrawTool, and <eeeeeeeek!> GimpObject) need to share their structure
definitions in order to maintain and ensure binary compatibility.
The other tool related classes (GimpToolModule and GimpToolControl) except
for parts that need to know which side of the gimpwire they are on share
headers and code.
The other gimp related classes, such as GimpDrawable, need only to share
function declarations. The structure definition should NOT be part of the
A decision needs to be made about how to accomplish this sharing,
especially in the case of GimpObject.
Gimp-developer mailing list