Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								5455c2a52b 
								
							 
						 
						
							
							
								
								[ui] Allow styling overlay boxes (e.g. menu and drop-down list panels) locally.  
							
							 
							
							... 
							
							
							
							- Added an UI_FLAG_OVERLAY flag. When we make a box with that flag set, it is added the an overlayList in the ui context.
- After styling and static size pass, we reparent boxes in the overlayList to an overlay node just below the root node.
- Layout and drawing works uniformly on the whole tree. Overlay boxes get drawn last and steal mouse hover from boxes underneath them. 
							
						 
						
							2023-03-13 10:26:39 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								9e41d2b6fc 
								
							 
						 
						
							
							
								
								[ui] first version of select popup menu  
							
							 
							
							
							
						 
						
							2023-03-12 19:06:09 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								09951afa53 
								
							 
						 
						
							
							
								
								[ui] added ui_checkbox() helper  
							
							 
							
							
							
						 
						
							2023-03-11 19:06:05 +01:00  
						
					 
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								9accf4c666 
								
							 
						 
						
							
							
								
								[ui, win32]  
							
							 
							
							... 
							
							
							
							- change coord system of gl canvas to match ui
- change mouse coordinate system to match ui
- fix mouse delta 
							
						 
						
							2023-03-09 17:38:41 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								c7d5cf113e 
								
							 
						 
						
							
							
								
								[ui] reintroducing tooltip  
							
							 
							
							
							
						 
						
							2023-03-09 16:08:42 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								c362751c23 
								
							 
						 
						
							
							
								
								[ui] menus widgets first draft  
							
							 
							
							
							
						 
						
							2023-03-09 16:02:46 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								feca7d1026 
								
							 
						 
						
							
							
								
								[ui] moved ui_panel() into ui.c  
							
							 
							
							
							
						 
						
							2023-03-09 14:27:46 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								56874c99d6 
								
							 
						 
						
							
							
								
								[ui, layout] layout constraint solving, first draft  
							
							 
							
							
							
						 
						
							2023-03-09 12:36:38 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								a569454df5 
								
							 
						 
						
							
							
								
								[ui, wip] scrolling / scrolling panels  
							
							 
							
							
							
						 
						
							2023-03-08 19:53:28 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								873d4ab6db 
								
							 
						 
						
							
							
								
								[ui, canvas]  
							
							 
							
							... 
							
							
							
							- Allow querying the size of the canvas's underlying surface
- Set size of ui root to canvas' size 
							
						 
						
							2023-03-08 15:03:35 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								1212d714d5 
								
							 
						 
						
							
							
								
								[platform/canvas]  
							
							 
							
							... 
							
							
							
							- Changed canvas coordinate system to match UI coord system (origin at top left, y axis down)
- Changed mouse coordinate system to match UI and canvas
- No need to pass width/height to ui_begin_frame() anymore 
							
						 
						
							2023-03-08 13:19:18 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								7b2ef080e8 
								
							 
						 
						
							
							
								
								[util, formatting] shorten list loop names to for_list_xxx  
							
							 
							
							
							
						 
						
							2023-03-08 12:03:33 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								3682605f97 
								
							 
						 
						
							
							
								
								[util, formatting] changed list api to snakecase for consistency with the rest of the codebase  
							
							 
							
							
							
						 
						
							2023-03-08 12:00:10 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								bfc19665ce 
								
							 
						 
						
							
							
								
								[util]  
							
							 
							
							... 
							
							
							
							- shorten str8_lit macro to STR8
- use strlen() in STR8 and remove str8_from_cstring(). Usage with string literal seem to always be optimized by compile-time constant, so there's little need for a confusing macro that only works with literals and breaks with pointers.
- replaced str8_unbox() with str8_lp/str8_ip 
							
						 
						
							2023-03-08 11:40:40 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								f07f56948d 
								
							 
						 
						
							
							
								
								[ui] shorten ui styling api names  
							
							 
							
							
							
						 
						
							2023-03-08 11:13:32 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								8b06cb31ba 
								
							 
						 
						
							
							
								
								[ui, styling]  
							
							 
							
							... 
							
							
							
							- Put all styling calls _before_ the styled box.
- Renamed full pattern matching API to ui_style_match_next_before/after
- Helper to style next box only (ui_style_next()) 
							
						 
						
							2023-03-08 11:09:28 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								c551135933 
								
							 
						 
						
							
							
								
								[ui] remove the need to pass a default style to ui_frame()  
							
							 
							
							
							
						 
						
							2023-03-07 19:44:22 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								2466241b1e 
								
							 
						 
						
							
							
								
								[ui, styling] finished first pass on core layout/styling system  
							
							 
							
							
							
						 
						
							2023-03-07 19:27:01 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								8032c7340b 
								
							 
						 
						
							
							
								
								[ui, styling] revisiting layout/sizing  
							
							 
							
							
							
						 
						
							2023-03-07 19:06:04 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								7b10a99a8c 
								
							 
						 
						
							
							
								
								[ui, styling] First draft of rule-based styling to replace old stack-based system  
							
							 
							
							
							
						 
						
							2023-03-06 19:33:01 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								b52a35c753 
								
							 
						 
						
							
							
								
								[ui, textbox] Fixed selection background rectangle  
							
							 
							
							
							
						 
						
							2023-03-05 17:03:00 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								592f4cdecd 
								
							 
						 
						
							
							
								
								end of line renormalization  
							
							 
							
							
							
						 
						
							2023-03-05 16:05:43 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								4359bdaa3c 
								
							 
						 
						
							
							
								
								[ui, textbox] position cursor at mouse position / extend selection on shift + mouse press or drag  
							
							 
							
							
							
						 
						
							2023-03-05 15:59:57 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								731e5b1ae8 
								
							 
						 
						
							
							
								
								[surface] pull mp_layer into the generic mg_surface_data struct, out of each backend-specific implementation  
							
							 
							
							
							
						 
						
							2023-03-03 11:50:12 +01:00  
						
					 
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								ac00cc9def 
								
							 
						 
						
							
							
								
								[wip, win32 surface sharing] simplifyin the surface sharing API  
							
							 
							
							
							
						 
						
							2023-03-02 19:21:39 +01:00  
						
					 
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								ee87976429 
								
							 
						 
						
							
							
								
								[win32 surface sharing] hacky proof of concept  
							
							 
							
							
							
						 
						
							2023-03-02 18:24:15 +01:00  
						
					 
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								3ada8ece9a 
								
							 
						 
						
							
							
								
								[wip, win32 surface sharing] in surface sharing example, terminate child process when parent exits  
							
							 
							
							
							
						 
						
							2023-03-02 12:23:10 +01:00  
						
					 
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								e58ae3ef52 
								
							 
						 
						
							
							
								
								[surface sharing] first draft for win32 using window reparenting  
							
							 
							
							
							
						 
						
							2023-03-02 09:54:12 +01:00  
						
					 
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								2560ddd5b4 
								
							 
						 
						
							
							
								
								[win32] adding simple IPC to test delegated surface  
							
							 
							
							
							
						 
						
							2023-03-01 18:58:59 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								43d413dbbc 
								
							 
						 
						
							
							
								
								[surface] graphics surface sharing API + osx implementation  
							
							 
							
							
							
						 
						
							2023-03-01 16:15:36 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								3615775168 
								
							 
						 
						
							
							
								
								[canvas] decompose image atlas API into simple rect atlas API + image atlas helpers. This avoids creating a bunch of new types/handles, and exposes the underlying image/sourceRegion so that user code can freely use these for more complex scenarios (eg drawing only a sub-region of an atlased image, or using an atlas image for arbitrary path filling)  
							
							 
							
							
							
						 
						
							2023-02-28 16:54:39 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								d4bceba7e9 
								
							 
						 
						
							
							
								
								[canvas] basic image atlas API  
							
							 
							
							
							
						 
						
							2023-02-28 13:16:36 +01:00  
						
					 
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								ac6a5db209 
								
							 
						 
						
							
							
								
								[canvas, gl] Checked batching/transparency  
							
							 
							
							
							
						 
						
							2023-02-27 19:39:26 +01:00  
						
					 
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								8f834fa1a5 
								
							 
						 
						
							
							
								
								[wip, canvas, gl] implementing basic image API  
							
							 
							
							
							
						 
						
							2023-02-27 19:25:41 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								5e5f8ac5e7 
								
							 
						 
						
							
							
								
								adding image test/example  
							
							 
							
							
							
						 
						
							2023-02-27 15:43:41 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								9ed630fc55 
								
							 
						 
						
							
							
								
								[canvas]  
							
							 
							
							... 
							
							
							
							- Clear final surface to clear color, and enable blending layers onto it
- Fixed Batching bug where we were writing to vertex/shape buffers while the previous batch is using them
- Fixed bug where uvTransform uses transform of next shape instead of that of shape being finalized 
							
						 
						
							2023-02-27 11:56:04 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								b24de5d969 
								
							 
						 
						
							
							
								
								[canvas] Allow setting image source region  
							
							 
							
							
							
						 
						
							2023-02-25 12:59:49 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								50569a1427 
								
							 
						 
						
							
							
								
								Allow setting texture on arbitrary path fills  
							
							 
							
							
							
						 
						
							2023-02-24 23:06:39 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								4333ed02b0 
								
							 
						 
						
							
							
								
								[canvas] remove image draw commands, replace with rect/rounded rects + image source  
							
							 
							
							
							
						 
						
							2023-02-24 22:59:33 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								1b62ec568c 
								
							 
						 
						
							
							
								
								[canvas, mtl backend] Handle image rotation  
							
							 
							
							
							
						 
						
							2023-02-24 20:40:16 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								fd4c4e7be3 
								
							 
						 
						
							
							
								
								[canvas] simple image API  
							
							 
							
							
							
						 
						
							2023-02-24 12:01:00 +01:00  
						
					 
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								665c63c3d0 
								
							 
						 
						
							
							
								
								[win32 build/link]  
							
							 
							
							... 
							
							
							
							- Build milepost as a dynamic library
- Add import/export directives to public API symbols
- Change example build scripts accordingly 
							
						 
						
							2023-02-21 18:43:30 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								3b26c92c85 
								
							 
						 
						
							
							
								
								[osx build/linking]  
							
							 
							
							... 
							
							
							
							- Remove the need for client apps to explicitly link with all dependent libs and frameworks
- Don't require redistributing libEGL/libGLES if not used, by linking them with '-weak-l' option
- Change examples build scripts accordingly 
							
						 
						
							2023-02-21 17:09:26 +01:00  
						
					 
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								2dccfa5547 
								
							 
						 
						
							
							
								
								[win32 surfaces] Backing win32 surfaces with child window and implementing frame/hidding control  
							
							 
							
							
							
						 
						
							2023-02-20 18:34:29 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								4306d0a01c 
								
							 
						 
						
							
							
								
								back osx surfaces by CALayer  
							
							 
							
							
							
						 
						
							2023-02-20 16:49:44 +01:00  
						
					 
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								2232b647ed 
								
							 
						 
						
							
							
								
								reintroduced GLES backend to osx  
							
							 
							
							
							
						 
						
							2023-02-20 11:05:01 +01:00  
						
					 
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								333d3e9f9c 
								
							 
						 
						
							
							
								
								[gles, wip] reintroducing egl surface (for win32 at first)  
							
							 
							
							
							
						 
						
							2023-02-17 18:56:16 +01:00  
						
					 
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								80ea8db687 
								
							 
						 
						
							
							
								
								[surface/canvas cleanup]  
							
							 
							
							... 
							
							
							
							- Make build-time and runtime backend selection a bit easier
- Reorganized backend-specific files with slightly more coherent naming scheme 
							
						 
						
							2023-02-10 16:56:10 +01:00  
						
					 
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								f54f639db5 
								
							 
						 
						
							
							
								
								properly destroying windows and fonts  
							
							 
							
							
							
						 
						
							2023-02-10 12:05:52 +01:00  
						
					 
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							 
							
							
							
							
								
							
							
								08d3521b61 
								
							 
						 
						
							
							
								
								[canvas/surface cleanup]  
							
							 
							
							... 
							
							
							
							- properly destroy gl canvas backend
- properly destroy gl surface 
							
						 
						
							2023-02-09 18:40:42 +01:00