Skip to content

Latest commit

 

History

History
52 lines (39 loc) · 3.67 KB

TODO.md

File metadata and controls

52 lines (39 loc) · 3.67 KB

TODO

Developer Tools

Bindings

  • Ada: Add Widget classes to the new Ada bindings in ada/gui/.
  • Perl: Split compilation into multiple units instead of one giant Agar.xs (can it be done?)

Packaging and Distribution

  • Update FreeBSD devel/agar.
  • Update OpenBSD devel/agar.
  • Submit ports/packages for agartest and tools such as mapedit, rgedit, sgedit, skedit and vgedit.
  • Submit ports/packages for p5-Agar and agar-ada.
  • Suggest ports for GnuCOBOL and GuiCOBOL.

Style and Typography Engine

  • AG_StyleSheet: Add an "E > F" style selector "Class > #id" for named instances of attached child widgets.
  • AG_StyleSheet: Gradients, textured BG and border styles.
  • Integrate the HarfBuzz text shaping engine for better handling of complex script.

Widgets

  • AG_Console: Handle ANSI cursor and terminal operations. Clipboard integration.
  • AG_FontSelector: Allow the user to enter arbitrary sample text in the Preview field.
  • AG_Notebook: Fix padding issues. Add disposition modes Bottom, Left & Right. Improve keyboard/controller navigation.
  • AG_Pixmap & AG_Fixed: Zoom operations.
  • AG_Surface: Filters. Stencil operations.
  • AG_Surface: Implement loading of animated surfaces from GIF files.
  • AG_Textbox & AG_Editable: Extend SGR support. Syntax highlighting & rich-text editing methods.
  • AG_WidgetPrimitives: Dithering. Shadow effects.
  • AG_Widget: Provide a variation of the "zoom" feature to allow the user to zoom individual widgets.
  • AG_Widget: Threading optimizations. Cache the VISIBLE flag into an int so that culling / rendering and mouse-intersection tests can skip over invisible widgets without locking them.
  • AG_Window: MRU API to simplify the process of remembering geometries. New gravity methods for autoplacing.

Drivers / Ports

  • cocoa: Cursor operations. Clipboard integration.
  • glx: Fix AG_Icon drag-and-drop (e.g., sockets test). Possibly using AG_WindowMove()?
  • glx, wgl: Pump / regulate events to make live window resize more responsive. Right now no effort is made to update the display quickly when they are resized. Can we do this without hurting performance?
  • sdl2mw: Cursor operations. Clipboard integration.
  • wgl: Implement clipboard integration.
  • An accelerated driver for GameCube GX (devKitPro).
  • A software framebuffer driver for X Windows.