diff --git a/README.md b/README.md index d86c1b9..1642bd5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ - [![](media/druid_logo.png)](https://insality.github.io/druid/) [![GitHub release (latest by date)](https://img.shields.io/github/v/release/insality/druid)](https://github.com/Insality/druid/releases) @@ -244,8 +243,6 @@ _You published your game and you using Druid? Note me!_ - Original idea by [AGulev](https://github.com/AGulev) - Assets from [Kenney](http://www.kenney.nl/) -**MIT** License - ## Issues and suggestions diff --git a/docs_md/02-creating_custom_components.md b/docs_md/02-creating_custom_components.md index 43c1cf7..9b93470 100644 --- a/docs_md/02-creating_custom_components.md +++ b/docs_md/02-creating_custom_components.md @@ -11,7 +11,6 @@ Every component is the children of Basic Druid component. Read the [basic compon Basic custom component template looks like this: ```lua -local const = require("druid.const") local component = require("druid.component") local M = component.create("my_component") @@ -20,11 +19,11 @@ local M = component.create("my_component") function M.init(self, ...) end --- Call only if exist interest: const.ON_UPDATE +-- Call only if exist interest: component.ON_UPDATE function M.update(self, dt) end --- Call only if exist interest: const.ON_INPUT or const.ON_INPUT_HIGH +-- Call only if exist interest: component.ON_INPUT or component.ON_INPUT_HIGH function M.on_input(self, action_id, action) end @@ -32,7 +31,7 @@ end function M.on_style_change(self, style) end --- Call only if exist interest: const.ON_MESSAGE +-- Call only if exist interest: component.ON_MESSAGE function M.on_message(self, message_id, message, sender) end diff --git a/docs_md/changelog.md b/docs_md/changelog.md index e827bb9..7a34090 100644 --- a/docs_md/changelog.md +++ b/docs_md/changelog.md @@ -136,16 +136,17 @@ Also check _component.template.lua_ what you can use for your own custom compone Desc -- Input component: rename field _selected_ to _is_selected_ (according to the docs) - Add EmmyLua annotations. See how to use it FAQ - Lang text now can be initialized without default locale id +- **Fix**: Input component: rename field _selected_ to _is_selected_ (according to the docs) - **#92** Setup repo for CI and unit tests. (Yea, successful build and tests badges!) +- **#102** __[BREAKING]__ Removed `component:increase_input_priority` component function. Use `component:set_input_priority` function instead. The bigger priority value processed first. The value 10 is default for Druid components, the 100 value is maximum priority for acquire input in _drag_ and _input_ components - **#103** Add `helper.centate_nodes` function. It can horizontal align several Box and Text nodes - **#105** Add `Input:select` and `Input:unselect` function. - **#106** Add `Input IS_UNSELECT_ON_RESELECT` style param. If true, it will be unselect input on click on input box, not only on outside click. +- **#108** Add component interests const to `component.lua` - **#116** You can pass Text component in Input component instead of text node - **#124** Add `Scroll:set_click_zone` function. This is just link to `Drag:set_click_zone` function inside scroll component. -- **#102** __[BREAKING]__ Removed `component:increase_input_priority` component function. Use `component:set_input_priority` function instead. The bigger priority value processed first. The value 10 is default for Druid components, the 100 value is maximum priority for acquire input in _drag_ and _input_ components -- Add constants for priorities: _const.PRIORITY_INPUT_, _const.PRIORITY_INPUT_HIGH_, _const.PRIORITY_INPUT_MAX_. -- __[BREAKING]__ If you use in you custom components interest: `component.ON_INPUT_HIGH` you should replace it with `const.PRIORITY_INPUT_HIGH` as third param, and place it with usual `component.ON_INPUT`. For example: _before:_ @@ -168,5 +169,6 @@ Desc - __[BREAKING]__ Add _SHIFT_POLICY_ for _Static_ and _Dynamic_ Grids. It mean how nodes will be shifted if you append data between nodes. There are `const.SHIFT.RIGHT`, `const.SHIFT.LEFT` and `const.SHIFT.NO_SHIFT`. -- Please check your `StaticGrid:remove` and `DynamicGrid:remove` functions - **Fix #86** A lot of event triggers on scroll inertia moving +- **Fix #101** Fix scroll to other node instead of swipe direction with scroll's points of intereset (without inert settings) - **Fix #118** Druid.scroll freezes if held in one place for a long time diff --git a/druid/base/hover.lua b/druid/base/hover.lua index 1fe9ddf..71a7d85 100644 --- a/druid/base/hover.lua +++ b/druid/base/hover.lua @@ -27,8 +27,8 @@ function Hover.init(self, node, on_hover_callback) self._is_hovered = false self._is_mouse_hovered = false - self._is_enabled = true + self._is_mobile = helper.is_mobile() self.on_hover = Event(on_hover_callback) self.on_mouse_hover = Event() @@ -41,7 +41,7 @@ function Hover.on_input(self, action_id, action) end -- Disable nil (it's mouse) hover or mobile platforms - if not action_id and helper.is_mobile() then + if self._is_mobile and not action_id then return false end diff --git a/druid/base/scroll.lua b/druid/base/scroll.lua index ee548c7..ea15148 100644 --- a/druid/base/scroll.lua +++ b/druid/base/scroll.lua @@ -544,7 +544,7 @@ function Scroll._check_points(self) local inert = self.inertion if not self._is_inert then if math.abs(inert.x) > self.style.POINTS_DEADZONE then - self:scroll_to_index(self.selected - helper.sign(inert.x)) + self:scroll_to_index(self.selected + helper.sign(inert.x)) return end if math.abs(inert.y) > self.style.POINTS_DEADZONE then diff --git a/druid/helper.lua b/druid/helper.lua index 6f9824f..f7f2fbe 100644 --- a/druid/helper.lua +++ b/druid/helper.lua @@ -5,8 +5,6 @@ local const = require("druid.const") local M = {} -local system_name = sys.get_sys_info().system_name - --- Text node or icon node can be nil local function get_text_width(text_node) if text_node then @@ -183,7 +181,8 @@ end --- Check if device is mobile (Android or iOS) -- @function helper..is_mobile function M.is_mobile() - return const.CURRENT_SYSTEM_NAME == const.OS.IOS or const.CURRENT_SYSTEM_NAME == const.OS.ANDROID + return const.CURRENT_SYSTEM_NAME == const.OS.IOS or + const.CURRENT_SYSTEM_NAME == const.OS.ANDROID end diff --git a/druid/styles/default/style.lua b/druid/styles/default/style.lua index 111d291..a71d210 100644 --- a/druid/styles/default/style.lua +++ b/druid/styles/default/style.lua @@ -65,9 +65,8 @@ M["scroll"] = { INERT_SPEED = 30, -- koef. of inert speed EXTRA_STRETCH_SIZE = 100, -- extra size in pixels outside of scroll (stretch effect) POINTS_DEADZONE = 20, -- Speed to check points of interests in no_inertion mode - - SCROLL_WHEEL_SPEED = 20, - + WHEEL_SCROLL_SPEED = 20, + WHEEL_SCROLL_INVERTED = false, SMALL_CONTENT_SCROLL = true, -- If true, content node with size less than view node size can be scrolled }