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  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								af7cbae1fa 
								
							 
						 
						
							
							
								
								[canvas cleanup] cleanup canvas resources on creation failure  
							
							
							
						 
						
							2023-02-09 18:18:12 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								4a8c77f023 
								
							 
						 
						
							
							
								
								- Move and Zoom perf_text example with the mouse  
							
							... 
							
							
							
							- Reverted to using 4 bits of subpixel precision and computing cross products with 32 bits integers, for perf reasons
- Fixed some confusion in tile array size vs number of elements (could still clean-up naming a bit though)
- Fixed bug where triangles on the left or below canvas boundaries where bucketted to the first colum/row of tiles
- Fixed bug in mouse button message handling (was always sending press on left button) 
							
						 
						
							2023-02-09 13:09:41 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								833767d6e2 
								
							 
						 
						
							
							
								
								move text with the mouse in perf_text example  
							
							
							
						 
						
							2023-02-09 09:50:53 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								21c604104f 
								
							 
						 
						
							
							
								
								fix mp_app_get_resource_path()  
							
							
							
						 
						
							2023-02-08 20:40:48 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								3f58b2ac3d 
								
							 
						 
						
							
							
								
								glsl canvas shader: do cross products in 64 bits fixed point to avoid overflow  
							
							
							
						 
						
							2023-02-08 20:36:39 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								7cf4c3d925 
								
							 
						 
						
							
							
								
								opengl surface/renderer: set surface scaling according to dpi of first monitor. Use that dpi to scale backing texture of canvas renderer. Note: changing monitor isn't handled yet!  
							
							
							
						 
						
							2023-02-08 18:22:54 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								7fbc4ba270 
								
							 
						 
						
							
							
								
								canvas renderer: Use clip rects to cull tiles/pixels in tiling and drawing passes  
							
							
							
						 
						
							2023-02-08 12:59:31 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								e6e674ee04 
								
							 
						 
						
							
							
								
								Allow setting surface swap interval in opengl surface  
							
							
							
						 
						
							2023-02-08 11:49:00 +01:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								afaa95fe07 
								
							 
						 
						
							
							
								
								applied canvas changes to metal backend  
							
							
							
						 
						
							2023-02-08 10:42:21 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								2419ab7889 
								
							 
						 
						
							
							
								
								opengl canvas renderer: splitting vertex data and shape data  
							
							
							
						 
						
							2023-02-07 18:59:51 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								f0bc88c4fb 
								
							 
						 
						
							
							
								
								gl canvas renderer with buffer re-specification  
							
							
							
						 
						
							2023-02-07 17:00:59 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								5788cdbcda 
								
							 
						 
						
							
							
								
								Desktop opengl 4.3 canvas  
							
							
							
						 
						
							2023-02-07 13:24:14 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								5754fc1ad2 
								
							 
						 
						
							
							
								
								using temporary buffer to build canvas verex data and use glBufferData with exact number of vertices to submit buffer to gpu  
							
							
							
						 
						
							2023-02-06 16:14:43 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								fd836c00dd 
								
							 
						 
						
							
							
								
								canvas renderer: parallel tiling pass and sorting pass  
							
							
							
						 
						
							2023-02-05 21:03:16 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								e59f2b152b 
								
							 
						 
						
							
							
								
								simple gles tiled renderer  
							
							
							
						 
						
							2023-02-03 18:44:28 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								8faf588bee 
								
							 
						 
						
							
							
								
								Added text rendering in win_canvas test app and confirm it's slow as is...  
							
							
							
						 
						
							2023-02-02 20:36:03 +01:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								9cadc2f23f 
								
							 
						 
						
							
							
								
								added notes on bindless textures indexing  
							
							
							
						 
						
							2023-02-02 17:02:55 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								28e2a3648e 
								
							 
						 
						
							
							
								
								Multisampling in gles canvas shader  
							
							
							
						 
						
							2023-02-02 13:34:06 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								f73241e4a6 
								
							 
						 
						
							
							
								
								set background clear color correctly  
							
							
							
						 
						
							2023-02-02 12:08:04 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								0796b2cbcd 
								
							 
						 
						
							
							
								
								Switched to fixed point in gles triangle rasterization, and fixed wrong offset curve check collapsing the internal control points  
							
							
							
						 
						
							2023-02-02 11:40:22 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								e0300e9e3c 
								
							 
						 
						
							
							
								
								Fixed indexing in gles_canvas_fragment shaders and fixed native keys buffer  
							
							
							
						 
						
							2023-02-01 16:23:51 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								c5ae556f22 
								
							 
						 
						
							
							
								
								[wip] win32 gles surface using angle  
							
							
							
						 
						
							2023-01-29 01:04:24 +01:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								bd7e1a15f1 
								
							 
						 
						
							
							
								
								- Conflating mp_views and surfaces  
							
							... 
							
							
							
							- Implicit canvas context in canvas API
- GLES window surface on mac 
							
						 
						
							2023-01-28 17:24:43 +01:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								9bf62d2218 
								
							 
						 
						
							
							
								
								re-working graphics surfaces  
							
							
							
						 
						
							2022-12-26 18:33:31 +01:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								db5b4966e9 
								
							 
						 
						
							
							
								
								- Restructure osx version to use mp_app_internal.h/mp_app.c  
							
							... 
							
							
							
							- test new run loop structure on osx 
							
						 
						
							2022-12-24 15:33:32 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								72338b1a25 
								
							 
						 
						
							
							
								
								Extracted commonalities from platform specific app backends  
							
							
							
						 
						
							2022-12-23 20:46:42 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								30bd704af2 
								
							 
						 
						
							
							
								
								win32 opengl loader nonsense  
							
							
							
						 
						
							2022-12-22 18:24:43 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								a696c2ba2b 
								
							 
						 
						
							
							
								
								Added platform detection macros and atomic/thread_local abstraction  
							
							
							
						 
						
							2022-12-22 15:29:07 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								c57e16db5a 
								
							 
						 
						
							
							
								
								[win32 port] Hello triangle in OpenGL 4.3  
							
							
							
						 
						
							2022-12-21 19:43:31 +01:00  
				
					
						
							
							
								
								martinfouilleul 
							
						 
						
							
								2421871c3e 
								
							 
						 
						
							
							
								
								windows port initial commit: simple window with GL 4.3 context  
							
							
							
						 
						
							2022-12-21 12:03:55 +01:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								094b0efc33 
								
							 
						 
						
							
							
								
								text box  
							
							
							
						 
						
							2022-08-15 10:20:29 +02:00  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								39cfa35bfd 
								
							 
						 
						
							
							
								
								initial commit  
							
							
							
						 
						
							2022-08-14 18:19:40 +02:00