-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathChangeLog
217 lines (196 loc) · 8.99 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## [1.10] - 2024-10-16
### Added
- The GstDecoderImpl class now supports custom GStreamer pipeline descriptions.
A new parameter has been introduced in the video example to allow for a custom
pipeline. For further information, please refer to the newly added GStreamer
page in the documentaion.
### Changed
- Multimedia support has been restructured. This change is internal and should
not affect multimedia widgets. The update eliminates code duplication by
consolidating all GStreamer-related code within the GstDecoderImpl class.
## [1.9] - 2024-05-03
### Added
- CMake: add support for the CMake build system in addition to the autotools
one.
- ImageGroup: new utility class to handled images tied to a palette group id.
- MouseGesture: the distance to travel to enable the drag mode is
configurable.
- PointType: add unary 'operator-'.
- resolve_path: add support for the svg icons.
- ScrolledView: handle keyboard events.
- Slider: an image can be used for the handle.
- Switch: new class to factorize code from Checkbox and RadioBox. It provides
support for an image that depends on the checked flag.
- ValueRangeWidget: add support for steps to manage the difference between two
consecutive values of the range.
- Widget: all widgets can set an image background per palette group.
### Changed
- Application: change input backend logic. libinput was always enabled. Now,
libinput is used only if it is requested with the help of the
EGT_INPUT_DEVICES environment variable or if there is no valid input backend
configured.
- Button: reduce the minimal size hint for multiline text buttons.
- Checkbox: performance improvement.
- Check|RadioBox: if the widget's text is not empty, then the minimum size
hint is computed from the text height.
- ListBox: add the horizontal orientation.
- MouseGesture: continue to emit the hold event when dragging starts. When
holding ends, don't send a pointer_click event.
- ScrolledView: rework to improve its behavior.
- ScrolledView: no longer damage the whole box if not needed.
- ScrolledView: pass mouse events only to the first child that intersects.
- Slider: damage only the handle, line and label rects when the value is
updated.
- ValueRangeWidget: allow m_start and m_end to be equal.
- Widget: send drag events only to the widgets which accepted the drag start.
Before, it was sent unconditionally.
- Widget: stop handling drag events when they leave the dragged widget box.
- Widget:
- Rework the layout of several examples.
### Fixed
- CheckButton: the handle() method is now public, and is exported to the API.
- Input: fix evedev support.
- Input: fix tslib support.
- Pattern: fix the == operator.
- Slider: don't shrink the size of the label based on the size of the handle.
- ScrolledView: fix non-zero moat handling.
- ScrolledView: fix the drawing of boarders.
- ScrolledView: handle other fill flags than solid.
- ScrolledView: draw sliders within the widget borders.
- Theme: fix draw_box() to display the plane windows at the right position.
## [1.8] - 2023-12-08
### Added
- The audioplayer example displays an error message when there is no sound
card instead of crashing.
- ProgressBar: add a style property to choose the direction: left to right,
right to left, bottom to top, or top to bottom.
- Sound: add media, stop, and enumerate_pcm_devices methods to the API
### Fixed
- GStreamer: fix memory leaks related to GStreamer usage.
- PlaneWindow: the show method bypasses the EventLoop to display the overlay.
It prevents glitches when switching from one window to another.
- ProgressBar: the show_percentage property is now serialized/deserialized.
- TextBox: fix a crash happening with sliders when there was no size defined
for the textbox.
- TextBox: fix position computation with UTF-8 characters.
## [1.7] - 2023-05-12
### Added
- Use C++17 std::filesystem API.
- GstDecoderImpl: can output the pipeline graph if GST_DEBUG_DUMP_DOT_DIR is
set.
- Multiline support for Button and Label.
- TextBox: add selection support.
- TextBox: add UP, DOWN, HOME, and END keys support.
- TopWindow title can be set when using X11 or SDL2 backends.
### Changed
- Discard libmagic for SVG file detection.
- Serialization improvements.
- Inheritance: widgets that are not aimed to offer public API to add or remove
child widgets can inherit from Widget instead of Frame.
- Operating System: Windows support improved.
- TextBox: horizontal and vertical scrollbars are optionals.
### Fixed
- CameraImpl: fix camera detection.
- ComboBox: fix sizing issues, scrollbar no longer displayed if not needed.
- StaticGrid: fix serialization of children.
- TextBox: fix multiline layout bugs, there are still issues with right alignment.
- Video player: fix GStreamer issues on desktop distributions.
## [1.6] - 2022-12-02
### Added
- Widget/Frame: new zorder setter to be able to set a specific rank instead of
using top, bottom, up and down.
### Changed
- Move from C++14 to C++17.
- AlignFlag: transform the AlignFlag enum into a main AlignFlag class plus
few subclasses and define opertor| for all valid combination of those classes
in order to discard invalid AlignFlag combinations at compilation time.
- WindowHint, Justification, Orientation: change enums values from flags to
regular enum values.
- ImageHolder: de-templatize the ImageHolder class.
- Horizontal/Vertical/FlexBoxSizer: dedicated name instead of BoxSizer.
### Fixed
- Pattern: add Pattern::operator== and Pattern::operator!= to fix a crash in
'void Widget::Color(Paletter::ColorId, const Pattern&, Palette::GroupId)' when
changing a Pattern that already exists in the widget's palette.
- Label: add missing move constructor annd move assignment operator.
- ImageHolder: fix the copy and move constructors.
- ImageButton, ImageLabel: fix their move constructor and add their default move
assignement operator.
- ComboBox, Dialog, ImageButton, LevelMeter, NotebookTab, ProgressBar,
ScrollWheel, Slider, SpinProgress, TextBox: fix deserialization issues of
inherited properties.
## [1.5] - 2022-11-09
### Added
- Support for Windows build.
- Documentation for the Microchip Graphics Composer.
### Changed
- TextBox: handle_key method is now virtual.
- ImageButton/Label: the text method has no longer side effects on the visible
property.
### Fixed
- BoxSizer: layout is now recomputed when a BoxSizer is resized.
- Image: fix alignment issue when align flags are empty.
- Serialization: several fixes.
## [1.4] - 2022-07-12
### Added
- Application: allow non-zero exit values.
- ComposerScreen: introduce a new backend for the Microchip Graphics Composer.
- Global Palette/Font: setters and getters added, reset function added as well.
- ProgressBar: can display a percentage of the progression instead of the basic
value.
- SliderType: introduce the inverted flag to change slider direction of
progression.
### Changed
- To get detailed API changes, check the 'API Changes' page in the documentation.
- ImageButton/Label: show_label is automatically set to false if text string is
empty, otherwise it is set to true.
- Serialization/de-serialization: improvements for the composer
- Widget: removal of local theme support. There is only a global theme.
### Fixed
- CircleWidget: radius now updated on resize.
- Git commit id with a newer version of git was set to n/a.
fix clear()
- Sound: the same file can be played several times when using ifstream instead of
libsndfile.
## [1.3.2] - 2022-05-10
### Changed
- Gstcameraimpl: default device node is /dev/video0.
## [1.3.1] - 2022-05-03
### Fixed
- TextBox: text display issue when moved/resized non left-aligned texts rendering,
## [1.3] - 2021-12-10
### Added
- TextBox: performance optimization for text rendering.
- i18n example uses gettext and provides a new window with runtime translation.
- AnimationSequence: addition of removeLast and removeAt methods. Now,
AnimationSequence allows to use several times the same sub animation.
### Changed
- Default widget and font size based on the screen size instead of an arbitrary
value.
### Fixed
- Git commit id was incorrect when EGT was built from Buildroot.
## [1.2] - 2020-06-28
### Added
- ImageLabel/ImageButton: add an option to keep the image ratio when the image
is auto-scaled.
- Serialization/de-serialization: continue to improve the support but still
experimental.
- The git commit id and the state of the tree used to build the library can be
displayed:
EGT_DEBUG=1 examples/basic/basic
633509063 [info] EGT Git Version b1fabd9d-dirty
### Changed
- ValueRangeWidget: change min and max value management. Switch to start and
end which removes the constraint start < end.
### Fixed
- Size of overlay plane windows is now updated when scaling happens.
- Crashes with low-resolution screen.
- Mpeg4 video decoding.
- Font: check if the font requested is installed.
- ComboBox: wrong rendering in some conditions.
- ImageLabel/ImageButton: auto scale.
- ScrolledView: event dispatching and background drawing.
- Chart: display of the axis labels.