Martin Fouilleul 
							
						 
						
							
								6a50a6bbdc 
								
							 
						 
						
							
							
								
								[ui layout] implement ui box min size, + small fixes in layout code of ui sample  
							
							
							
						 
						
							2023-09-15 12:41:23 +02:00  
				
					
						
							
							
								 
						
							
								ae392a1fc2 
								
							 
						 
						
							
							
								
								UI demo with styling  
							
							
							
						 
						
							2023-09-15 07:41:27 +00:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								09cf30cf45 
								
							 
						 
						
							
							
								
								Consistency/intent  
							
							... 
							
							
							
							- pass arenas as first parameters (exception being texbox widget, where we always pass tag as first parameter)
- pass lists by value when there's no modification (eg oc_list_for etc...)
- fix sketches, use oc_arena_scope as value. 
							
						 
						
							2023-09-14 11:54:38 +02:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								47dc052508 
								
							 
						 
						
							
							
								
								Minor consistency things:  
							
							... 
							
							
							
							- oc_window_style could be enum
- clikCount in oc_key_event to u8
- return of oc_input_key_press -> u8
- rename oc_key_pressed/released/repeated to oc_key_press/release/repeat_count to reflect meaning of return value 
							
						 
						
							2023-09-14 10:47:10 +02:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								0e680c989b 
								
							 
						 
						
							
							
								
								consistency: use _proc everywhere instead of _function or _callback in procedure typedefs. Also remove unused oc_live_resize_callback  
							
							
							
						 
						
							2023-09-14 10:31:12 +02:00  
				
					
						
							
							
								 
						
							
								73717b5dd8 
								
							 
						 
						
							
							
								
								Document palette colors  
							
							
							
						 
						
							2023-09-14 07:42:09 +00:00  
				
					
						
							
							
								 
						
							
								d44ac5a1fb 
								
							 
						 
						
							
							
								
								Use color + bgColor for selected radio instead of bgColor + borderColor  
							
							
							
						 
						
							2023-09-13 14:02:50 -07:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								0f3f7b5052 
								
							 
						 
						
							
							
								
								oc_runtime_clipboard_get_string() pushes to an arena, so to maintain oc_str8 conventions, we push an implicit null terminator after it  
							
							
							
						 
						
							2023-09-13 17:05:15 +02:00  
				
					
						
							
							
								 
						
							
								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 
							
						 
						
							
								a1ffcd3ddc 
								
							 
						 
						
							
							
								
								[ui] macOS text edit shortcuts  
							
							
							
						 
						
							2023-09-13 16:25:18 +02:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								d53c688810 
								
							 
						 
						
							
							
								
								Keyboard layout support:  
							
							... 
							
							
							
							- Convey both fixed scancodes and keyboard-layout dependent keycodes in key events.
- Update scancode to keycode mapping when keyboard layout changes
- Allow querying key input state using either keycodes or scancodes 
							
						 
						
							2023-09-13 16:22:33 +02:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								b9232b796c 
								
							 
						 
						
							
							
								
								Fix hang on quit.  Closes   #91  
							
							
							
						 
						
							2023-09-12 09:36:32 +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  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								ab4abd28d7 
								
							 
						 
						
							
							
								
								Fix broken build on MSVC due to size_t being considered equivalent to u64 in _Generic associations  
							
							
							
						 
						
							2023-09-11 18:09:47 +02:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								3e2f550b68 
								
							 
						 
						
							
							
								
								switch order of designated enums in strings, to make it easier to compile in c++ mode  
							
							
							
						 
						
							2023-09-11 14:15:35 +02:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								dc837a6a6d 
								
							 
						 
						
							
							
								
								change len of strings to size_t  
							
							
							
						 
						
							2023-09-11 12:53:15 +02:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								8d346eca90 
								
							 
						 
						
							
							
								
								flip order of len and ptr in oc_str8/16/32 structs, to make bindings easier  
							
							
							
						 
						
							2023-09-11 12:53:15 +02:00  
				
					
						
							
							
								 
						
							
								afbb4329f5 
								
							 
						 
						
							
							
								
								Fix scrolling  
							
							
							
						 
						
							2023-09-11 09:43:58 +00:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								06a7642055 
								
							 
						 
						
							
							
								
								Licensing and copyright information  
							
							
							
						 
						
							2023-09-11 11:09:47 +02:00  
				
					
						
							
							
								 
						
							
								bb39bc7a13 
								
							 
						 
						
							
							
								
								Make arrow keys always move the cursor to the edge of the selection first  
							
							
							
						 
						
							2023-09-11 09:08:47 +00: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  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								9aad2c0ec8 
								
							 
						 
						
							
							
								
								Fix debug overlay vsync on windows  
							
							
							
						 
						
							2023-09-10 12:28:53 +02:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								565bef5896 
								
							 
						 
						
							
							
								
								#if guard vsync API from Orca apps  
							
							
							
						 
						
							2023-09-09 15:33:59 +02:00  
				
					
						
							
							
								 
						
							
								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 
							
						 
						
							
								5a7182a3b9 
								
							 
						 
						
							
							
								
								make vsync differences between win32 and macos explicit in runtime.c  
							
							
							
						 
						
							2023-09-09 14:34:20 +02:00  
				
					
						
							
							
								
								Reuben Dunnington 
							
						 
						
							
								6ae129022e 
								
							 
						 
						
							
							
								
								rework vsync to be manual wait for win32  
							
							
							
						 
						
							2023-09-08 21:35:13 -07:00  
				
					
						
							
							
								
								Reuben Dunnington 
							
						 
						
							
								d9703519b9 
								
							 
						 
						
							
							
								
								osx vsync notification  
							
							
							
						 
						
							2023-09-08 20:58:14 -07:00  
				
					
						
							
							
								
								Reuben Dunnington 
							
						 
						
							
								aa1c5ef915 
								
							 
						 
						
							
							
								
								cleanup dead code  
							
							
							
						 
						
							2023-09-08 20:58:14 -07:00  
				
					
						
							
							
								
								Reuben Dunnington 
							
						 
						
							
								be5b6aea30 
								
							 
						 
						
							
							
								
								vblank notification: win32  
							
							
							
						 
						
							2023-09-08 20:58:11 -07:00  
				
					
						
							
							
								 
						
							
								3bcbc76662 
								
							 
						 
						
							
							
								
								Make tooltip disappear on mouse leave  
							
							
							
						 
						
							2023-09-08 14:35:42 +02:00  
				
					
						
							
							
								 
						
							
								b4797dcd2d 
								
							 
						 
						
							
							
								
								Light UI theme  
							
							
							
						 
						
							2023-09-08 12:22:03 +00:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								907f33bc27 
								
							 
						 
						
							
							
								
								[osx] quickfix for frame pacing on osx, keep swap interval to 1 for all surfaces  
							
							
							
						 
						
							2023-09-08 10:32:59 +02:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								3effde949e 
								
							 
						 
						
							
							
								
								Fix file date on windows  
							
							
							
						 
						
							2023-09-08 10:18:22 +02:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								8f413fdb46 
								
							 
						 
						
							
							
								
								fix auto-scrolling in debug UI (due to change in how oc_ui_panel() is structured)  
							
							
							
						 
						
							2023-09-08 10:11:51 +02:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								a275b3da28 
								
							 
						 
						
							
							
								
								adding file timestamps to file_status  
							
							
							
						 
						
							2023-09-07 10:09:26 +02:00  
				
					
						
							
							
								
								Reuben Dunnington 
							
						 
						
							
								15a8e2ae22 
								
							 
						 
						
							
							
								
								wasm bindings: enforce pointer length  
							
							... 
							
							
							
							* bindgen.py: print an error when a pointer argument doesn't have an annotated length
* ensure all bindings with pointers have length annotations
* add a couple helper functions for dealing with length annotations 
							
						 
						
							2023-09-07 07:51:23 +00:00  
				
					
						
							
							
								 
						
							
								15bc29d703 
								
							 
						 
						
							
							
								
								Merge branch 'main' of git.handmade.network:hmn/orca into ui-redesign  
							
							
							
						 
						
							2023-09-06 22:31:03 -07:00  
				
					
						
							
							
								 
						
							
								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 
							
						 
						
							
								425d9b3448 
								
							 
						 
						
							
							
								
								- Added basic cheatsheets  
							
							... 
							
							
							
							- Minor cleanups:
    - Hiding some native-only path APIs
    - Re-formatting ui.h 
							
						 
						
							2023-09-06 08:58:43 +02: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 
							
						 
						
							
								0205d90941 
								
							 
						 
						
							
							
								
								- Added oc_file_open_with_request() to request new file capability for a given path. This presents user with a message box allowing them to accept or deny the request.  
							
							... 
							
							
							
							- Added oc_file_open_with_dialog() to ask user to grant new file capabilities through an open/save dialog. 
							
						 
						
							2023-09-02 11:00:28 +02:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								0db1589dc6 
								
							 
						 
						
							
							
								
								[canvas] remove degenerate point lines when encoding strokes  
							
							
							
						 
						
							2023-09-01 19:40:37 +02:00