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

This commit is contained in:
Emil Ernerfeldt 2021-10-24 16:08:44 +02:00
parent c3f61b67fe
commit 08cc07bb2d
19 changed files with 74 additions and 47 deletions

View File

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

24
Cargo.lock generated
View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
[package]
name = "egui_demo_app"
version = "0.14.0"
version = "0.15.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
license = "MIT OR Apache-2.0"
edition = "2018"
@ -10,10 +10,10 @@ publish = false
crate-type = ["cdylib", "rlib"]
[dependencies]
eframe = { version = "0.14.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" }
# 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]
default = ["persistence"]

View File

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

View File

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

View File

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

View File

@ -3,6 +3,10 @@ All notable changes to the `egui_glow` integration will be noted in this file.
## Unreleased
## 0.15.0 - 2021-10-24
`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`,
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`.

View File

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

View File

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

View File

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

View File

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

View File

@ -2,7 +2,11 @@
All notable changes to the epaint crate will be documented in this file.
## Unreleased
## 0.15.0 - 2021-10-24
* `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`.
* Add support for rotated text (see `TextShape`).

View File

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

View File

@ -1,6 +1,6 @@
[package]
name = "epi"
version = "0.14.0"
version = "0.15.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Backend-agnostic interface for writing apps using egui"
edition = "2018"
@ -23,7 +23,7 @@ all-features = true
[lib]
[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 }
ron = { version = "0.7", optional = true }