1
0
mirror of https://github.com/emilk/egui.git synced 2026-08-30 05:10:03 -04:00
Commit Graph

72 Commits

Author SHA1 Message Date
Konkitoman
6a5838c119 Now all sizes are in Vec2 insted of Pos2 2023-09-26 18:33:57 +03:00
Konkitoman
f4c5378ad3 Merge branch 'master' of https://github.com/emilk/egui into multiples_viewports 2023-09-25 23:15:51 +03:00
YgorSouza
d77c446572 Prevent text from being cleared when selected due to winit IME (#3376)
Closes #3374
2023-09-23 15:27:34 +02:00
Konkitoman
e2d406d2e4 * InputState::{inner_pos, inner_size} compacted to InputState::inner_rect
* InputState::{outer_pos, outer_size} compacted to InputState::outer_rect
* RawInput::{inner_pos, inner_size} compected to RawInput::inner_rect
* RawInput::{outer_pos, outer_size} compected to RawInput::outer_rect
* Context::{viewport_inner_pos, viewport_inner_size} compacted to Context::inner_rect
* Context::{viewport_outer_pos, viewport_outer_size} compected to Context::outer_rect
2023-09-19 19:48:00 +03:00
Konkitoman
c96197db79 Merge branch 'master' of https://github.com/emilk/egui into multiples_viewports 2023-09-19 17:22:31 +03:00
Barugon
c07394b576 Only show on-screen-keyboard and IME when editing text (#3362)
* Remove calls to `set_ime_allowed`

* Allow IME if `text_cursor_pos` is `Some`

* Only call `Window::set_ime_allowed` when necessary

* allow_ime doesn't need to be atomic

* Remove unused imports

* Fix assignment
2023-09-19 14:14:42 +02: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
fea6ed7878 Merge branch 'master' of https://github.com/emilk/egui into multiples_viewports 2023-09-06 13:35:02 +03:00
Emil Ernerfeldt
82704bebbf Update MSRV to Rust 1.70.0 (#3310)
* Update to Rust 1.70

* Fix renamed clippy lint

* Use let-else more

* Code cleanup

* Remove derelict Safety comments

* Enable more clippy lints
2023-09-06 07:59:24 +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
4a9e087e92 Merge branch 'master' of https://github.com/emilk/egui into multiples_viewports 2023-09-04 13:39:08 +03:00
Emil Ernerfeldt
209cbeb030 Replace instant with web_time (#3296) 2023-09-04 09:37:35 +02: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
a59eda7a27 egui-winit: Recognize numpad enter/plus/minus (#3285)
Numpad enter should work the same as the normal return key.

Numpad plus/minus should now work for scaling ui
(together with cmd/ctrl)
2023-08-29 14:04:12 +02:00
Konkitoman
a21cb80f56 Merge branch 'master' of https://github.com/emilk/egui into multiples_viewports 2023-08-29 10:00:14 +03:00
Emil Ernerfeldt
b6f46b000b Some clippy fixes from 1.72.0 2023-08-25 07:44:25 +02:00
Konkitoman
6c91562c7b Now viewport pos and size are stored in InputState::{viewport_inner_pos, viewport_outer_pos, viewport_inner_size, viewport_outer_size}
This fixes a lot of problems
2023-08-24 09:14:48 +03:00
Konkitoman
9c73c2f4b1 Revert "Now in screen_rect min is the viewport position and max is the viewport size"
This reverts commit 4bbdab1788.
2023-08-24 07:55:56 +03:00
Konkitoman
c9faa78e5b Make the window position and size to not get set when the window is mimimized
And now Memory::new_pixels_per_point is not taken because all viewports need to have the same dpi
2023-08-24 07:45:42 +03:00
Konkitoman
d90db12e88 Fix: window not redrawing when moving 2023-08-22 11:33:38 +03:00
Konkitoman
7aefba60df Fix windows and android errors 2023-08-22 11:20:34 +03:00
Konkitoman
8e864bdfbc typo: fix typos 2023-08-22 11:08:56 +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
Konkitoman
08f207a0a8 Fix some warnings 2023-08-14 17:59:26 +03:00
Konkitoman
4bbdab1788 Now in screen_rect min is the viewport position and max is the viewport size 2023-08-12 20:36:41 +03:00
lucasmerlin
1036cb1f7d Change force to be Option<f32> instead of f32 (#3240) 2023-08-12 13:50:40 +02:00
Konkitoman
74e50044b5 Added maximize_button, mimimize_button and hittest on ViewportBuilder
!!! hittest is not working because of winit !!!
2023-08-11 18:19:57 +03:00
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
Emil Ernerfeldt
dd417cfc1a eframe: Better restore Window position on Mac when on secondary monitor (#3239) 2023-08-11 16:25:22 +02: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
0e7803bf61 Add all winit runtime window attributes as viewport commands in ViewportCommand 2023-08-10 18:47:48 +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
Brian Janssen
67ba4f2811 Add comment explaining Tab button (#2872) 2023-08-09 11:48:54 +02:00
Konkitoman
1a7c4700fd Now embedded is stored on window, and fix crash when we set a window size to 0 2023-08-08 21:18:03 +03:00
Konkitoman
d45fc14a13 Move viewports stuff to crates/egui/src/viewports.rs 2023-08-07 19:02:18 +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
bernsteining
67d5bd4392 fix(docs): remove duplicate typo (#3111) 2023-07-26 19:00:13 +02: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
ea2dcd8cb5 Rename every thing that i was implemented for multiples windows to Viewport 2023-07-23 12:47:36 +03:00
Konkitoman
c91de8a871 Some more work for multiples windows support 2023-07-18 15:29:56 +03:00
Emil Ernerfeldt
d1af798a9b Clear all keys and modifies on focus change (#2933)
It is very easy for keys to become stuck when we alt-tab,
or a save-dialog opens by Ctrl+S, etc.
Therefore we new clear all the modifiers and down keys to avoid that.
2023-04-19 15:27:51 +02:00
Ryan Hileman
ede3ded977 egui-winit: Use RawDisplayHandle for smithay clipboard init (#2914) 2023-04-19 09:14:23 +02:00
Emil Ernerfeldt
9c9a54ce36 Replace tracing with log (#2928)
* Replace tracing crate with log

It's just so much simpler to use

* Add `bacon wasm` job

* eframe: add a WebLogger for piping log events to the web console
2023-04-18 21:11:26 +02:00
Jozef Číž
33aa4d698f Fix typos (#2866)
* Fix typos in comments

* Fix typos in demo texts

* Fix typos in code names

* Fix typos in cargos

* Fix typos in changelogs
2023-04-18 15:52:45 +02:00
YgorSouza
8326fffdb0 Add raw mouse wheel event (#2782)
* Add raw mouse wheel event

The event is sent as it comes from the backend, so it will follow
different conventions depending on the target, and it is up to the user
code to deal with that. The goal is to allow advanced users to implement
alternative UI controls, e.g., using Ctrl to scroll the plot
horizontally instead of zooming, or use Shift to scroll faster instead
of changing direction.

* Change Pixel to Point for consistency

Apply suggestions from code review by emilk

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* Inline mouse wheel raw event closure

It was meant only to be able to use the same variable names without
shadowing the rest of the code, but a simple block accomplishes the same
thing.

* Use wildcard on wheel event match

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* Flip mouse wheel delta sign on web to match native

* Use wheel event data to generate scroll event

To avoid doing the same match and sign conversion twice.

---------

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2023-04-18 15:44:26 +02:00
Diggory Hardy
fb726aaabb egui-winit: fix unsafe API of Clipboard::new (#2765)
* egui-winit: fix unsafe API of Clipboard::new

The old API allowed passing an arbitrary pointer. The new
API still breaks safety by allowing the object to outlive
the input, but is at least safer.

* Update crates/egui-winit/src/clipboard.rs

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* Fix typo

* Update crates/egui-winit/src/clipboard.rs

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* cargo fmt

* egui-winit: fix init_smithay_clipboard

---------

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2023-03-30 10:21:07 +02:00