Lephenixnoir
7a5101360a
add notes about keyboard focus system
2024-09-11 13:21:03 +02:00
Lephenixnoir
f28d7a9cb8
jfkeys: add event processing to jfkeys
...
This requires jfkeys to _get_ the events, which needs to be done
manually by its owner to some degree (in gintctl, gscreen handles it).
Currently there are just 6 values 0..5 for F1..F6, but future expansion
for rotating menus with more than 6 entries and nested menus might add
to this set.
2024-09-06 16:19:01 +02:00
Lephenixnoir
93eb0df38a
jinput: fix incorrect return value in new event() convention
2024-09-06 10:02:55 +02:00
Lephenixnoir
626da6f378
jpainted: try out a macro-based widget definition scheme
2024-09-06 09:58:33 +02:00
Lephenixnoir
683e89d725
update built-in widgets' event handlers to default to jwidget
2024-09-06 09:58:32 +02:00
Lephenixnoir
216918123f
remove inheritance from jwidget API
...
This is the first step in improving the widget definition process. By
forcing the default behavior to be the widget behavior (thus
discouraging inheritance that doesn't work in C anyway), the default of
jwidget_poly_event() is exposed to the contract. This will allow further
features in using events, specifically for more complex focus cases.
2024-09-06 09:58:32 +02:00
Lephenixnoir
a2129f1ed2
jscene: give a default layout
2024-09-05 09:03:03 +02:00
Lephenixnoir
7b8070f02c
jevent: conveniences for testing for keys
2024-09-04 14:45:27 +02:00
Lephenixnoir
f32dcc69ce
jwidget: use dclear() fror background when widget is full screen
2024-09-04 08:57:58 +02:00
Lephenixnoir
e12a58c1f0
jfkeys: parameterize width to better fit on fx-CP display
2024-09-04 08:56:04 +02:00
Lephenixnoir
7f2131d6a0
jscene: add autopaint option
...
This handles JSCENE_PAINT events in the usual manner. This requires that
no painting other than the scene is desired, which is generally the
case.
2024-09-04 08:55:56 +02:00
Lephenixnoir
7587dfa17c
jlist: add user data pointer
...
This allows the info and paint functions to access user data associated
with the list without going through globals.
2024-09-04 08:51:41 +02:00
Lephenixnoir
12b29f8223
jlist: autofill info structure to 0 before calling info function
...
This avoids having to specify all fields in the info function.
2024-09-04 08:50:38 +02:00
Lephenixnoir
ba7b0a02d0
jlist, jscrolledlist: make parent the last constructor argument
...
To stay in line with constructors for other widgets.
2024-09-04 08:49:52 +02:00
Lephenixnoir
3488c6515a
jlist: add background/inversion selection feature
2024-09-04 08:46:26 +02:00
Lephenixnoir
0c8371edce
jscene: add missing jscene_set_poweroff function
2024-09-03 17:00:53 +02:00
Lephenixnoir
aa736bd12a
juic: intended implementation of record ctors, working for now
2024-08-28 19:55:38 +02:00
Lephenixnoir
5f198ff6b0
juic: small improvements to record ctors, not working yet
2024-08-28 15:38:52 +02:00
Lephenixnoir
ce39929bb4
juic: fix all errors raised by mypy
2024-08-28 14:59:55 +02:00
Lephenixnoir
4579acc0f4
juic: add some record processing, start checking with mypy
2024-08-28 14:59:55 +02:00
Lephenixnoir
e79ba0056b
juic: add basic unit tests to consolidate
...
This way when I get the record constructors right (which I think I have
in my mind now) I can keep around non-regression tests.
2024-08-28 10:43:23 +02:00
Lephenixnoir
24f3e14061
juic: WIP
2024-08-28 08:52:07 +02:00
Lephenixnoir
550c08e200
jscene: atomic queue access for interrupt-safety
2024-08-28 08:39:09 +02:00
Lephenixnoir
5e2488cdf4
jframe: add missing child check in poly_render
2024-08-17 17:43:17 +02:00
Lephenixnoir
5a885b541f
enable LTO
2024-05-26 18:18:39 +02:00
Lephenixnoir
5b092a5a4e
enable the fx-CP build
2024-05-26 18:18:31 +02:00
Lephenixnoir
e324f9a3a2
don't use FX9860G/FXCG50 and slightly more unified APIs
...
We still have a few platform-specific occurrences that I'll want to get
rid of in the future. This should ultimately leave me with only one
version of the library (but this also precludes the use of macros like
DWIDTH/DHEIGHT which will require further changes).
2024-03-24 11:05:43 +01:00
Lephenixnoir
0e5ccf4cc3
jinput: add keymap customization function
2024-03-17 19:09:20 +01:00
Lephenixnoir
bea113f09e
jfileselect: visualize errors
2024-02-04 19:59:45 +01:00
Lephenixnoir
ef71bc11c0
jscene: poweroff upon SHIFT+AC/ON
2024-01-16 11:43:23 +01:00
Lephenixnoir
4c44b3e413
jfileselect: improve behavior for empty listings
2024-01-04 19:22:45 +01:00
Lephenixnoir
d9c18117c5
bump version to 1.3.0
2023-04-10 14:19:54 +02:00
Lephenixnoir
a84b0adb3a
jlist: fix jlist_clear()
2022-12-02 09:56:33 +01:00
Lephenixnoir
f5d6fb2e87
jscrolledlist: hack to allow scroll before re-layout
2022-12-01 23:59:31 +01:00
Lephenixnoir
40ffe54250
jfkeys: fix key levels not working at all
2022-12-01 11:00:41 +01:00
Lephenixnoir
beeb0c0724
jlist, jscrolledlist: add versatile paintable list widgets
2022-12-01 11:00:27 +01:00
Lephenixnoir
51fbf2f582
jframe: new widget that adds scrolling to a large child (basics)
2022-11-20 14:56:42 +01:00
Lephenixnoir
950c5b7152
jwidget: add a per-widget clipping setting
2022-11-19 23:42:38 +01:00
Lephenixnoir
67219834be
jscene: honor the getkey feature function in jscene_run()
2022-11-19 18:58:19 +01:00
Lephenixnoir
2e15bb8c96
jscene: fix delivery of focus change events
2022-11-19 18:57:36 +01:00
Lephenixnoir
5b591a6fb4
jinput: fix out-of-bounds bug in weird cursor positions
2022-11-19 18:53:58 +01:00
Lephenixnoir
7c0e8257f7
jevent: add generic integer data option in events
2022-11-06 19:51:28 +01:00
Lephenixnoir
cfeba2695c
jfileselect: add a scrollbar option (enabled by default)
2022-11-05 20:58:34 +01:00
Lephenixnoir
fd9191cc43
jfileselect: friendlier fx-9860G defaults
2022-11-05 19:06:33 +01:00
Lephenixnoir
a588c24f59
jfileselect: add a programmable filter
2022-11-05 18:50:40 +01:00
Lephenixnoir
34ee43d67f
jscene: update for extra parameters in keydev_read()
2022-11-04 11:10:21 +01:00
Lephenixnoir
b0195af198
jfkeys: add color and font parameters
2022-08-29 14:57:18 +02:00
Lephenixnoir
577e9ae20c
cmake: install the fxSDK sysroot
2022-08-21 17:37:45 +02:00
Lephenixnoir
43ca998a14
bump version to 1.2.0
2022-06-25 00:10:56 +01:00
Lephenixnoir
6464074c12
jscene: add an option to control main menu manually
2022-06-24 19:28:44 +01:00