Ilia Demianenko
fd308f9a3a
Zig UI demo
2023-10-03 02:00:20 -07:00
Reuben Dunnington
024a528afa
zig sample:
...
* generate a gradient image and draw it
* rbga8 color helpers and some const tweaks
2023-10-01 14:56:32 -04:00
Reuben Dunnington
49213353fc
zig bindings: namespace clock/canvas functions
2023-09-29 23:42:10 -04:00
Reuben Dunnington
eb60729721
zig bindings: string refinements/bugfixes
2023-09-29 23:03:24 -04:00
Reuben Dunnington
9c4e2125c1
fleshing out oc_str* zig bindings
2023-09-29 20:14:51 -04:00
Reuben Dunnington
1af327d353
zig-sample: add README
2023-09-29 20:13:39 -04:00
Reuben Dunnington
7a91ba471e
zig-sample: fix build.zig to use correct cpu feature set
2023-09-29 20:13:38 -04:00
Reuben Dunnington
db2828141f
adding more orca zig bindings
2023-09-29 20:13:38 -04:00
Reuben Dunnington
4fb25d1d49
wip zig orca bindings
2023-09-29 20:13:38 -04:00
Reuben Dunnington
aa22491eb6
wip zig bindings
2023-09-29 20:13:38 -04:00
Reuben Dunnington
e06e735902
wip zig orca bindings
2023-09-29 20:13:38 -04:00
Reuben Dunnington
5999429838
rename calc-zig to zig-sample
2023-09-29 20:13:38 -04:00
Reuben Dunnington
ee2d14e0e7
wip orca zig bindings
2023-09-29 20:13:37 -04:00
Reuben Dunnington
bded79d363
zig proof of concept is working
2023-09-29 20:13:37 -04:00
Reuben Dunnington
02c1938a43
wip trying to get orca wasm binary to build
2023-09-29 20:13:37 -04:00
Reuben Dunnington
0fd255682d
wip zig orca sample
2023-09-29 20:13:35 -04:00
Reuben Dunnington
9448104f41
macos: separate building orca core from samples
2023-09-25 22:36:02 -04:00
Reuben Dunnington
aac74b0533
win32: separate building orca core from samples
2023-09-25 22:28:01 -04:00
Ben Visness
1cc8778982
Do clang checks on Mac
2023-09-25 11:28:52 +00:00
Ben Visness
75c4f6f94d
Revamp Clang checks for Windows; still need to do the same for Mac
2023-09-25 11:28:52 +00:00
Ben Visness
29cb9f50e4
Add commands to deal with Orca source code:
...
- Add a vendor commands
- Add a command that helps you set up a C compiler
- Move ext into the src folder
- Update Mac build scripts for consistency
- Update Windows batch scripts
2023-09-16 17:54:56 +02:00
Martin Fouilleul
7d3f29e43b
[ui layout]
...
- implement ui box min size, + small fixes in layout code of ui sample
- quick workaround for background showing on resize: clear to current theme's bg0 color
- precompute minsize based on children to avoid upward fixup step
- fix scrollable panel
- Simplify color overrides, override more things to counteract the light theme
- Change dragging to active for after #106 is merged
- when clamping box to minsize during shrinking, redistribute excess to siblings that still have some slack
- wrap demo in a scrollable panel
Co-authored-by: Ilia Demianenko <ilia.demianenko@gmail.com>
Co-authored-by: Martin Fouilleul <martinfouilleul@gmail.com>
2023-09-16 16:59:45 +02:00
Ilia Demianenko
33078fd9dc
UI demo with styling
2023-09-16 16:59:45 +02:00
Ilia Demianenko
82aefaf758
Radio button group
2023-09-13 14:02:50 -07:00
Martin Fouilleul
8cd571f923
Remove oc_scratch()/oc_scratch_next() in favour of safer oc_scratch_begin()/oc_scratch_end()
2023-09-13 18:10:47 +02:00
Martin Fouilleul
a0f9ab5f85
Allow building apps in C++ mode
2023-09-13 15:18:15 +00:00
Ilia Demianenko
a5567da82c
Clipboard handling
2023-09-13 16:59:26 +02:00
Martin Fouilleul
7026919b38
pass both scancode and keycode to oc_on_key_up()/oc_on_key_down()
2023-09-13 16:33:28 +02:00
Martin Fouilleul
ce752713f6
oc_matrix_push() -> oc_matrix_multiply_push(), and add oc_matrix_push() to push a matrix on the stack as is
2023-09-11 20:02:46 +02:00
Martin Fouilleul
313f2e0ad4
Fix quit by sending an event to wakeup the main loop when calling oc_request_quit()
2023-09-11 18:36:40 +02:00
Martin Fouilleul
06a7642055
Licensing and copyright information
2023-09-11 11:09:47 +02:00
Martin Fouilleul
5cdded57b3
Replace confusing oc_text_bounding_box() with oc_font_text_metrics(), which returns both the logical metrics and ink bounding box of text
2023-09-10 19:25:41 +02:00
Martin Fouilleul
e6a3ac7694
oc_render uses currently selected surface
2023-09-10 15:21:11 +02:00
Martin Fouilleul
4b2580f510
Documentation and some API cleaning
...
- Fleshing out Readme
- Renaming pong to breakout
- Renaming triangleGLES to triangle
- Move cheatsheets to their own directory
- Cleanup clock example to use in QuickStart
- QuickStart.md
- Some API cleaning:
- oc_font_create_from_file()/oc_font_create_from_path()
- oc_image_create_from_file/oc_image_create_from_path
- oc_canvas_set_current() -> oc_canvas_select()
- some matrix helpers
2023-09-10 12:29:40 +02:00
Ilia Demianenko
18dff15cf1
Support double and triple click text selection
...
Higher order click processing courtesy of https://devblogs.microsoft.com/oldnewthing/20041018-00/?p=37543
2023-09-09 14:57:51 +02:00
Martin Fouilleul
8fbfeab261
fix clock sample oc_runtime_window_set_size() -> oc_window_set_size()
2023-09-08 15:04:40 +02:00
Ilia Demianenko
b4797dcd2d
Light UI theme
2023-09-08 12:22:03 +00:00
Ilia Demianenko
15bc29d703
Merge branch 'main' of git.handmade.network:hmn/orca into ui-redesign
2023-09-06 22:31:03 -07:00
Ilia Demianenko
aff03630da
Make UI look nicer
...
Design system by semi.design: https://semi.design/en-US/start/overview
SVG icon workflow:
- Find the SVG with devtools
- Copy curve path to https://yqnn.github.io/svg-path-editor/
- Scale X and Y by 1/size (usually 1/24)
- In `ui.c`, do offset and scale with a matrix transform, then the draw commands can use the exact numbers from the normalized SVG
2023-09-06 22:24:00 -07:00
Martin Fouilleul
bd35b75f4b
Minor API cleanup:
...
- Removing unused remote/host surfaces for now
- Complete canvas attributes getters
- Separate surface creation APIs accessible by host and guest
- added oc_get_matrix(), removed oc_viewport()
- oc_get_clip -> oc_clip_top, oc_get_matrix -> oc_matrix_top
2023-09-06 08:58:04 +02:00
Martin Fouilleul
fbb03d27a3
Helpers for manipulating orca structs living in wasm memory:
...
- convert between wasm memory and native pointers, asserting on out-of-bounds
- oc_wasm_list helpers
- oc_wasm_str8 helpers
- pushing things to arenas in wasm memory
2023-09-02 18:07:57 +02:00
Martin Fouilleul
fe25476305
remove stale comments in samples
2023-08-30 15:35:28 +02:00
Martin Fouilleul
4b1ab4db97
expose oc_surface_contents_scaling() to get dpi scaling from a surface
2023-08-28 12:10:29 +02:00
Reuben Dunnington
9ed636e018
update samples for oc_window_set_content_size oc_vec2 change
2023-08-24 11:42:28 -07:00
Reuben Dunnington
81712c14c1
update samples with title/window size
2023-08-24 11:42:27 -07:00
Martin Fouilleul
42738195b5
Don't assume oc_scratch() is cleared at the frame boundary. Use oc_scratch_begin()/oc_scratch_end() instead
2023-08-23 16:24:13 +02:00
Martin Fouilleul
232c5f4f4c
Fix exec permission on samples/clock/build.sh
2023-08-23 12:21:02 +02:00
Reuben Dunnington
4bde491a36
clock sample app
2023-08-23 12:16:32 +02:00
Reuben Dunnington
f4a82cd381
pong: demo oc_request_quit() and oc_on_terminate()
...
* gamestate now records your score (total blocks destroyed)
* when all blocks are destroyed, quit
* print a message when the app is terminated
2023-08-22 21:32:13 +00:00
Martin Fouilleul
94b9cb2bbf
Auto-formatting with clang-format
2023-08-19 15:52:11 +02:00