Difference between revisions of "Small Devices Backend"

Jump to navigation Jump to search
(→‎Common Features: -- add keumapper)
 
(One intermediate revision by one other user not shown)
Line 29: Line 29:
* It should add another level of abstraction and should let lowest level functions like input and screen blitting to be overriden. For example, PalmOS and GP32 backends do not use SDL. That shouldn't be really hard, as most functionality is in place and current SDL backend performs blitting only from 2 functions.
* It should add another level of abstraction and should let lowest level functions like input and screen blitting to be overriden. For example, PalmOS and GP32 backends do not use SDL. That shouldn't be really hard, as most functionality is in place and current SDL backend performs blitting only from 2 functions.


* It should be written with extensive use of #ifdefs, so if I, say, don't need a virtual keyboard or downscalers for platform Foo, I don't bloat my code.
* It should be highly modular, so that one only has to compile and link a given module / feature if one actually needs it. So if for example a port does not need the virtual keyboard, it does not have to link it in (which would increase the binary size, a bad thing on small devices). Yet if I still need the downscalers, I should be able to use those.
 
* It should take advantage of the [[Modular Backends]] project.


=== Common Features ===
=== Common Features ===
Line 37: Line 35:
The following is a list of features / characteristics that are common to many small device systems. Note that not all systems will use each of these, so it is important to be able to pick some of them without being forced to use/implement the others.
The following is a list of features / characteristics that are common to many small device systems. Note that not all systems will use each of these, so it is important to be able to pick some of them without being forced to use/implement the others.


* Virtual keyboard: Provide a default implementation, but offers hooks to allow for custom implementations.
* [[Virtual Keyboard Improvements|Virtual keyboard]]: Provide a default implementation, but offers hooks to allow for custom implementations.
* Keymapper: Flexible solution without relying on gameids
* [[Keymapping Improvements|Keymapper]]: Flexible solution without relying on gameids
* Splash screen (most of ports have it, so it could be unified)
* Splash screen (most of ports have it, so it could be unified)
* Downscalers (used to display on smaller-than-game-content screens)
* Downscalers (used to display on smaller-than-game-content screens)
1,079

edits

Navigation menu