Konkitoman
d33075388c
* Implement changes_between_builders
...
* Now process_viewport_commands was renamed to process_viewports_commands
* Added process_viewport_commands
* eframe glutin backend uses changes_between_builders
2023-08-11 17:39:14 +03:00
Konkitoman
88a7071e74
Moved create_winit_window_builder from crates/eframe/src/native/run.rs to crates/egui-winit/src/lib.rs
2023-08-10 18:53:43 +03:00
Konkitoman
9c6044aa7d
Change ViewportBuilder how it's working
2023-08-10 16:53:31 +03:00
Konkitoman
a88a5cdf83
Fix some warnings
2023-08-09 19:15:35 +03:00
Konkitoman
86ef11c521
Now viewport_id always will be in a ViewportId you cannot create a ViewportId you can only get the main one everywere or get the current viewport id with Context::get_viewport_id
2023-08-09 18:33:59 +03:00
Konkitoman
d45fc14a13
Move viewports stuff to crates/egui/src/viewports.rs
2023-08-07 19:02:18 +03:00
Konkitoman
ee2f2a7986
Fix web demo
2023-08-06 10:31:48 +03:00
Konkitoman
085724b685
wgpu implementation for viewport sync
2023-08-06 10:11:57 +03:00
Konkitoman
860160ed05
Some work on wgpu implementation
2023-08-06 09:21:44 +03:00
Konkitoman
05bf0e124a
viewport_sync now processes platform output for GlowWinitApp
2023-08-05 17:46:54 +03:00
Konkitoman
03bc3f4c52
Now viewport_sync will process viewport_commands and will create new viewports if is needed!
...
Some refactoring now processing viewports_commands is in egui_winit::process_viewport_commands
And creating new windows and cleaning is in GlowWinitApp::process_viewport_builders
2023-08-05 16:11:39 +03:00
Konkitoman
098d94e705
Fix viewports example
2023-08-05 15:34:23 +03:00
Konkitoman
5ca60cad0e
Now seting the time of event as the elapsing time from when the app started for sync viewports
2023-08-05 15:27:06 +03:00
Konkitoman
e8027b3c3a
Removed viewport_id and parent_viewport_id from eframe::Frame
2023-08-04 09:10:01 +03:00
Konkitoman
2057993f54
Some more work now stuff is rendered corectly
2023-08-02 20:49:41 +03:00
Konkitoman
141421547b
Fix: a sync viewport cannot render itself he needs his parent to be rendered now when sync viewport needs a redraw that redraw will be redirected to his parent
2023-08-02 19:58:12 +03:00
Konkitoman
34fea8a0e5
Some more work on making possible to render viewport_sync in glutin
...
Context::current_rendering_viewport was replaced by Context::get_viewport_id
Added Context::get_parent_viewport_id
Changed Context::run to need parent_viewport_id
Changed Context::beagin to need parent_viewport_id
Added ImplContext::frame_stack
Some work on making posibile to render multiples frames at the same time
A lot of more things in glutin backend is not Arc<RwLock<T>>
2023-08-02 17:14:31 +03:00
Konkitoman
c7c9713bf8
create_viewport_sync prep Glutin
...
WGPU Unimplemented again, use Arc<RwLock<T>> for a lot of things
2023-08-01 17:30:36 +03:00
Konkitoman
1e6c1b55d3
Some work on frontend for making create_viewport_sync possible
2023-08-01 15:19:18 +03:00
Konkitoman
fd1c01cf1f
Removed Context::set_current_rendering_viewport
...
Now we always need to say what viewport we rendering in Context::beagin or Context::run
2023-07-30 20:03:56 +03:00
Konkitoman
bb0b80fb08
Fix some warnings
2023-07-28 18:28:16 +03:00
Konkitoman
c56d09a2e5
Fix WGPU implementation memory leak
...
Now unused surfaces will be cleared
2023-07-27 18:22:43 +03:00
Konkitoman
769c71a714
WGPU implementation
2023-07-27 18:18:14 +03:00
Konkitoman
0e74cf4ca0
Some work making the native window to look like the egui one, and to work the same
2023-07-27 15:08:21 +03:00
Konkitoman
cb09e630a2
Add a new example and change how embedding is stored
2023-07-25 16:40:03 +03:00
Konkitoman
2131f251fc
Update example and now the viewport will always render if can create a native window will be embedded
2023-07-25 12:43:34 +03:00
Konkitoman
08b3afdc5e
Now the window will have the correct size
...
Now window will not be resizable if is set to false
2023-07-25 12:10:56 +03:00
Konkitoman
19d1fecb99
Now we can drag any viewport but only the viewport that is focused will be draged because if not on x11 the input will be taken until the application is killed
2023-07-25 11:53:10 +03:00
Konkitoman
93a7c018d7
Now App::update will be responsabile for what viewport will be drawned and its content
...
A big refactoring was needed
2023-07-25 10:54:31 +03:00
Konkitoman
19f807b4e9
Fix 100% cpu usage because a non existen window is tryng to draw
...
Fix a small memory leak
2023-07-25 09:57:54 +03:00
Konkitoman
86068c6590
Fix small memory leak
...
Now windows that do not exist will not be able to stay in redraw requests
2023-07-25 09:48:12 +03:00
Konkitoman
4143f58cc8
Now if winit supports if the window cant be closed will not show the close button
2023-07-24 16:37:47 +03:00
Konkitoman
f4a196cddc
Now a WindowEvent::CloseRequested is received will be sent to egui_winit::State in RawInput
...
Now when we press the close button from a native window if the window has a open variabile connected the window will be closed
2023-07-24 16:15:34 +03:00
Konkitoman
4d883b8217
Fix mouse input
...
Now on Context.create_viewport in the render function will we have viewport_id and parent_viewport_id
New problem if a windows is fucused and we interact with other window the first event will be send to the last window that was focused
2023-07-24 14:24:30 +03:00
Konkitoman
3a1d9f2e21
A lot of changes:
...
Now the Viewport render function is passed to the backend
I was needed to update the demo because now Window::show() needs a Fn before was a FnOnce
I changed from FnOnce to Fn because we want the window to be rendered separately from the main window
That means now the variabiles that we are moving to window need to be Rc or Arc!
This is making harder to use `Window`!
I'am waiting for more ideas!
In eframe now any Window has a property render that stores the current window render function, if has not function App::update will be called insted!
New problems in any other window excluding the main window we have no mouse input, i don't know why!
Now every window has embedded to false by default, for testing purposes!
2023-07-23 19:38:02 +03:00
Konkitoman
ea2dcd8cb5
Rename every thing that i was implemented for multiples windows to Viewport
2023-07-23 12:47:36 +03:00
Konkitoman
0daafa0c0f
Fixed the problem that cause a break in time space
2023-07-21 22:58:17 +03:00
Konkitoman
2b13572220
Now every window has egui-winit, but a big problem is that a window don't render if the window frame number is bigger the the current frame, this is a spaculation because i don't know if a window stores the current frame i don't know what happens because new window render from the first time but the egui-ctx don't want to render the new window
...
is like i have tow egui-ctx
2023-07-21 22:00:22 +03:00
Konkitoman
23bb315468
Now a window will not render other window content
2023-07-19 14:01:12 +03:00
Konkitoman
b66cf96343
Not will only redraw what is needed and the cpu will not be at 100% all the time
2023-07-19 11:16:51 +03:00
Konkitoman
680a547a68
Now is rendering on the new windows
2023-07-19 10:48:35 +03:00
Konkitoman
28d5c6e62c
Now window will be destroyed if is not rendered
2023-07-18 17:52:55 +03:00
Konkitoman
8f475ef8d8
Is creating a window
2023-07-18 16:50:41 +03:00
Konkitoman
c91de8a871
Some more work for multiples windows support
2023-07-18 15:29:56 +03:00
Konkitoman
7cbe26a1a1
Some work for making eframe to be able to have multiples windows
2023-07-17 16:15:38 +03:00
Emil Ernerfeldt
083d61fccd
Update to puffin 0.16 ( #3144 )
2023-07-10 12:29:01 +02:00
icedrocket
2a2529bb9c
eframe: sleep a bit only when minimized ( #3139 )
2023-07-10 10:56:24 +02:00
amfaber
9478e50d01
Fix panic on wgpu GL backend due to new screenshot capability ( #3078 )
...
* Triage for GL backend
* And cargo-fmt
* Changelog update with PR and issue
* Update crates/eframe/src/epi/mod.rs
Co-authored-by: Andreas Reich <r_andreas2@web.de >
* Update crates/egui-wgpu/src/winit.rs
Co-authored-by: Andreas Reich <r_andreas2@web.de >
* Add "supports_screenshot" to surface state
* Cranky fix
* fmt
---------
Co-authored-by: Andreas Reich <r_andreas2@web.de >
2023-06-15 11:16:25 +02:00
bilabila
9774d4af2c
eframe: fix android app quit on resume with glow backend ( #3080 )
2023-06-15 09:05:11 +02:00
τ
073f49682d
Expose Raw Window and Display Handles ( #3073 )
...
* Expose raw window and display handles in eframe
* Ensure that no one implements `Clone` in the future
* Cleanup
---------
Co-authored-by: Matti Virkkunen <mvirkkunen@gmail.com >
2023-06-11 22:18:28 +02:00