Merge branch 'develop' into 117-update-examples

This commit is contained in:
Insality 2021-04-04 11:44:27 +03:00
commit 995b16ad37
7 changed files with 14 additions and 18 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
}