Commit Graph

28 Commits

Author SHA1 Message Date
dd21bfed8d positioning: Calculate sizes instead of storing, move position out of widgets
Sizes of widgets can be derived, so storing them was only for C compatibility. Similar with storing position inside of widgets.

Some layout margin and scaling changes could be introduced, meaning a possibility of visual differences.
2019-12-07 21:20:21 +00:00
1c4d027af5 cleanup: Remove references to squeek_view 2019-12-07 15:42:54 +00:00
f77db1bb73 renderer: Render whole keyboard the same way as pressed buttons
Removed window size dependent surface.
2019-12-07 14:33:49 +00:00
f9fbd3fb2d rendering: Simplify Cairo context usage, remove unneeded calls.
Moved Cairo context usage to Rust, and rearranged ctx setup (position) to happen in one place.

Removed render calls that were overwritten on each draw call anyway.
2019-12-07 12:47:47 +00:00
83fea8cd31 Drop squeek_key 2019-12-01 15:01:08 +00:00
47c4119ab7 Add a popover menu to switch languages 2019-11-05 13:10:55 +00:00
c917a1f818 layout: Keep kind metadata in loaded layouts
It will come useful for applying per-kind styling later without having to give each layout a new stylesheet
2019-10-29 13:27:54 +00:00
1b1fbed7de layouts: Change type based on shape 2019-10-29 13:21:46 +00:00
c99efc430c presses: Move press handling to Rust
This fixes some rendering things which would happen with multiple state-sharing buttons. It also removes some interfaces exposing rows, views, layouts, and buttons, bringing the code closer to removing them from the FFI entirely.
2019-10-23 15:11:16 +00:00
e513cb9b54 style: Use outline name as CSS class 2019-09-26 13:28:31 +00:00
0ed66e0eab locked: Use keys instead of buttons 2019-09-09 13:54:55 +00:00
6523275b6a views: Change based on layout file 2019-09-09 13:25:03 +00:00
26d1a6047c Merge branch 'fixes' into reparse 2019-09-04 10:18:53 +00:00
b84c402c4a WIP
WIP

WIP: keymap generation test passes

meta: Update features and version

WiP: cargo.lock

WIP: don't crash

WIP: no outlines

parsing: New tests

WIP: base level works

WIP: remove old keyboard

symbols correctly input

WIP: lodaing files

WIP: fallback works

Valid fallback
2019-09-04 09:44:31 +00:00
baabcb1400 layout: Remove unused C functions 2019-09-01 11:42:02 +00:00
75992ff13f Check for button position more in Rust
The check against fitting inside the Layout was removed: as an optimization it is unneeded, as the actual search must be optimized to be quick. In addition, the view bounds don't correspond to anything physical as long as negative offsets are allowed.
2019-08-29 12:19:42 +00:00
4a61ab269b layout: Place items using simple loops
The C version of looping over buttons and other items was weakly typed, causing runtime errors, and also C doesn't know how to iterate in abstract, so it was full of callbacks with user-defined data. Moving this to Rust, iteration is made of simple loops, and compile-time type-checked, at the cost of some more verbose code.
2019-08-28 09:41:33 +00:00
79b66f81ec view: Move button finding to Rust 2019-08-18 13:22:18 +00:00
e1c57fa9f0 row: Add const 2019-08-18 13:22:18 +00:00
a64bff6aab button: Add const qualifiers where needed 2019-08-18 13:22:18 +00:00
4e9a8e4afe Move button finding to view 2019-08-18 13:22:18 +00:00
f479a36dbe keyboard: Remove references 2019-08-18 13:22:18 +00:00
e56f1c6392 row: Move button find iteration into row 2019-08-18 13:22:18 +00:00
c4b3a0aaaa row: Moved button sizing closer to row 2019-08-18 13:22:18 +00:00
524040cf00 Remove eek-container 2019-08-18 13:22:18 +00:00
0d33179727 section: Moved bounds to row 2019-08-18 13:22:18 +00:00
4f8de42598 section: Move properties into Row 2019-08-18 13:22:18 +00:00
6fc351d2e8 eekkey: Dropped in favor of Button
Each Button has a KeyState, which may be shared with other buttons. The list of pressed and locked buttons is used as a list of keys, causing a search for the button in the current view.
2019-08-18 13:22:18 +00:00