You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -28,97 +58,83 @@ This means that druid no longer requires cairo on macOS and uses Core Graphics i
28
58
29
59
### Added
30
60
61
+
- Standardized and exposed more methods on more contexts. ([#970], [#972], [#855] by [@cmyr], [#898] by [@finnerale], [#954] by [@xStrom], [#917] by [@jneem])
62
+
-`im` feature, with `Data` support for the [`im` crate](https://docs.rs/im/) collections. ([#924] by [@cmyr])
63
+
-`im::Vector` support for the `List` widget. ([#940] by [@xStrom])
31
64
-`TextBox` can receive `EditAction` commands. ([#814] by [@cmyr])
32
65
-`Split::min_splitter_area(f64)` to add padding around the splitter bar. ([#738] by [@xStrom])
33
66
- Published `druid::text` module. ([#816] by [@cmyr])
34
67
-`InternalEvent::MouseLeave` signalling the cursor left the window. ([#821] by [@teddemunnik])
68
+
-`InternalEvent::RouteTimer` to route timer events. ([#831] by [@sjoshid])
35
69
-`children_changed` now always includes layout and paint request. ([#839] by [@xStrom])
36
-
-`UpdateCtx::submit_command`. ([#855] by [@cmyr])
37
70
-`request_paint_rect` for partial invalidation. ([#817] by [@jneem])
38
71
- Window title can be any `LabelText` (such as a simple `String`). ([#869] by [@cmyr])
39
72
-`Label::with_font` and `set_font`. ([#785] by [@thecodewarrior])
40
-
-`InternalEvent::RouteTimer` to route timer events. ([#831] by [@sjoshid])
41
73
-`MouseEvent` now has a `focus` field which is `true` with window focusing left clicks on macOS. ([#842] by [@xStrom])
42
74
-`MouseButtons` to `MouseEvent` to track which buttons are being held down during an event. ([#843] by [@xStrom])
43
75
-`Env` and `Key` gained methods for inspecting an `Env` at runtime ([#880] by [@Zarenor])
44
-
-`UpdateCtx::request_timer` and `UpdateCtx::request_anim_frame`. ([#898] by [@finnerale])
45
-
-`LifeCycleCtx::request_timer`. ([#954] by [@xStrom])
46
-
-`scale` method to `WinHandler`. ([#904] by [@xStrom])
47
76
-`WinHandler::scale` method to inform of scale changes. ([#904] by [@xStrom])
48
-
-`UpdateCtx::size` and `LifeCycleCtx::size`. ([#917] by [@jneem])
49
77
-`WidgetExt::debug_widget_id`, for displaying widget ids on hover. ([#876] by [@cmyr])
50
-
-`im` feature, with `Data` support for the [`im` crate](https://docs.rs/im/) collections. ([#924] by [@cmyr])
51
-
-`im::Vector` support for the `List` widget. ([#940] by [@xStrom])
52
78
-`LifeCycle::Size` event to inform widgets that their size changed. ([#953] by [@xStrom])
53
79
-`Button::dynamic` constructor. ([#963] by [@totsteps])
54
-
-`set_menu` method on `UpdateCtx` and `LifeCycleCtx` ([#970] by [@cmyr])
55
-
- Standardize and expose more methods on more contexts ([#972] by [@cmyr])
56
80
-`Spinner` widget to represent loading states. ([#1003] by [@futurepaul])
57
81
58
82
### Changed
59
83
84
+
- Renamed `WidgetPod` methods: `paint` to `paint_raw`, `paint_with_offset` to `paint`, `paint_with_offset_always` to `paint_always`. ([#980] by [@totsteps])
85
+
- Renamed `Event::MouseMoved` to `MouseMove`. ([#825] by [@teddemunnik])
60
86
- Renamed `Split` constructors to `Split::rows` and `columns`. ([#738] by [@xStrom])
87
+
- Replaced `NEW_WINDOW`, `SET_MENU` and `SHOW_CONTEXT_MENU` commands with methods on `EventCtx` and `DelegateCtx`. ([#931] by [@finnerale])
88
+
- Replaced `Command::one_shot` and `::take_object` with a `SingleUse` payload wrapper type. ([#959] by [@finnerale])
89
+
-`Command` and `Selector` have been reworked and are now statically typed, similarly to `Env` and `Key`. ([#993] by [@finnerale])
90
+
-`AppDelegate::command` now receives a `Target` instead of a `&Target`. ([#909] by [@xStrom])
91
+
-`SHOW_WINDOW` and `CLOSE_WINDOW` commands now only use `Target` to determine the affected window. ([#928] by [@finnerale])
92
+
- Global `Application` associated functions are instance methods instead, e.g. `Application::global().quit()` instead of the old `Application::quit()`. ([#763] by [@xStrom])
93
+
-`Event::Internal(InternalEvent)` bundles all internal events. ([#833] by [@xStrom])
94
+
- Timer events will only be delivered to the widgets that requested them. ([#831] by [@sjoshid])
61
95
-`Split::splitter_size` no longer includes padding. ([#738] by [@xStrom])
62
-
- Renamed `Event::MouseMoved` to `MouseMove`. ([#825] by [@teddemunnik])
63
96
-`has_focus` no longer returns false positives. ([#819] by [@xStrom])
64
-
-`Event::Internal(InternalEvent)` bundles all internal events. ([#833] by [@xStrom])
65
97
-`WidgetPod::set_layout_rect` now requires `LayoutCtx`, data and `Env`. ([#841] by [@xStrom])
66
98
-`request_timer` uses `Duration` instead of `Instant`. ([#847] by [@finnerale])
67
-
- Global `Application` associated functions are instance methods instead, e.g. `Application::global().quit()` instead of the old `Application::quit()`. ([#763] by [@xStrom])
68
-
- Timer events will only be delivered to the widgets that requested them. ([#831] by [@sjoshid])
69
99
-`Event::Wheel` now contains a `MouseEvent` structure. ([#895] by [@teddemunnik])
70
100
- The `WindowHandle::get_dpi` method got replaced by `WindowHandle::get_scale`. ([#904] by [@xStrom])
71
101
- The `WinHandler::size` method now gets a `Size` in display points. ([#904] by [@xStrom])
72
-
-`AppDelegate::command` now receives a `Target` instead of a `&Target`. ([#909] by [@xStrom])
73
-
-`SHOW_WINDOW` and `CLOSE_WINDOW` commands now only use `Target` to determine the affected window. ([#928] by [@finnerale])
74
-
- Replaced `NEW_WINDOW`, `SET_MENU` and `SHOW_CONTEXT_MENU` commands with methods on `EventCtx` and `DelegateCtx`. ([#931] by [@finnerale])
75
-
- Replaced `Command::one_shot` and `::take_object` with a `SingleUse` payload wrapper type. ([#959] by [@finnerale])
76
-
- Renamed `WidgetPod` methods: `paint` to `paint_raw`, `paint_with_offset` to `paint`, `paint_with_offset_always` to `paint_always`. ([#980] by [@totsteps])
77
-
-`Command` and `Selector` have been reworked and are now statically typed, similarly to `Env` and `Key`. ([#993] by [@finnerale])
78
-
- Standardize the type returned by the contexts' `text()` methods. ([#996] by [@cmyr])
79
-
80
-
### Deprecated
81
-
82
-
- Nothing
102
+
- Standardized the type returned by the contexts' `text` methods. ([#996] by [@cmyr])
83
103
84
104
### Removed
85
105
86
106
- The optional GTK feature for non-Linux platforms. ([#611] by [@pyroxymat])
87
107
88
108
### Fixed
89
109
90
-
- GTK: Use the system locale. ([#798] by [@finnerale])
91
-
- GTK: Actually close windows. ([#797] by [@finnerale])
92
-
- Windows: Respect the minimum window size. ([#727] by [@teddemunnik])
93
-
- Windows: Respect resizability. ([#712] by [@teddemunnik])
94
110
-`Event::HotChanged(false)` will be emitted when the cursor leaves the window. ([#821] by [@teddemunnik])
95
-
- Windows: Capture mouse for drag actions. ([#695] by [@teddemunnik])
96
-
- Start focus cycling from non-registered-for-focus widgets. ([#819] by [@xStrom])
97
-
- Propagate `Event::FocusChanged` to focus gaining widgets as well. ([#819] by [@xStrom])
98
-
- GTK: Prevent crashing on pop-ups. ([#837] by [@finnerale])
99
111
- Keep hot state consistent with mouse position. ([#841] by [@xStrom])
100
-
-Open file menu item works again. ([#851] by [@kindlychung])
112
+
-Start focus cycling from not-registered-for-focus widgets. ([#819] by [@xStrom])
101
113
- Supply correct `LifeCycleCtx` to `Event::FocusChanged`. ([#878] by [@cmyr])
114
+
- Propagate `Event::FocusChanged` to focus gaining widgets as well. ([#819] by [@xStrom])
115
+
- Routing `LifeCycle::FocusChanged` to descendant widgets. ([#925] by [@yrns])
116
+
- Focus request handling is now predictable with the last request overriding earlier ones. ([#948] by [@xStrom])
117
+
- Open file menu item works again. ([#851] by [@kindlychung])
118
+
- Built-in open and save menu items now show the correct label and submit the right commands. ([#930] by [@finnerale])
119
+
- Wheel events now properly update hot state. ([#951] by [@xStrom])
120
+
-`Painter` now properly repaints on data change in `Container`. ([#991] by [@cmyr])
102
121
- Windows: Terminate app when all windows have closed. ([#763] by [@xStrom])
122
+
- Windows: Respect the minimum window size. ([#727] by [@teddemunnik])
123
+
- Windows: Respect resizability. ([#712] by [@teddemunnik])
124
+
- Windows: Capture mouse for drag actions. ([#695] by [@teddemunnik])
125
+
- Windows: Removed flashes of white background at the edge of the window when resizing. ([#915] by [@xStrom])
126
+
- Windows: Reduced chance of white flash when opening a new window. ([#916] by [@xStrom])
127
+
- Windows: Keep receiving mouse events after pressing ALT or F10 when the window has no menu. ([#997] by [@xStrom])
103
128
- macOS: `Application::quit` now quits the run loop instead of killing the process. ([#763] by [@xStrom])
104
129
- macOS: `Event::HotChanged` is properly generated with multiple windows. ([#907] by [@xStrom])
105
-
- macOS/GTK/web: `MouseButton::X1` and `MouseButton::X2` clicks are now recognized. ([#843] by [@xStrom])
130
+
- macOS: The application menu is now immediately interactable after launch. ([#994] by [@xStrom])
131
+
- macOS/GTK: `MouseButton::X1` and `MouseButton::X2` clicks are now recognized. ([#843] by [@xStrom])
132
+
- GTK: Use the system locale. ([#798] by [@finnerale])
133
+
- GTK: Actually close windows. ([#797] by [@finnerale])
134
+
- GTK: Prevent crashing on pop-ups. ([#837] by [@finnerale])
106
135
- GTK: Support disabled menu items. ([#897] by [@jneem])
107
-
- X11: Support individual window closing. ([#900] by [@xStrom])
108
-
- X11: Support `Application::quit`. ([#900] by [@xStrom])
109
136
- GTK: Support file filters in open/save dialogs. ([#903] by [@jneem])
110
137
- GTK: Support DPI values other than 96. ([#904] by [@xStrom])
111
-
- Windows: Removed flashes of white background at the edge of the window when resizing. ([#915] by [@xStrom])
112
-
- Windows: Reduced chance of white flash when opening a new window. ([#916] by [@xStrom])
113
-
- X11: Support key and mouse button state. ([#920] by [@jneem])
114
-
- Routing `LifeCycle::FocusChanged` to descendant widgets. ([#925] by [@yrns])
115
-
- Built-in open and save menu items now show the correct label and submit the right commands. ([#930] by [@finnerale])
116
-
- Focus request handling is now predictable with the last request overriding earlier ones. ([#948] by [@xStrom])
117
-
- Wheel events now properly update hot state. ([#951] by [@xStrom])
118
-
- X11: Support mouse scrolling. ([#961] by [@jneem])
119
-
-`Painter` now properly repaints on data change in `Container`. ([#991] by [@cmyr])
120
-
- macOS: The application menu is now immediately interactable after launch. ([#994] by [@xStrom])
121
-
- Windows: Keep receiving mouse events after pressing ALT or F10 when the window has no menu. ([#997] by [@xStrom])
122
138
123
139
### Visual
124
140
@@ -130,34 +146,34 @@ This means that druid no longer requires cairo on macOS and uses Core Graphics i
130
146
131
147
### Docs
132
148
133
-
- Reduce the flashing in ext_event and identity examples. ([#782] by [@futurepaul])
134
149
- Added example and usage hints to `Env`. ([#796] by [@finnerale])
135
150
- Added documentation about the usage of bloom filters. ([#818] by [@xStrom])
136
151
- Added book chapters about `Painter` and `Controller`. ([#832] by [@cmyr])
137
-
- Added hot glow option to multiwin example. ([#845] by [@xStrom])
138
-
- Added new example for blocking functions. ([#840] by [@mastfissh])
139
152
- Added a changelog containing development since the 0.5 release. ([#889] by [@finnerale])
140
-
- Removed references to cairo on macOS. ([#943] by [@xStrom])
141
-
- Updated screenshots in `README.md`. ([#967] by [@xStrom])
142
153
- Added goals section to `README.md`. ([#971] by [@finnerale])
143
154
- Added a section about dependencies to `CONTRIBUTING.md`. ([#990] by [@xStrom])
144
-
- Fixed menu inconsistency across multiple windows in the multiwin example. ([#926] by [@kindlychung])
155
+
- Updated screenshots in `README.md`. ([#967] by [@xStrom])
156
+
- Removed references to cairo on macOS. ([#943] by [@xStrom])
157
+
158
+
### Examples
159
+
160
+
- Added `blocking_function`. ([#840] by [@mastfissh])
161
+
- Added hot glow option to `multiwin`. ([#845] by [@xStrom])
162
+
- Reduce the flashing in `ext_event` and `identity`. ([#782] by [@futurepaul])
163
+
- Fixed menu inconsistency across multiple windows in `multiwin`. ([#926] by [@kindlychung])
145
164
146
165
### Maintenance
147
166
167
+
- Added rendering tests. ([#784] by [@fishrockz])
168
+
- Added docs generation testing for all features. ([#942] by [@xStrom])
148
169
- Replaced `#[macro_use]` with normal `use`. ([#808] by [@totsteps])
149
170
- Enabled Clippy checks for all targets. ([#850] by [@xStrom])
150
-
- Added rendering tests. ([#784] by [@fishrockz])
151
171
- Revamped CI testing to optimize coverage and speed. ([#857] by [@xStrom])
152
-
- GTK: Refactored `Application` to use the new structure. ([#892] by [@xStrom])
153
-
- X11: Refactored `Application` to use the new structure. ([#894] by [@xStrom])
154
-
- X11: Refactored `Window` to support some reentrancy and invalidation. ([#894] by [@xStrom])
155
172
- Refactored DPI scaling. ([#904] by [@xStrom])
156
-
-Added docs generation testing for all features. ([#942] by [@xStrom])
173
+
-Refactored `WidgetPod::event` to improve readability and performance of more complex logic. ([#1001] by [@xStrom])
157
174
- Renamed `BaseState` to `WidgetState` ([#969] by [@cmyr])
158
-
- X11: Reworked error handling ([#982] by [@jneem])
159
175
- Fixed test harness crashing on failure. ([#984] by [@xStrom])
160
-
- Refactored `WidgetPod::event` to improve readability and performance of more complex logic. ([#1001] by [@xStrom])
176
+
-GTK: Refactored `Application` to use the new structure. ([#892] by [@xStrom])
161
177
162
178
### Outside News
163
179
@@ -166,6 +182,38 @@ This means that druid no longer requires cairo on macOS and uses Core Graphics i
166
182
-[jack-mixer](https://github.com/derekdreery/jack-mixer) A jack client that provides mixing, levels and a 3-band eq.
167
183
-[kiro-synth](https://github.com/chris-zen/kiro-synth) An in progress modular sound synthesizer.
0 commit comments