I just published 0.9.2-SNAPSHOT and would love to ...
# doodle
n
I just published 0.9.2-SNAPSHOT and would love to get some feedback before a full release. You can try it out by pointing to `maven { url = uri("`https://oss.sonatype.org/content/repositories/snapshots`") }` Here's what's included so far... New Menu Control The new
Menu
control is a
View
that contains a vertical list of interactive items. These items notify whenever the user interacts with them using a pointer or the keyboard. This control support a couple types of action items and one that shows a new "sub" menu when the user interacts with it. You specify the contents of a
Menu
using the
MenuFactory
, which provides a declarative DSL for defining the structure and behavior of Menus.
Copy code
val menu = menus(close = { /* close menu */ }) {
    menu("Sub menu") {
        prompt   ("Prompt"      ) { /* handle */ }
        separator(              )
        action   ("Do something") { /* handle */ }
        menu     ("Sub-sub menu") {
            action   ("Some action"   ) { /* handle */ }
            separator(                )
            action   ("Another action") { /* handle */ }
        }
    }
    action("Execute action") { /* handle */ }
}
TextFields now expose a
purpose
property
This new property provides a way to specify the use-case for a TextField, which allows its behavior to change rendering or what keyboard to show on mobile.
Copy code
val textField = TextField().apply {
  purpose = Email
}
Unmanaged Scroll on Browser
NativeScrollPanelBehavior
(for Browser) now takes a parameter that indicates whether it should use
managedScrolling
. Managed scrolling is what Doodle has done for a while now. It lets the framework directly handle positioning the
ScrollPanel
contents as the user scrolls. This is very powerful and flexible; but it relies on the browser invoking the onscroll event at a high framerate to avoid lag. Unfortunately this isn't always the case. Mobile WebKit does not deliver these events fast enough to make it smooth. So developer can choose to disable this behavior via the new flag. APIs • Deprecating previous types in
<http://io.nacular.doodle.controls.menu|io.nacular.doodle.controls.menu>
PathIcon
can now be created with a
Stroke
and
Paint
, making it more customizable. • Helper for creating inset
Rectangle
Fixes | Improvements • General ◦ Fixing many build warnings ◦ Right-left issue for popups and
BasicDropdownBehavior
◦ Enabled parallel builds ◦ Edge case in
View
to/from absolute ◦
BasicDropdownBehavior
and
BasicSpinnerBehavior
now use rounded joints/end-caps for their arrow paths ◦ New tests for
RealGraphicsSurface
View index and
zOrder
◦ New tests for
PopupManagerImpl
◦ New tests for
HorizontalFlowLayout
• Browser ◦ Context menu is now suppressed if the pointer pressed event is consumed. #56 ◦ Incorrect default font-weight in global styles ◦ Display no longer sets a background color when filled w/
Transparent
zOrder
now behaves as it should: only affecting ordering within a container. It also no longer allows Views to render above popups. #53 ◦
zOrder
no longer affects how popups are displayed ◦ Issue where multiple shadows not rendered properly by Webkit Versions • Mockk -> 1.13.5 • Gradle -> 8.0.2 • LogBack -> 1.4.7
alphabet white d 1