2017-01-17 02:05:32 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
2017-03-04 03:48:25 -05:00
|
|
|
roadmap to first release, in no particular order {
|
|
|
|
add touch interceptor (and possibly dimming "shroud") to modal box
|
|
|
|
make more stuff use theme metrics (particularly default text configs) {
|
|
|
|
label defaults
|
|
|
|
}
|
|
|
|
implement OSK!
|
|
|
|
|
|
|
|
add license!! (MIT?)
|
|
|
|
} and some lesser priority things {
|
|
|
|
add language config and atlas support
|
|
|
|
maybe implement some way of "knocking out" and replacing metrics during runtime for theme switching
|
|
|
|
}
|
|
|
|
|
2017-03-01 07:06:41 -05:00
|
|
|
form system { framework done apart from some small api changes
|
2017-02-28 08:24:38 -05:00
|
|
|
capabilities {
|
|
|
|
updates, recieves events etc. as if it were a stackable Application
|
|
|
|
priority level (modals etc.)
|
|
|
|
can be stacked, reordered etc. via order shown
|
|
|
|
can occlude independently on top and bottom screen, causing lower-ordered things on that screen to not even render
|
|
|
|
can tell if it's the focused (topmost) form and use that to determine whether to accept button input
|
|
|
|
|
|
|
|
}
|
|
|
|
meaningful state change signals current Application to resort and rebuild draw list during next update
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2017-01-17 02:05:32 -05:00
|
|
|
today's agenda {
|
2017-01-21 18:52:17 -05:00
|
|
|
FSHelper, recursive directory assertion etc.
|
2017-01-17 02:05:32 -05:00
|
|
|
} then {
|
|
|
|
change Label to move the rect instead of resizing to accomodate drops (add an offset thing to Font)
|
|
|
|
kill scroll velocity when hitting the edge (or rapid decel)
|
|
|
|
make scrollfield autofit a flag
|
|
|
|
make le scrollfield check threshold itself and only count directions it can actually scroll
|
|
|
|
visual sugar such as "bump glow" for scrollfields
|
|
|
|
}
|
|
|
|
|
|
|
|
unordered_roadmap {
|
|
|
|
moar UI elements {
|
|
|
|
checkbox
|
|
|
|
radio box
|
|
|
|
tabs?
|
|
|
|
auto-layout/list boxes
|
|
|
|
text/combo box
|
|
|
|
slider
|
|
|
|
progress bar
|
|
|
|
|
|
|
|
}
|
|
|
|
maybe switch drawoffset system from a stack to a pass-in
|
|
|
|
moar utility stuff in Vector2 and VRect {
|
|
|
|
-
|
|
|
|
}
|
|
|
|
tween system
|
|
|
|
figure out theme layout and fallback system
|
|
|
|
maybe a few further refinements to bitmap fonts
|
|
|
|
...
|
|
|
|
use ctrulib sync features for WorkerThread instead of spinlocks at some point
|
|
|
|
- http://smealum.github.io/ctrulib/synchronization_8h.html#a9fe83ca3ec3c6ae269203acf367ad5a9
|
|
|
|
duck l'orange
|
|
|
|
|
|
|
|
... tweenable drawable format?
|
|
|
|
figure out the whole font y offset deal
|
|
|
|
}
|
|
|
|
|
|
|
|
theme layout {
|
|
|
|
sdmc:/.starlight/themes/<name>/ {
|
|
|
|
fonts {
|
|
|
|
default.12.json/png/border.png
|
|
|
|
default.16
|
|
|
|
mono.12/16
|
|
|
|
}
|
|
|
|
controls {
|
|
|
|
button.idle/pressed
|
|
|
|
...
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
drawable, drawcontext, gfxmanager (pushContext, popContext) (done mostly)
|
|
|
|
ThemeRef (done) {
|
|
|
|
theme-asset-specific reference so themes can be reloaded
|
|
|
|
-> operator overloaded etc.
|
|
|
|
}
|
|
|
|
T H E M E S
|
|
|
|
|
|
|
|
configurator for ui elements? maybe crtp after all
|
|
|
|
noap, macro/include shenanigans
|
|
|
|
new Button().at(40, 40).within(container).ofSize(64, 32).withText("Popsicles!");
|
|
|
|
shelved for now because shared_from_this is kind of dumb for what I need it for :D :D :D
|
|
|
|
(though maybe some trickery with putting the last-created-element in a static, combined with static factory pattern...)
|
|
|
|
|
|
|
|
maybe LoosePtr (wraps weak_ptr for expired check but references by raw pointer)
|
|
|
|
implement this to replace weak_ptr parent if it ends up impacting performance too much
|
|
|
|
|
|
|
|
maybe implement this: https://probablydance.com/2013/01/13/a-faster-implementation-of-stdfunction/
|
|
|
|
|
|
|
|
// notes {
|
|
|
|
bitmap font converter - https://github.com/playcanvas/fonts/blob/master/fnt_to_json.py
|
|
|
|
}
|