Browse Source

Release 0.15.0 - Syntax highlighting, hscroll, egui-winit and egui_glow

pull/973/head 0.15.0
Emil Ernerfeldt 3 years ago
parent
commit
08cc07bb2d
  1. 5
      CHANGELOG.md
  2. 24
      Cargo.lock
  3. 3
      eframe/CHANGELOG.md
  4. 14
      eframe/Cargo.toml
  5. 3
      egui-winit/CHANGELOG.md
  6. 6
      egui-winit/Cargo.toml
  7. 4
      egui/Cargo.toml
  8. 8
      egui_demo_app/Cargo.toml
  9. 6
      egui_demo_lib/Cargo.toml
  10. 3
      egui_glium/CHANGELOG.md
  11. 8
      egui_glium/Cargo.toml
  12. 6
      egui_glow/CHANGELOG.md
  13. 8
      egui_glow/Cargo.toml
  14. 3
      egui_web/CHANGELOG.md
  15. 6
      egui_web/Cargo.toml
  16. 2
      emath/Cargo.toml
  17. 4
      epaint/CHANGELOG.md
  18. 4
      epaint/Cargo.toml
  19. 4
      epi/Cargo.toml

5
CHANGELOG.md

@ -7,6 +7,11 @@ NOTE: [`epaint`](epaint/CHANGELOG.md), [`eframe`](eframe/CHANGELOG.md), [`egui_w
## Unreleased ## Unreleased
## 0.15.0 - 2021-10-24 - Syntax highlighting and hscroll
<img src="media/egui-0.15-code-editor.gif">
### Added ⭐ ### Added ⭐
* Add horizontal scrolling support to `ScrollArea` and `Window` (opt-in). * Add horizontal scrolling support to `ScrollArea` and `Window` (opt-in).
* `TextEdit::layouter`: Add custom text layout for e.g. syntax highlighting or WYSIWYG. * `TextEdit::layouter`: Add custom text layout for e.g. syntax highlighting or WYSIWYG.

24
Cargo.lock

@ -1,5 +1,7 @@
# This file is automatically @generated by Cargo. # This file is automatically @generated by Cargo.
# It is not intended for manual editing. # It is not intended for manual editing.
version = 3
[[package]] [[package]]
name = "ab_glyph" name = "ab_glyph"
version = "0.2.11" version = "0.2.11"
@ -852,7 +854,7 @@ checksum = "ee2626afccd7561a06cf1367e2950c4718ea04565e20fb5029b6c7d8ad09abcf"
[[package]] [[package]]
name = "eframe" name = "eframe"
version = "0.14.0" version = "0.15.0"
dependencies = [ dependencies = [
"egui", "egui",
"egui-winit", "egui-winit",
@ -866,7 +868,7 @@ dependencies = [
[[package]] [[package]]
name = "egui" name = "egui"
version = "0.14.2" version = "0.15.0"
dependencies = [ dependencies = [
"ahash", "ahash",
"epaint", "epaint",
@ -877,7 +879,7 @@ dependencies = [
[[package]] [[package]]
name = "egui-winit" name = "egui-winit"
version = "0.14.0" version = "0.15.0"
dependencies = [ dependencies = [
"copypasta", "copypasta",
"egui", "egui",
@ -890,7 +892,7 @@ dependencies = [
[[package]] [[package]]
name = "egui_demo_app" name = "egui_demo_app"
version = "0.14.0" version = "0.15.0"
dependencies = [ dependencies = [
"eframe", "eframe",
"egui_demo_lib", "egui_demo_lib",
@ -898,7 +900,7 @@ dependencies = [
[[package]] [[package]]
name = "egui_demo_lib" name = "egui_demo_lib"
version = "0.14.0" version = "0.15.0"
dependencies = [ dependencies = [
"chrono", "chrono",
"criterion", "criterion",
@ -914,7 +916,7 @@ dependencies = [
[[package]] [[package]]
name = "egui_glium" name = "egui_glium"
version = "0.14.0" version = "0.15.0"
dependencies = [ dependencies = [
"egui", "egui",
"egui-winit", "egui-winit",
@ -925,7 +927,7 @@ dependencies = [
[[package]] [[package]]
name = "egui_glow" name = "egui_glow"
version = "0.14.0" version = "0.15.0"
dependencies = [ dependencies = [
"egui", "egui",
"egui-winit", "egui-winit",
@ -938,7 +940,7 @@ dependencies = [
[[package]] [[package]]
name = "egui_web" name = "egui_web"
version = "0.14.1" version = "0.15.0"
dependencies = [ dependencies = [
"egui", "egui",
"epi", "epi",
@ -972,7 +974,7 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
[[package]] [[package]]
name = "emath" name = "emath"
version = "0.14.0" version = "0.15.0"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"mint", "mint",
@ -1015,7 +1017,7 @@ dependencies = [
[[package]] [[package]]
name = "epaint" name = "epaint"
version = "0.14.0" version = "0.15.0"
dependencies = [ dependencies = [
"ab_glyph", "ab_glyph",
"ahash", "ahash",
@ -1030,7 +1032,7 @@ dependencies = [
[[package]] [[package]]
name = "epi" name = "epi"
version = "0.14.0" version = "0.15.0"
dependencies = [ dependencies = [
"directories-next", "directories-next",
"egui", "egui",

3
eframe/CHANGELOG.md

@ -5,6 +5,9 @@ NOTE: [`egui_web`](egui_web/CHANGELOG.md), [`egui-winit`](egui-winit/CHANGELOG.m
## Unreleased ## Unreleased
## 0.15.0 - 2021-10-24
* `Frame` now provides `set_window_title` to set window title dynamically * `Frame` now provides `set_window_title` to set window title dynamically
* `Frame` now provides `set_decorations` to set whether to show window decorations. * `Frame` now provides `set_decorations` to set whether to show window decorations.
* Remove "http" feature (use https://github.com/emilk/ehttp instead!). * Remove "http" feature (use https://github.com/emilk/ehttp instead!).

14
eframe/Cargo.toml

@ -1,6 +1,6 @@
[package] [package]
name = "eframe" name = "eframe"
version = "0.14.0" version = "0.15.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "egui framework - write GUI apps that compiles to web and/or natively" description = "egui framework - write GUI apps that compiles to web and/or natively"
edition = "2018" edition = "2018"
@ -23,18 +23,18 @@ all-features = true
[lib] [lib]
[dependencies] [dependencies]
egui = { version = "0.14.0", path = "../egui", default-features = false } egui = { version = "0.15.0", path = "../egui", default-features = false }
epi = { version = "0.14.0", path = "../epi" } epi = { version = "0.15.0", path = "../epi" }
# native: # native:
[target.'cfg(not(target_arch = "wasm32"))'.dependencies] [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
egui-winit = { version = "0.14.0", path = "../egui-winit", default-features = false } egui-winit = { version = "0.15.0", path = "../egui-winit", default-features = false }
egui_glium = { version = "0.14.0", path = "../egui_glium", default-features = false, features = ["clipboard", "epi", "links"], optional = true } egui_glium = { version = "0.15.0", path = "../egui_glium", default-features = false, features = ["clipboard", "epi", "links"], optional = true }
egui_glow = { version = "0.14.0", path = "../egui_glow", default-features = false, features = ["clipboard", "epi", "links"], optional = true } egui_glow = { version = "0.15.0", path = "../egui_glow", default-features = false, features = ["clipboard", "epi", "links"], optional = true }
# web: # web:
[target.'cfg(target_arch = "wasm32")'.dependencies] [target.'cfg(target_arch = "wasm32")'.dependencies]
egui_web = { version = "0.14.0", path = "../egui_web", default-features = false } egui_web = { version = "0.15.0", path = "../egui_web", default-features = false }
[dev-dependencies] [dev-dependencies]
image = { version = "0.23", default-features = false, features = ["png"] } image = { version = "0.23", default-features = false, features = ["png"] }

3
egui-winit/CHANGELOG.md

@ -4,4 +4,7 @@ All notable changes to the `egui-winit` integration will be noted in this file.
## Unreleased ## Unreleased
## 0.15.0 - 2021-10-24
First stand-alone release. Previously part of `egui_glium`. First stand-alone release. Previously part of `egui_glium`.

6
egui-winit/Cargo.toml

@ -1,6 +1,6 @@
[package] [package]
name = "egui-winit" name = "egui-winit"
version = "0.14.0" version = "0.15.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Bindings for using egui with winit" description = "Bindings for using egui with winit"
edition = "2018" edition = "2018"
@ -21,10 +21,10 @@ include = [
all-features = true all-features = true
[dependencies] [dependencies]
egui = { version = "0.14.0", path = "../egui", default-features = false } egui = { version = "0.15.0", path = "../egui", default-features = false, features = ["single_threaded"] }
winit = "0.25" winit = "0.25"
epi = { version = "0.14.0", path = "../epi", optional = true } epi = { version = "0.15.0", path = "../epi", optional = true }
copypasta = { version = "0.7", optional = true } copypasta = { version = "0.7", optional = true }
serde = { version = "1.0", optional = true, features = ["derive"] } serde = { version = "1.0", optional = true, features = ["derive"] }

4
egui/Cargo.toml

@ -1,6 +1,6 @@
[package] [package]
name = "egui" name = "egui"
version = "0.14.2" version = "0.15.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Simple, portable immediate mode GUI library for Rust" description = "Simple, portable immediate mode GUI library for Rust"
edition = "2018" edition = "2018"
@ -23,7 +23,7 @@ all-features = true
[lib] [lib]
[dependencies] [dependencies]
epaint = { version = "0.14.0", path = "../epaint", default-features = false } epaint = { version = "0.15.0", path = "../epaint", default-features = false }
ahash = "0.7" ahash = "0.7"
nohash-hasher = "0.2" nohash-hasher = "0.2"

8
egui_demo_app/Cargo.toml

@ -1,6 +1,6 @@
[package] [package]
name = "egui_demo_app" name = "egui_demo_app"
version = "0.14.0" version = "0.15.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
edition = "2018" edition = "2018"
@ -10,10 +10,10 @@ publish = false
crate-type = ["cdylib", "rlib"] crate-type = ["cdylib", "rlib"]
[dependencies] [dependencies]
eframe = { version = "0.14.0", path = "../eframe" } eframe = { version = "0.15.0", path = "../eframe" }
# eframe = { version = "0.14.0", path = "../eframe", default-features = false, features = ["default_fonts", "egui_glow"] } # eframe = { version = "0.15.0", path = "../eframe", default-features = false, features = ["default_fonts", "egui_glow"] }
egui_demo_lib = { version = "0.14.0", path = "../egui_demo_lib", features = ["extra_debug_asserts"] } egui_demo_lib = { version = "0.15.0", path = "../egui_demo_lib", features = ["extra_debug_asserts"] }
[features] [features]
default = ["persistence"] default = ["persistence"]

6
egui_demo_lib/Cargo.toml

@ -1,6 +1,6 @@
[package] [package]
name = "egui_demo_lib" name = "egui_demo_lib"
version = "0.14.0" version = "0.15.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Example library for egui" description = "Example library for egui"
edition = "2018" edition = "2018"
@ -23,8 +23,8 @@ all-features = true
[lib] [lib]
[dependencies] [dependencies]
egui = { version = "0.14.0", path = "../egui", default-features = false } egui = { version = "0.15.0", path = "../egui", default-features = false }
epi = { version = "0.14.0", path = "../epi" } epi = { version = "0.15.0", path = "../epi" }
chrono = { version = "0.4", features = ["js-sys", "wasmbind"], optional = true } chrono = { version = "0.4", features = ["js-sys", "wasmbind"], optional = true }
enum-map = { version = "1", features = ["serde"] } enum-map = { version = "1", features = ["serde"] }

3
egui_glium/CHANGELOG.md

@ -3,6 +3,9 @@ All notable changes to the `egui_glium` integration will be noted in this file.
## Unreleased ## Unreleased
## 0.15.0 - 2021-10-24
* Remove "http" feature (use https://github.com/emilk/ehttp instead!). * Remove "http" feature (use https://github.com/emilk/ehttp instead!).
* Implement `epi::NativeTexture` trait for the glium painter. * Implement `epi::NativeTexture` trait for the glium painter.
* Deprecate 'Painter::register_glium_texture'. * Deprecate 'Painter::register_glium_texture'.

8
egui_glium/Cargo.toml

@ -1,6 +1,6 @@
[package] [package]
name = "egui_glium" name = "egui_glium"
version = "0.14.0" version = "0.15.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Bindings for using egui natively using the glium library" description = "Bindings for using egui natively using the glium library"
edition = "2018" edition = "2018"
@ -22,9 +22,9 @@ include = [
all-features = true all-features = true
[dependencies] [dependencies]
egui = { version = "0.14.0", path = "../egui", default-features = false, features = ["single_threaded"] } egui = { version = "0.15.0", path = "../egui", default-features = false, features = ["single_threaded"] }
egui-winit = { version = "0.14.0", path = "../egui-winit", default-features = false, features = ["epi"] } egui-winit = { version = "0.15.0", path = "../egui-winit", default-features = false, features = ["epi"] }
epi = { version = "0.14.0", path = "../epi", optional = true } epi = { version = "0.15.0", path = "../epi", optional = true }
glium = "0.30" glium = "0.30"

6
egui_glow/CHANGELOG.md

@ -3,6 +3,10 @@ All notable changes to the `egui_glow` integration will be noted in this file.
## Unreleased ## Unreleased
## 0.15.0 - 2021-10-24
`egui_glow` has been newly created, with feature parity to `egui_glium`. `egui_glow` has been newly created, with feature parity to `egui_glium`.
As `glow` is a set of lower-level bindings to OpenGL, this crate is potentially less stable than `egui_glium`, As `glow` is a set of lower-level bindings to OpenGL, this crate is potentially less stable than `egui_glium`,
but there are no known issues, and the crate will only become more stable over time, if any issues manifest. but hopefully this will one day replace `egui_glium` as the default backend for `eframe`.

8
egui_glow/Cargo.toml

@ -1,6 +1,6 @@
[package] [package]
name = "egui_glow" name = "egui_glow"
version = "0.14.0" version = "0.15.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Bindings for using egui natively using the glow library" description = "Bindings for using egui natively using the glow library"
edition = "2018" edition = "2018"
@ -22,9 +22,9 @@ include = [
all-features = true all-features = true
[dependencies] [dependencies]
egui = { version = "0.14.0", path = "../egui", default-features = false, features = ["single_threaded"] } egui = { version = "0.15.0", path = "../egui", default-features = false, features = ["single_threaded"] }
egui-winit = { version = "0.14.0", path = "../egui-winit", default-features = false, features = ["epi"] } egui-winit = { version = "0.15.0", path = "../egui-winit", default-features = false, features = ["epi"] }
epi = { version = "0.14.0", path = "../epi", optional = true } epi = { version = "0.15.0", path = "../epi", optional = true }
glow = "0.11" glow = "0.11"
glutin = "0.27" glutin = "0.27"

3
egui_web/CHANGELOG.md

@ -4,6 +4,9 @@ All notable changes to the `egui_web` integration will be noted in this file.
## Unreleased ## Unreleased
## 0.15.0 - 2021-10-24
### Added ### Added
* Remove "http" feature (use https://github.com/emilk/ehttp instead!). * Remove "http" feature (use https://github.com/emilk/ehttp instead!).
* Implement `epi::NativeTexture` trait for the WebGL painter. * Implement `epi::NativeTexture` trait for the WebGL painter.

6
egui_web/Cargo.toml

@ -1,6 +1,6 @@
[package] [package]
name = "egui_web" name = "egui_web"
version = "0.14.1" version = "0.15.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Bindings for compiling egui code to WASM for a web page" description = "Bindings for compiling egui code to WASM for a web page"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
@ -25,10 +25,10 @@ all-features = true
crate-type = ["cdylib", "rlib"] crate-type = ["cdylib", "rlib"]
[dependencies] [dependencies]
egui = { version = "0.14.0", path = "../egui", default-features = false, features = [ egui = { version = "0.15.0", path = "../egui", default-features = false, features = [
"single_threaded", "single_threaded",
] } ] }
epi = { version = "0.14.0", path = "../epi" } epi = { version = "0.15.0", path = "../epi" }
js-sys = "0.3" js-sys = "0.3"
ron = { version = "0.7", optional = true } ron = { version = "0.7", optional = true }
serde = { version = "1", optional = true } serde = { version = "1", optional = true }

2
emath/Cargo.toml

@ -1,6 +1,6 @@
[package] [package]
name = "emath" name = "emath"
version = "0.14.0" version = "0.15.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Minimal 2D math library for GUI work" description = "Minimal 2D math library for GUI work"
edition = "2018" edition = "2018"

4
epaint/CHANGELOG.md

@ -2,7 +2,11 @@
All notable changes to the epaint crate will be documented in this file. All notable changes to the epaint crate will be documented in this file.
## Unreleased ## Unreleased
## 0.15.0 - 2021-10-24
* `Fonts::layout_job`: New text layout engine allowing mixing fonts, colors and styles, with underlining and strikethrough. * `Fonts::layout_job`: New text layout engine allowing mixing fonts, colors and styles, with underlining and strikethrough.
* New `CircleShape`, `PathShape`, `RectShape` and `TextShape` used in `enum Shape`. * New `CircleShape`, `PathShape`, `RectShape` and `TextShape` used in `enum Shape`.
* Add support for rotated text (see `TextShape`). * Add support for rotated text (see `TextShape`).

4
epaint/Cargo.toml

@ -1,6 +1,6 @@
[package] [package]
name = "epaint" name = "epaint"
version = "0.14.0" version = "0.15.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Minimal 2D graphics library for GUI work" description = "Minimal 2D graphics library for GUI work"
edition = "2018" edition = "2018"
@ -25,7 +25,7 @@ all-features = true
[lib] [lib]
[dependencies] [dependencies]
emath = { version = "0.14.0", path = "../emath" } emath = { version = "0.15.0", path = "../emath" }
ab_glyph = "0.2.11" ab_glyph = "0.2.11"
ahash = { version = "0.7", features = ["std"], default-features = false } ahash = { version = "0.7", features = ["std"], default-features = false }

4
epi/Cargo.toml

@ -1,6 +1,6 @@
[package] [package]
name = "epi" name = "epi"
version = "0.14.0" version = "0.15.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Backend-agnostic interface for writing apps using egui" description = "Backend-agnostic interface for writing apps using egui"
edition = "2018" edition = "2018"
@ -23,7 +23,7 @@ all-features = true
[lib] [lib]
[dependencies] [dependencies]
egui = { version = "0.14.0", path = "../egui", default-features = false, features = ["single_threaded"] } egui = { version = "0.15.0", path = "../egui", default-features = false, features = ["single_threaded"] }
directories-next = { version = "2", optional = true } directories-next = { version = "2", optional = true }
ron = { version = "0.7", optional = true } ron = { version = "0.7", optional = true }

Loading…
Cancel
Save