132 Commits

Author SHA1 Message Date
MikeBeaton
183e028a5f Pickers: Avoid multiple fetches of Apple Key Map protocol 2021-03-25 06:21:24 +00:00
MikeBeaton
31b645f176 OpenCanopy: Restore boot timeout logic after recent kb changes 2021-03-23 15:21:02 +00:00
MikeBeaton
e69e28cb69 BootPickers: Apple Event kb handling + typing; Apple Key Map non-repeat key handling; CTRL indicator in Builtin. 2021-03-23 12:26:46 +00:00
Marvin Häuser
c47ed0785c OpenCanopy: Simplify pointer code 2021-03-22 19:01:09 +01:00
Marvin Häuser
324eae102d OpenCanopy: Fix cursor redraw inconsistency 2021-03-22 17:16:31 +01:00
Marvin Häuser
9452be4b7e OpenCanopy: Move absolute pointer querying to timed event
Removes pointer update concurrency and absolute pointer input lag.
2021-03-20 19:42:08 +01:00
Marvin Häuser
74c37dc153 OpenCanopy: Remove DEBUG-only code to really silence Coverity 2021-03-20 16:56:01 +01:00
Marvin Häuser
5cff4aa0a5 OpenCanopy: Silence Coverity uninit warning 2021-03-20 15:54:44 +01:00
Marvin Häuser
3aed828870 OpenCanopy: Use ResetSystemLib for resets 2021-03-20 11:19:08 +01:00
Marvin Häuser
29b6a69845 OpenCanopy: Initial double-click support 2021-03-20 11:17:27 +01:00
Marvin Häuser
0a97ed4ff1 OpenCanopy: Set AE cursor position before event registration
Resolves the need for TPL handling.
2021-03-19 22:46:09 +01:00
Marvin Häuser
6e13160e22 OpenCanopy: Pull KeyEvent out of GUI objects
Key events cannot abstractly be propagated, hence there is no point to the abstraction.
2021-03-19 22:42:11 +01:00
Marvin Häuser
fb6a190cca OpenCanopy: Do not register 'Click' events with AppleEvent
We do not need the concept of a 'Click', which is a short-term button down-up sequence in a very narrow square area, as it is common behaviour to invoke any button on button up if and only if the cursor is in the button area. Timing and relative movement do not matter for the action.
2021-03-18 23:47:43 +01:00
Marvin Häuser
783dd3d99f OpenCanopy: Restore cursor acceleration 2021-03-18 21:50:02 +01:00
Marvin Häuser
6925d74d08 OpenCanopy: Fix pointer event propagation
Resolves issue where clicking on selected boot entries would not work.
2021-03-18 19:22:16 +01:00
Marvin Häuser
bfe091c0e6 OpenCanopy: Fix ASSERT on timeout 2021-03-18 11:06:14 +01:00
Marvin Häuser
8f84ad21f1 OpenCanopy: Move selector to BootPickerContainer 2021-03-17 20:04:46 +01:00
Marvin Häuser
747be85475 OpenCanopy: Change child structure layout for no-op casts 2021-03-17 20:04:46 +01:00
Marvin Häuser
7b7d36a866 OpenCanopy: Replace linked lists with arrays for GUI object children 2021-03-17 20:04:46 +01:00
Marvin Häuser
570e6a2f88 OpenCanopy: Remove pointless clipping code 2021-03-17 19:56:13 +01:00
Marvin Häuser
cc61bd7ee9 OpenCanopy: Do not disable interrupts
On some systems, disabling interrupts will severely limit the input quality as it disables the KeySupport and AppleEvent timers. Furthermore, the mechanism barely mitigated tearing, so it was ineffective anyway.
2021-03-17 19:53:16 +01:00
Marvin Häuser
8ff1642bab OpenCanopy: Swap Restart/ShutDown buttons 2021-03-16 20:05:35 +01:00
Marvin Häuser
fa75245727 OpenCanopy: Simplify draw request merging 2021-03-16 20:02:38 +01:00
Marvin Häuser
b7ba490e1f OpenCanopy: Shift cut-off entries right rather than left 2021-03-14 20:20:17 +01:00
Marvin Häuser
b0530eae93 OpenCanopy: Do not include padding for the first boot entry
Fixes https://github.com/acidanthera/bugtracker/issues/1564
2021-03-14 20:13:02 +01:00
Marvin Häuser
c7ba611e49 OpenCanopy: Fix child clipping
Width and Height may have exceeded the dimensions of the current object.
2021-03-11 01:22:44 +01:00
Marvin Häuser
ba8eb0e185 OpenCanopy: Detect click-ability by opacity 2021-03-08 23:28:55 +01:00
Marvin Häuser
b173d50526 OpenCanopy: Add shutdown/restart buttons 2021-03-08 23:28:51 +01:00
Marvin Häuser
7372f6d2e4 OpenCanopy: Simplify background colour drawing 2021-03-08 16:13:47 +01:00
Marvin Häuser
c3c3508ae0 OpenCanopy: Properly offset pointer image 2021-03-08 15:06:55 +01:00
Marvin Häuser
52d30eef56 OpenCanopy: Fix regression from last commit
Non-overflowing picker may be left-aligned instead of centered.
2021-03-07 21:51:33 +01:00
Marvin Häuser
446ce70f12 OpenCanopy: Prevent cut-off entries entirely 2021-03-07 20:48:40 +01:00
Marvin Häuser
5079a14275 OpenCanopy: Use view over draw context screen 2021-03-07 19:33:47 +01:00
Marvin Häuser
daf222e4e7 OpenCanopy: Assume view is at (0, 0) 2021-03-07 19:32:47 +01:00
Marvin Häuser
99d0262211 OpenCanopy: Reset FrameTime per GUI loop
Animations beyond GUI loop iterations are not supported.
2021-03-07 15:17:07 +01:00
Marvin Häuser
6fab23fb94 OpenCanopy: Do not delegate past pointer events 2021-03-07 15:10:41 +01:00
Marvin Häuser
cfbf298ece OpenCanopy: Do not set dimensions for global GUI objects 2021-03-07 13:41:43 +01:00
Marvin Häuser
06a0374352 OpenCanopy: Do not crop draw requests for always-on-screen elements 2021-03-07 13:41:39 +01:00
Marvin Häuser
9733d3ce96 OpenCanopy: Apply intro animation to the BootPicker container
May improve performance with an overfull list. Implicitly fixes a regression where the default entry may end up being cut off.
2021-03-07 13:20:01 +01:00
Marvin Häuser
684ab9cbb8 OpenCanopy: Remove unnecessary child abstraction for scroll buttons 2021-03-07 11:37:53 +01:00
Marvin Häuser
90a1dbd828 OpenCore: Simplify screen crop code 2021-03-06 22:57:50 +01:00
Marvin Häuser
86b880a249 OpenCanopy: Abort absolute pointer update earlier when unavailable 2021-03-06 22:57:50 +01:00
Marvin Häuser
c352bd4f31 OpenCanopy: Overlay pointer late to further reduce input lag 2021-03-06 22:57:50 +01:00
Marvin Häuser
addabab242 OpenCanopy: Delay drawing based on draw requests 2021-03-06 22:57:50 +01:00
Marvin Häuser
6f3329a2f1 OpenCanopy: Merge the intro animations 2021-03-06 11:46:08 +01:00
Marvin Häuser
28eb1cc675 OpenCanopy: Simplify draw requests 2021-03-06 11:46:05 +01:00
Marvin Häuser
71536e6d85 OpenCanopy: Merge draw requests iff not more area is drawn 2021-03-06 11:45:13 +01:00
Marvin Häuser
8fe2f8051d OpenCanopy: Remove unused variable 2021-03-05 19:02:23 +01:00
Marvin Häuser
d308a1c7e2 OpenCanopy: Simplify intro animation 2021-03-05 18:01:37 +01:00
Marvin Häuser
879f0e5c3c OpenCanopy: Restore the old cursor rectangle early 2021-03-05 17:53:24 +01:00