TODO

Path: TODO
Last Update: Sat Apr 21 15:53:18 -0400 2007

TODO / ROADMAP

2.0.1

  • Use rb_scan_args! Better for my health! :) See: www.oreillynet.com/ruby/blog/2007/04/c_extension_authors_use_rb_sca_1.html
  • Improve argument checking for methods written in C, especially when an Array is expected as an argument. See Bug 1704064 (‘Many methods segfault…’)
    • Do we need to make sure color components are between 0 and 255 before we pass them to SDL functions?

On the horizon…

  • Flesh out Mixer API.
  • Flesh out Rect unit tests.
  • C equivalent of Rect.new_from_object (see rect.rb)
    • Screen#update (cannot pass object with rect attribute)
    • Screen#update_rects (same as above)
    • Why not just call the ruby function from within C?

Off in space somewhere…

  • Color (representation of a color)
    • ColorRGB and ColorHSV classes
    • Mix/combine colors using various blending modes (add, multiply, etc.)
    • Library of common pre-defined colors.
    • Integrate with SDL functions (automatic conversion).
  • Path (Curve?) (graphs/plots for tracing position and other uses)
    • Can find the position N units along the path.
    • Can draw a line showing the path.
    • LinearPath (connect the dots, linear interpolation)
    • BezierPath (chain of continuous cubic Bézier curves)
    • AlgorithmicPath (calculated from a code block)
  • Add draw_bezier (SDL_gfx‘s bezierRGBA)
  • Add hq2x, hq3x, hq4x scaling — www.hiend3d.com/hq3x.html
  • Should UpdateGroup union highly-overlapping rectangles for efficiency? (non-unioning may be a desirable behavior)
  • LimitGroup#add could be more efficient (replace many sprites at the same time, rather than doing it one by one.) Very low priority.
  • Better support for non-US keyboards, particularly generating strings for keypresses: (EURO, WORLD*). Will need someone with a non-US keyboard to test this.

[Validate]