1
0
mirror of https://github.com/emilk/egui.git synced 2026-06-28 07:23:13 -04:00
Commit Graph

82 Commits

Author SHA1 Message Date
Emil Ernerfeldt
9fd65ad21e Rename render to viewport_ui_cb to avoid confusion 2023-11-03 12:09:09 +01:00
Emil Ernerfeldt
0df4b493fb Better error reporting 2023-11-03 11:36:07 +01:00
Emil Ernerfeldt
521678b5d9 Simplify another function signature 2023-11-01 18:35:17 +01:00
Emil Ernerfeldt
abc70ccf9c Misc code cleanup 2023-11-01 18:19:19 +01:00
Emil Ernerfeldt
cc31695c03 Remove unused use statment 2023-11-01 17:02:02 +01:00
Konkitoman
d6c2f3e8f3 Fix pixels per point for multiples viewports
Fix ./scripts/check.sh errors
2023-10-22 17:15:21 +03:00
Konkitoman
7caa042b92 Merge branch 'master' of https://github.com/emilk/egui into multiples_viewports 2023-09-30 09:39:45 +03:00
Simon
4986b35701 Add NativeOptions::window_builder for more customization (#3390)
* added a window builder hook for more customization

* `EFrame` -> `eframe`

---------

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2023-09-27 08:52:49 +02:00
Emil Ernerfeldt
b3e19f5b7d Move App::persist_window to NativeOptions and App::max_size_points to WebOptions (#3397)
* Move `App::persist_window` to `NativeOptions`

* Move `App::max_size_points` to `WebOptions`

* Build fixes
2023-09-27 08:48:48 +02:00
Konkitoman
8fad6b761d Now we use egui::ColorImage insted of (u32, u32, Vec<u8>) 2023-09-27 01:06:56 +03:00
Konkitoman
6a5838c119 Now all sizes are in Vec2 insted of Pos2 2023-09-26 18:33:57 +03:00
Konkitoman
e453d667e5 egui and eframe now uses more ViewportIdPair 2023-09-26 00:05:04 +03:00
Konkitoman
c96197db79 Merge branch 'master' of https://github.com/emilk/egui into multiples_viewports 2023-09-19 17:22:31 +03:00
Emil Ernerfeldt
4b5146d35d Add more profiling scopes (#3332) 2023-09-13 19:32:19 +02:00
Emil Ernerfeldt
fc3bddd0cf Add more puffin profile scopes to eframe (#3330)
* Add puffin profile scopes to the startup and running of eframe

* puffin_profiler example: start puffin right away

* cargo format let-else statements

* More profile scopes

* Add some `#[inline]`

* Standardize puffin profile scope definitions

* standardize again

* Silence warning when puffin is disabled
2023-09-13 09:00:38 +02:00
Konkitoman
7c4a85ebda Now in ViewportBuilder, InputState, RawInput: viewport_inner_pos, viewport_outer_pos, viewport_inner_size, viewport_outer_size are stored as inner_pos, outer_pos, inner_size, outer_pos and Now every (i32, i32) is stored as egui::Pos2
Addes some documentation
2023-09-04 14:23:21 +03:00
Konkitoman
661120dc1d Simplify 2023-09-01 11:52:00 +03:00
Konkitoman
6618a47c20 Merge branch 'master' of https://github.com/emilk/egui into multiples_viewports 2023-08-30 15:03:28 +03:00
Emil Ernerfeldt
70bfc7e09f Add eframe::storage_dir (#3286)
* Add `eframe::storage_dir`

Now you can easily tell where eframe stores its state

* egui_plot: work even without the `serde` featur flag
2023-08-29 15:22:07 +02:00
Konkitoman
3f8fe1db3a Merge branch 'master' of https://github.com/emilk/egui into multiples_viewports 2023-08-23 06:10:34 +03:00
lucasmerlin
461328f54d Fix iOS support in eframe (#3241)
* Fix the app only taking up half the screen size on iPad

* Fix request_repaint not working on iOS

* Always use run_and_exit on iOS since run_and_return is not supported by winit on iOS right now.

* Fix typo

* Fix eframe glow on ios

* Handle more cases
2023-08-22 14:35:18 +02:00
Konkitoman
8e864bdfbc typo: fix typos 2023-08-22 11:08:56 +03:00
Konkitoman
ab59bf8c88 Now viewports will be identified by there id a normal egui::Id
Before viewports was identified by there title
2023-08-22 10:34:43 +03:00
Konkitoman
013f01dbcb * Now: is_desktop can only be set at the creation with egui::Context::new insted of default!
* Removed: egui::Context::is_desktop, egui::Context::set_desktop
* Added: egui::Context::force_embedding, egui::Context::set_force_embedding
2023-08-22 09:39:41 +03:00
Konkitoman
2919a325d9 Fix Typo 2023-08-19 19:30:49 +03:00
Konkitoman
18575d5931 Fix all warnings 2023-08-15 04:04:52 +03:00
Konkitoman
191ee82c3e Merge branch 'master' of https://github.com/emilk/egui into multiples_viewports 2023-08-15 02:17:12 +03:00
Emil Ernerfeldt
dd417cfc1a eframe: Better restore Window position on Mac when on secondary monitor (#3239) 2023-08-11 16:25:22 +02:00
Konkitoman
9c6044aa7d Change ViewportBuilder how it's working 2023-08-10 16:53:31 +03:00
Emil Ernerfeldt
d568d9f5d0 Lint vertical spacing in the code (#3224)
* Lint vertical spacing in the code

* Add some vertical spacing for readability
2023-08-10 15:26:54 +02:00
jacekpoz
f2a58244c8 fix the title not being used when app_id is not set (#3107)
Co-authored-by: jacekpoz <jacekpoz@cock.li>
2023-08-10 09:50:15 +02: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
Stephen M. Coakley
486cff8ac3 Fix panic with persistence without window (#3167)
A window may not always be available and may have already been closed by the time an eframe app is closing. An example of this is Android, where the main activity window may have been stopped or discarded because the app is no longer in the foreground, and then the user decides to close your app without resuming it using the multitasking view.

In this case, skip the window persistence step if it does not exist anymore by the time we are saving the persistence data. Currently eframe will panic with `winit window doesn't exist` instead.
2023-08-09 12:42:43 +02:00
Konkitoman
d45fc14a13 Move viewports stuff to crates/egui/src/viewports.rs 2023-08-07 19:02:18 +03:00
Konkitoman
e8027b3c3a Removed viewport_id and parent_viewport_id from eframe::Frame 2023-08-04 09:10:01 +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
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
cb09e630a2 Add a new example and change how embedding is stored 2023-07-25 16:40:03 +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
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
c91de8a871 Some more work for multiples windows support 2023-07-18 15:29:56 +03: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
Emil Ernerfeldt
03bb89153b eframe: Use NativeOptions::AppId for the persistance location (#3014)
* eframe: Use NativeOptions::AppId for the persistance location

* Fix doclinks

* Fix typo in docs

Closes https://github.com/emilk/egui/issues/3003
2023-05-23 08:38:14 +02:00