Skip to content

Commit c0407a1

Browse files
committed
Generate build for 1.3.0
1 parent 756edd0 commit c0407a1

File tree

3 files changed

+956
-503
lines changed

3 files changed

+956
-503
lines changed

1/CHANGELOG.md

+64-14
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,75 @@
1-
# 1.2.0 - 2022-03-22
1+
# 1.3.0 - 2022-11-20
22

33
## New Features
44

5-
* `rtk.Window` now supports automatic sizing when based on its contents when `rtk.Window.w` and/or `rtk.Window.h` are nil at the time `rtk.Window:open()` is called, which is now the default behavior
6-
* Introduced a new slider widget `rtk.Slider`, which currently in beta and will be promoted in the next minor release
7-
* Added a new window attribute `rtk.Window.resizable` which controls the resizability of undocked windows
5+
* Added a new experimental `xml` module, which can be used to parse a subset of XML. The API is in preview and is not considered stable. Feedback appreciated.
6+
* `rtk.Slider`'s API has been promoted to stable (however vertical orientiation is not yet implemented)
7+
* Added a new mode `auto` for `rtk.Viewport.vscrollbar` that will reserve space for the scrollbar if scrolling is required to see all content
8+
* `rtk.Window` now supports relative values (i.e. between 0 and 1.0 inclusive) for `minw`, `minh`, `maxw`, and `maxh` attributes
9+
* Implemented customizable widget "hot zones" controlled via the `rtk.Widget.hotzone` attribute, which allows adjusting the area around the widget's normal boundary where mouse interactions will register. This can be useful to allow a widget to be clickable even if the user inadvertently clicks within the margin or spacing in a box, for example, which in particular can improve UX on touch screens
10+
811

912
## Minor Enhancements
1013

11-
* The `update` callback passed to `rtk.queue_animation()` now receives the animation table as the 4th argument
12-
* The `rtk.Entry`'s value attribute can be be received as the first positional argument
13-
* Full reflow is avoided when setting `rtk.Text.value` on a fixed-width text widget (optimization)
14-
* Remove js_ReaScriptAPI requirement for `rtk.Window:get_normalized_y()`
14+
* Containers now receive `onkeypress` events when any descendant of the container is focused
15+
* When `rtk.Viewport.vscrollbar` is set to `hover` (default) the scrollbar now becomes visible when the mouse enters anywhere within the viewport, rather than only when near the scrollbar gutter
16+
* Improved `rtk.Window` autosizing (i.e. when width or height is not set) when the window contains "greedy" widgets that want to fill their parent containers as much as possible
17+
* `rtk.Window:open()` now defaults to center alignment
18+
* `rtk.Widget.onclick`, `rtk.Widget.ondoubleclick`, and `rtk.Widget.onlongpress` no longer require `rtk.Widget.autofocus` to be explicitly set or have a custom `rtk.Widget.onmousedown` handler to fire. They will be invoked on all widgets unless `rtk.Widget.onmousedown` explicitly returns false to disable this behavior
19+
* `rtk.Widget.autofocus` now defaults to true if an `onclick` is set on the widget, but it can be explicitly set to `false` to never autofocus
20+
* Allow newlines in `rtk.Application.status` text
21+
* Expand the number of scenarios in which a full reflow is avoided when setting `rtk.Text.text`
22+
* Icons created by `rtk.Image.icon()` are no longer automatically recolored when the image is found in an image path that was registered without an explicit icon style
23+
* Allow passing the file extension to `rtk.Image.icon()`
24+
* Added `rtk.Popup.onopen` and `rtk.Popup.onclose` event handlers
25+
* Enhanced `rtk.Popup.autoclose` to be able to distinguish between clicks that occur outside the popup but still within the ReaScript window, or outside the window entirely
26+
* Allow `rtk.Popup.overlay` to be themed
27+
* Added support for alpha channels in named colors in the form `colorname#aa` where `colorname` is the name of the color and `aa` is the hex code of the alpha channel. For example, `bg='chartreuse#7f'`
28+
* Implemented luma-adaptive color for `rtk.Text.color` which is now default. Unless the attribute is explicitly set, the text color will use `rtk.themes.text` from either the dark theme or the light theme, depending on the luminance of the background the text will be rendered over
29+
* Improved luminance detection for adaptive coloring (for example `rtk.Entry.icon`) to take into account parent's background when the widget has a translucent background such that it that would blend with the parent's background color
30+
* Avoid recalculating layout (full reflow) if `rtk.Widget.bg` or `rtk.Widget.ghost` are set as these do not affect geometry
31+
* Added a new field `rtk.tick` that increments with each gfx update cycle, and add `rtk.Event.tick` to reflect the tick at which the event occurred
32+
* Improved handling of the case where a widget defines `minw`/`minh` but the minimum size would exceed the allowed cell size in a box
33+
* Optimized overhead of instantiating new widgets
34+
1535

1636
## Bug Fixes
1737

18-
* Fixed center/right/bottom cell alignments for `rtk.Container` when `rtk.Container.padding` is nonzero
19-
* Ensure redraw occurs when `rtk.Entry.value` changes
20-
* Account for `rtk.Entry.placeholder` when calculating the entry widget's intrinsic size
21-
* Respect the `alpha` attribute for `rtk.Window`
22-
* Avoid updating attributes' surface values during animations
23-
* Don't fire `rtk.OptionMenu:onchange()` when explicitly passing false to the trigger argument of `rtk.OptionMenu:select()` even if the selected item changed
38+
* Fixed a bug where key press events could be missed/dropped if there were other non-keyboard events (such as mouse move events) that occurred during the same gfx update cycle
39+
* Properly respect the `maxw` cell attribute for expanded cells in `rtk.HBox`
40+
* Fixed a bug where the first expanded cell in a box would have a different size than other expanded cells when `rtk.Box.spacing` was non-zero
41+
* Fixed 1px tall scrollbar bug when `rtk.Viewport.vscrollbar` was set to `always`
42+
* Ensure `rtk.ImageBox` borders and background color is drawn even if `rtk.ImageBox.image` is nil
43+
* Respect `rtk.ImageBox.bg`, if set, when determining which luma-adaptive image variant to use
44+
* Fixed animating `rtk.Widget.w` and `rtk.Widget.h` to 0, or to `rtk.Attribute.NIL` (nil was already supported)
45+
* Fixed animating `rtk.Widget.bg` to nil
46+
* Fixed animating `rtk.Window.x` and `rtk.Window.y` with undocked windows
47+
* Apply `rtk.scale.value` to `rtk.Widget.minw`, `minh`, `maxw`, and `maxh` when `rtk.Widget.scalability` allows it
48+
* Fixed centered vertical alignment for `rtk.Button` when the button label wraps
49+
* Removed allowing passing `rtk.Window.title` as the first positional value during initialization. In principle this is a breaking change however it never actually worked properly, so this just removes a broken feature.
50+
* Fixed a bug where `rtk.Window.onclose` could fire multiple times when the window closes
51+
* Fixed flickering when resizing an `rtk.Window` when the border attribute was set
52+
* Fixed autosizing of `rtk.Window` when REAPER's native UI scaling was enabled
53+
* Fixed a minor visual flicker that could occur when setting certain `rtk.Window` attributes
54+
* `rtk.Window` padding is now accounted for by the resize grip when `rtk.Window.borderless` is true
55+
* Fixed a bug where `rtk.Button` would not always respect the parent container's bounding box
56+
* Fixed subtle misalignment of button labels on Mac
57+
* Fixed the `rtk.Popup.opened` attribute which wasn't being properly updated to reflect current state
58+
* Fixed a bug that calculates the popup width when `rtk.Popup.anchor` is defined and `rtk.scale.value` is > 1
59+
* Fixed a bug where popups with `rtk.Popup.autoclose` enabled could inadvertently close when `rtk.touchscroll` was enabled
60+
* Fixed a visual flicker that occurred when fading out an `rtk.Popup` at the same time as its `rtk.Popup.anchor` widget is hidden
61+
* Fixed issue where the blinking cursor of `rtk.Entry` could be drawn outside its box
62+
* Still allow scrolling `rtk.Viewport` even when `rtk.Viewport.vscrollbar` is set to `never`
63+
* Fixed scroll offsets when `rtk.Viewport` has non-zero padding
64+
* Fixed a bug where `rtk.FlowBox` would only ever use a single column if it contained any greedy children (e.g. those using relative dimensions, or belonging to a box container with `expand` or `fillw` cell attributes set)
65+
* Fixed an edge case where `rtk.FlowBox` could layout with zero columns
66+
* Fixed `rtk.Spacer` failing to take into account padding when calculating its size
67+
* Perform a redraw when the mouse cursor leaves the `rtk.Window` to ensure widget draw functions that reference `rtk.Window.in_window` reflect the proper state visually
68+
* Fixed a bug where `rtk.Widget.cursor` was not being respected when long-pressing over a widget with `rtk.touchscroll` enabled
69+
* `rtk.Widget.onclick` no longer fires if `rtk.Widget.onlongpress` fires and its handler returns true to mark the event as handled
70+
* Fixed incorrect rendering of `rtk.Entry` background when its parent container's background changes
71+
* The `targetidx` parameter for `rtk.Container:reorder()` previously required offseting the index by 1 of the target was after the widget's current cell position, which is now fixed. Technically this is a breaking API change, but the previous semantics were extremely counterintuitive and this API was not widely used by scripts so this is being slipped in as a bug fix.
72+
* Fixed millisecond precision in `rtk.log` timestamps
73+
* Fixed some janky behavior that could occur during mouse cursor position restoration when `rtk.touchscroll` is enabled
2474

2575

0 commit comments

Comments
 (0)