Known bugs and plans
--------------------
We don't have any - go away!



List over stuff to fix:
-----------------------
All platforms:
- Sprite cutter:
  - Add pos and size to the "none"-cutter
  - Add a "serie" cutter - image1 = image0001.tga; image1_method = serie; image1_end = 100;
  - Add CL_Point and CL_Size to CL_SpriteDescription cutter functions ?

- Sprite packer:
  - Fetch max texture size from gl-info
  - Rename to Texture packer
  - Let users decide if they want to keep existing surface as texture
  - Fix edge artifact
- Sprites:
  - play_default_speed -> play_fps ?
  - Split CL_Sprite into CL_Sprite and CL_SpriteProvider/Data ?
- Input:
  - Add joystick API and implementation
  - InputEvent: repeat count, right alt/shift/control aren't correctly filled in
  - sig_key_dblclk is not implemented
  - InputButton is not implemented
- Make it possible to extract useful information, like max_texture_size etc
- Implement draw_pixel
- Some places we use floats for color (CL_Font::set_color), while other places we use CL_Color
  Make them consistent!

- Core:
  - Redesign CL_Timer into something alot more useful
  - Add CL_System::get_last_time() if you know you've called get_time() already in this frame,
    and just want the last time reported.
- GUI:
  - Add sig_checked/unchecked to CL_CheckBox and CL_RadioButton
  - RadioButton - when checked, make sure RadioGroup is updated as well
  - Extend Move/Resize handler - add empty constructor, add resize() function
  - Add CL_Component::get_client_area()

  Ideas:
  - Remove the concept of RadioGroup, and make all RadioButtons within a component
    work as a group. So, to group RadioButtons, you just put all of them within a
    component, be it CL_Component, CL_Frame or whatever.
    Problems: Where should signals be? Must the user hook into each RadioButtons signals?

- Documentation:
  - Where appropriate, maybe links back to the api overview (eg. There
    should be a reference back to the overview display discusion in CL_Display)
  - Make links from Overviews, back to Home and to Reference.
    (Like Reference has now)
  - The user should be able to click the CL_Color in
    CL_GraphicContext::clear to go look at the CL_Color.
  - It is probably helpful to say that virtual functions actually are virtual.


The CL_System time function works like it should all is sweet and dandy, but
often about 20-40 minutes into a game, it will suddenly jump from 0xE23F or
something small to 0xFFEE1234. It appears as if the bits are getting
inverted but never quit exactly just that. I was able to reduce my game loop
down to just this and STILL get the clock bug:

while (!CL_Keyboard::get_keycode(CL_KEY_ESCAPE)) {
    theTime = CL_System::get_time();
    std::cout << theTime << '\n';

    if((theTime - oldTime) > 1000) throw CL_Error("Clock Bug!\n");

    CL_System::keep_alive();
}

