to_do

CD - Canvas Draw

To Do's

CD

  • Create Bezier curves by means of a new parameter for the cdBegin function.
  • Create new attributes: LineCap, LineJoin, PolyFillMode.
  • Create new primitive: Chord.
  • Use the library GD to replace the code of the IMAGERGB driver ?

New Drivers

  • Driver based on Macintosh Picture (PICT) file.
  • GKS Metafile driver. Thus, old GKS-based applications, such as TeCDraw, would be able to import CD images.

Simulation

  • Enhance mark and text clipping.
  • Implement a polygon clipping for text.
  • Implement line styles for lines with thickness over 1.
  • Correct error in the Sector simulation. The error occurs when the drawing of the round part of the sector begins, because the algorithm skips a horizontal line.

ImageRGB

  • Correct error: the polygon clipping is not performed for Image functions, both for server and for client images.
  • Correct error: text clipping must be made by each character's PutImage, and not as in the text clipping simulation.

DXF

  • Implement World Coordinate functions directly in the driver.
  • Implement Arch and Sector functions as DXF primitives, and not as polygons. Update all other primitives according to the new DXF manual, as there are several limitations in the current implementation.

CGM

  • Make cdPlay treat the possibility of xmax and ymax being 0.
  • Check the possibility of implementing function cdTextOrientation.
  • Implement World Coordinate functions directly in the driver.
  • Correct the cdPlay function, which is generating several extra lines.
  • Correct the cdPlay function, which should not preserve the aspect ratio.
  • Allow cdPutImageRGBA to be partially implemented using transparent cell color.

DGN

  • Implement the interior style attributes: hatch, stipple and pattern. They depend on the new DGN specification, which we do not have yet.
  • Check the possibility of implementing functions cdTextOrientation and cdRect.
  • Implement World Coordinate functions directly in the driver.
  • Correct function cdKillCanvas, which generates "assertion failed" when the library is used with debug information and the Seed file is not included.

PS

  • Allow functions cdPutImageMap... to be implemented using indexed color space.
  • Check the possibility of cdHatch and cdStipple, which are always opaque, having transparency, using shading from Version 3 or mask images.Same for cdPutImageRGBA.

MAC

  • !!! Update the driver to Version 4.0.
  • Create a dynamic library (Dynamic Link Library).
  • Remove IUP driver dependency.
  • Solve the memory problem related to patterns.

X-WIN

  • Analyze the possibility of using Double Buffering and MIT-Shared Memory extensions for server images.