|
|
|
|
Future Plans
This is a short summary of my future plans for the on-development of Eagle Mode.
Only the most essential things are listed. Note that the plans are long-term. I
don't know when I will have the time and motivation to work on the project.
emMeta
emMeta could be the name for a secondary API. It would allow to write plugin
applications in a language like Perl, Python, Javascript or whichever.
Technically, emMeta would be a communication protocol mainly for creating and
modifying a sub-tree of panels, and for transferring input events. It could be
used to communicate with a child process via pipeline or with a remote process
via network. Besides, the protocol could also be used as a file format for
defining deep static "pictures" without any scripting. Of course, the emMeta API
can never be as powerful as the primary API (emCore), but it could make the
programming of several applications a little easier. And it has the advantage of
a better stability, because when a plugin application crashes and it is a child
process instead of a linked library, Eagle Mode can live on.
emCore
Some of the most important plans for emCore are:
- Add more fonts, even as a preparation for localization. Probably both
solutions should be implemented: extend the built-in font (make it extensible),
and connect to a foreign font library. Create a nice class named "emFont".
- Make everything thread-reentrant and provide an interface for
multi-threading. But I have to say that I would mostly recommend
multi-processing over multi-threading, because of stability.
- emToolkit: Extend emTkBorder by a selection interface. Provide a file
selection dialog. Split the header file and let it be a separate sub-project,
maybe.
- Improve emPainter: Get rid of the reduction of the colors of plain paintings
to 12-bit, maybe by writing certain algorithms in SIMD assembly just to keep the
performance (create a driver interface for that). Provide more painting
capabilities like splines, color gradients, textures and so on.
- Write an API introduction, if desired.
emMain
Make the virtual cosmos graphically editable (drag&drop, grouping, file
manager interface...).
Desktop Control View
Create a popup-zoomable desktop tool as a replacement for classic desktop tool
boxes and start menus.
|