Commit Graph

1089 Commits

Author SHA1 Message Date
Emil Ernerfeldt 82350a2f1e Improve documentation 2021-02-21 10:12:08 +01:00
Kayo Phoenix c9919daa11
Added shaders on GLSL 1.2 (#187)
* Added shaders on GLSL 1.2

- Used `glium::program` to create shaders
- Moved shaders code to its own sources and include it as str
- Added shaders implementation on GLSL which allows run egui on old hardware
  (Raspberry Pi 1/zero in game again)

* Moved webgl shaders code to sources in `shader` subdir

* Added GLSL ES shaders to glium backend to support OpenGL ES

* Described changes related to GLSL versions support
2021-02-20 19:48:02 +01:00
Emil Ernerfeldt ebc2486d22 Slider: use a DragValue for the value, and implement suffix/prefix 2021-02-20 18:29:09 +01:00
Emil Ernerfeldt 32f35c6251 Implement "Smart Aim" for DragValue 2021-02-20 17:43:35 +01:00
Emil Ernerfeldt 7ac26b84b1 DragValue: handle slowly dragging a value with limited precision 2021-02-20 17:27:55 +01:00
Emil Ernerfeldt 9a546ff97a SlidSlider will now show the value display by default.
Turn off with slider.show_value(false)

Closes https://github.com/emilk/egui/issues/183
2021-02-20 16:28:39 +01:00
Emil Ernerfeldt 4e041185f1 Add module special_emojis with apple, linux, windows & github logos 2021-02-20 16:09:00 +01:00
Emil Ernerfeldt 9b58d5d4d9 color picker: just copy the r,g,b,a values without a "rgba(…)" wrapper 2021-02-20 15:49:09 +01:00
Emil Ernerfeldt ac356e2bd8 Add a link from the crate-level docs to the online egui web demo 2021-02-20 12:43:53 +01:00
Emil Ernerfeldt 6354709fe1 [demo] Link to the egui docs from the widget gallery 2021-02-20 12:07:15 +01:00
Emil Ernerfeldt 040553da78 impl<F> Widget for F where F: FnOnce(&mut Ui) -> Response
This enables functions that return `impl Widget`, so that you can
create a widget by just returning a lambda from a function.

For instance: `ui.add(toggle(bool))` (instead of `toggle(ui, bool)`)
2021-02-20 12:02:38 +01:00
Emil Ernerfeldt 6fe70e685b Simplify and unify colors of selectable widgets 2021-02-20 11:28:00 +01:00
Emil Ernerfeldt 741f0bfe8a Only show tooltips if mouse is still. 2021-02-20 10:45:19 +01:00
Emil Ernerfeldt 4354f7582f Improve the positioning of tooltips 2021-02-20 10:33:33 +01:00
Emil Ernerfeldt d5bb85b245 Add InputState::is_still to compliment InputState::is_moving 2021-02-20 09:26:58 +01:00
Emil Ernerfeldt 9c3b7d719b Bug fix: child painters now inherit color tint (e.g. grayed out) 2021-02-20 09:26:58 +01:00
Emil Ernerfeldt 21c99e1130 Add Ui::hyperlink_to 2021-02-20 09:26:58 +01:00
Emil Ernerfeldt 9e38674d13 [demo] Alwyas start with widget gallery 2021-02-20 09:19:40 +01:00
Emil Ernerfeldt 0f13fff24b Assign default colors to plot lines if not explicitly set 2021-02-18 18:59:59 +01:00
Emil Ernerfeldt a19140ec67 A simple 2D plot library 2021-02-17 22:54:10 +01:00
Emil Ernerfeldt 7dad76b913 Use explicit `epaint` over `paint` alias (re-export)
egui reexports the `epaint` crate both under its original name
and under the alias `paint` (for historical reasons)
2021-02-14 10:53:39 +01:00
Emil Ernerfeldt 6d255cd179 Use explicit `emath` to `math` alias
egui exports `emath` under its original name AND under the alias `math`
(for historical reasons).
2021-02-14 10:44:46 +01:00
Emil Ernerfeldt c376d0bb7e [emath] RectTransform: transforms Pos2 from one Rect to another
Very useful for transforming coordinate systems, e.g. for painting
2021-02-14 10:33:44 +01:00
Emil Ernerfeldt dbc6a620cd Control the maximum egui web canvas size with App::max_size_points 2021-02-12 17:58:02 +01:00
Emil Ernerfeldt be8d7b4eef Slider: add largest_finite for log-sliders that include infinity 2021-02-12 17:45:27 +01:00
Emil Ernerfeldt 5906bf7a87 Fix clippy 1.50 lints 2021-02-12 17:40:53 +01:00
Emil Ernerfeldt fc8b27807c Add discussion about the pros and cons of immediate mode GUIs 2021-02-11 19:29:05 +01:00
Emil Ernerfeldt e5233d2268 Add link to egui_winit_ash_vk_mem crate 2021-02-09 18:38:37 +01:00
Emil Ernerfeldt fc0bec44ba Remove Fonts::default() implementation 2021-02-08 23:05:48 +01:00
Emil Ernerfeldt 156d68d266 Refactor: move FrameState to own file 2021-02-08 23:03:41 +01:00
Emil Ernerfeldt 1c415bd8fe Add benchmark for text layout and tesselation 2021-02-08 22:53:31 +01:00
Emil Ernerfeldt f5431f308a Add 0.9.0 gif for changelog 2021-02-07 17:18:59 +01:00
Emil Ernerfeldt b61db038f2 Release 0.9.0 - light mode, right clicks and more 2021-02-07 17:06:51 +01:00
Emil Ernerfeldt fdff33df5e Publish new web demo 2021-02-07 17:04:03 +01:00
Emil Ernerfeldt d9472035d7 Update ahash 0.6.3 -> 0.7.0 2021-02-07 17:04:03 +01:00
Emil Ernerfeldt 7641807665 cargo update 2021-02-07 17:04:03 +01:00
Emil Ernerfeldt 5ce681ef16 Improve documentation 2021-02-07 17:04:03 +01:00
Emil Ernerfeldt a382fad1d0 Fix minor click detection bug 2021-02-07 17:04:03 +01:00
Emil Ernerfeldt 6377a4231f [demo] Refactor and minor cleanup 2021-02-07 17:04:03 +01:00
Emil Ernerfeldt e82fb81f07 Replace (ret, response) tuples with new struct InnerResponse 2021-02-07 14:09:44 +01:00
Emil Ernerfeldt df4c0257c0 Add Ui functions for doing manual layout ("put this widget here") 2021-02-07 13:48:55 +01:00
Emil Ernerfeldt bca722ddf8 Add ui.set_enabled(false) to disable all widgets in a Ui
Closes https://github.com/emilk/egui/issues/50
2021-02-07 10:55:45 +01:00
Emil Ernerfeldt d07a17ac6a Expose more color-related functions and types 2021-02-07 10:36:51 +01:00
Emil Ernerfeldt a9949b21af Add doc checks to check.sh 2021-02-07 10:33:35 +01:00
Emil Ernerfeldt d6817b1b37 Fix doc errors 2021-02-07 00:13:45 +01:00
Emil Ernerfeldt 7363271575 better ci job names 2021-02-07 00:13:44 +01:00
xue-blood ce14fa860b
Speed up fractal_clock painting (#152)
clip unwatchable line before drawing
2021-02-06 16:59:46 +01:00
Emil Ernerfeldt 26f966563a Add Grid::max_col_width 2021-02-06 16:54:38 +01:00
Emil Ernerfeldt 23581eee27 Add #[must_use] to ui.selectable_label and ui.radio 2021-02-06 16:03:27 +01:00
Emil Ernerfeldt b106d10202 [EasyMark] Fix incorrect handling of non-ASCII characters 2021-02-06 15:19:39 +01:00