You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After that, select `Project ▸ Fetch Libraries` to update [library dependencies]((https://defold.com/manuals/libraries/#setting-up-library-dependencies)). This happens automatically whenever you open a project so you will only need to do this if the dependencies change without re-opening the project.
@@ -87,25 +87,25 @@ Here is full **Druid** components list.
87
87
88
88
| Name | Description | Example | <divstyle="width:200px">Preview</div> |
89
89
|------|-------------|---------|---------|
90
-
|**[Button](https://insality.github.io/druid/modules/Button.html)**| Logic over GUI Node. Handle the user click interactions: click, long click, double click, etc. |[Button Example](https://insality.github.io/druid/?example=ui_example_basic_button)| <imgsrc="media/preview/button.gif"width="200"height="100"> |
91
-
|**[Text](https://insality.github.io/druid/modules/Text.html)**| Logic over GUI Text. By default Text component fit the text inside text node size area with different adjust modes. |[Text Example](https://insality.github.io/druid/?example=ui_example_basic_text)| <imgsrc="media/preview/text.gif"width="200"height="100"> |
92
-
|**[Scroll](https://insality.github.io/druid/modules/Scroll.html)**| Logic over two GUI Nodes: input and content. Provides basic behaviour for scrollable content. |[Scroll Example](https://insality.github.io/druid/?example=ui_example_basic_scroll)| <imgsrc="media/preview/scroll.gif"width="200"height="100"> |
93
-
|**[Blocker](https://insality.github.io/druid/modules/Blocker.html)**| Logic over GUI Node. Don't pass any user input below node area size. |[Blocker Example](https://insality.github.io/druid/?example=ui_example_basic_blocker)| <imgsrc="media/preview/blocker.gif"width="200"height="100"> |
94
-
|**[Back Handler](https://insality.github.io/druid/modules/BackHandler.html)**| Call callback on user "Back" action. It's a Android back button or keyboard backspace key |[Back Handler Example](https://insality.github.io/druid/?example=ui_example_basic_back_handler)| <imgsrc="media/preview/back_handler.gif"width="200"height="100"> |
95
-
|**[Static Grid](https://insality.github.io/druid/modules/StaticGrid.html)**| Logic over GUI Node. Component to manage node positions with all equal node sizes. |[Static Gid Example](https://insality.github.io/druid/?example=ui_example_basic_grid)| <imgsrc="media/preview/static_grid.gif"width="200"height="100"> |
96
-
|**[Hover](https://insality.github.io/druid/modules/Hover.html)**| Logic over GUI Node. Handle hover action over node. For both: mobile touch and mouse cursor. |[Hover Example](https://insality.github.io/druid/?example=ui_example_basic_hover)| <imgsrc="media/preview/hover.gif"width="200"height="100"> |
97
-
|**[Swipe](https://insality.github.io/druid/modules/Swipe.html)**| Logic over GUI Node. Handle swipe gestures over node. |[Swipe Example](https://insality.github.io/druid/?example=ui_example_basic_swipe)| <imgsrc="media/preview/swipe.gif"width="200"height="100"> |
98
-
|**[Drag](https://insality.github.io/druid/modules/Drag.html)**| Logic over GUI Node. Handle drag input actions. Can be useful to make on screen controlls. |[Drag Example](https://insality.github.io/druid/?example=ui_example_basic_drag)| <imgsrc="media/preview/drag.gif"width="200"height="100"> |
99
-
|**[Data List](https://insality.github.io/druid/modules/DataList.html)**| Logic over Scroll and Grid components. Create only visible GUI nodes or components to make "infinity" scroll befaviour |[Data List Example](https://insality.github.io/druid/?example=ui_example_data_list_basic)| <imgsrc="media/preview/data_list.gif"width="200"height="100"> |
100
-
|**[Input](https://insality.github.io/druid/modules/Input.html)**| Logic over GUI Node and GUI Text (or Text component). Provides basic user text input. |[Input Example](https://insality.github.io/druid/?example=ui_example_basic_input)| <imgsrc="media/preview/input.gif"width="200"height="100"> |
101
-
|**[Lang text](https://insality.github.io/druid/modules/LangText.html)**| Logic over Text component to handle localization. Can be translated in real-time with `druid.on_language_change`|[Lang Text Example](https://insality.github.io/druid/?example=ui_example_window_language)| <imgsrc="media/preview/lang_text.gif"width="200"height="100"> |
102
-
|**[Progress](https://insality.github.io/druid/modules/Progress.html)**| Logic over GUI Node. Handle node size and scale to handle progress node size. |[Progress Example](https://insality.github.io/druid/?example=ui_example_basic_progress_bar)| <imgsrc="media/preview/progress.gif"width="200"height="100"> |
103
-
|**[Slider](https://insality.github.io/druid/modules/Slider.html)**| Logic over GUI Node. Handle draggable node with position restrictions. |[Slider Example](https://insality.github.io/druid/?example=ui_example_basic_slider)| <imgsrc="media/preview/slider.gif"width="200"height="100"> |
|**[Hotkey](https://insality.github.io/druid/modules/Hotkey.html)**| Allow to set callbacks for keyboard hotkeys with key modificators. |[Hotkey Example](https://insality.github.io/druid/?example=ui_example_basic_hotkey)| <imgsrc="media/preview/hotkey.gif"width="200"height="100"> |
106
-
|**[Layout](https://insality.github.io/druid/modules/Layout.html)**| Logic over GUI Node. Arrange nodes inside layout node with margin/paddings settings. |[Layout Example](https://insality.github.io/druid/?example=ui_example_layout_basic)| <imgsrc="media/preview/layout.gif"width="200"height="100"> |
107
-
|**[Rich Input](https://insality.github.io/druid/modules/RichInput.html)**| Logic over GUI Node and GUI Text (or Text component). Provides rich text input with different styles and text formatting. |[Rich Input Example](https://insality.github.io/druid/?example=ui_example_basic_rich_input)| <imgsrc="media/preview/rich_input.gif"width="200"height="100"> |
108
-
|**[Rich Text](https://insality.github.io/druid/modules/RichText.html)**| Logic over GUI Text. Provides rich text formatting with different styles and text formatting. |[Rich Text Example](https://insality.github.io/druid/?example=ui_example_basic_rich_text)| <imgsrc="media/preview/rich_text.gif"width="200"height="100"> |
90
+
|**[Button](/api/components/base/button_api.md)**| Logic over GUI Node. Handle the user click interactions: click, long click, double click, etc. |[Button Example](https://insality.github.io/druid/?example=ui_example_basic_button)| <imgsrc="media/preview/button.gif"width="200"height="100"> |
91
+
|**[Text](/api/components/base/text_api.md)**| Logic over GUI Text. By default Text component fit the text inside text node size area with different adjust modes. |[Text Example](https://insality.github.io/druid/?example=ui_example_basic_text)| <imgsrc="media/preview/text.gif"width="200"height="100"> |
92
+
|**[Scroll](/api/components/base/scroll_api.md)**| Logic over two GUI Nodes: input and content. Provides basic behaviour for scrollable content. |[Scroll Example](https://insality.github.io/druid/?example=ui_example_basic_scroll)| <imgsrc="media/preview/scroll.gif"width="200"height="100"> |
93
+
|**[Blocker](/api/components/base/blocker_api.md)**| Logic over GUI Node. Don't pass any user input below node area size. |[Blocker Example](https://insality.github.io/druid/?example=ui_example_basic_blocker)| <imgsrc="media/preview/blocker.gif"width="200"height="100"> |
94
+
|**[Back Handler](/api/components/base/back_handler_api.md)**| Call callback on user "Back" action. It's a Android back button or keyboard backspace key |[Back Handler Example](https://insality.github.io/druid/?example=ui_example_basic_back_handler)| <imgsrc="media/preview/back_handler.gif"width="200"height="100"> |
95
+
|**[Static Grid](/api/components/base/static_grid_api.md)**| Logic over GUI Node. Component to manage node positions with all equal node sizes. |[Static Gid Example](https://insality.github.io/druid/?example=ui_example_basic_grid)| <imgsrc="media/preview/static_grid.gif"width="200"height="100"> |
96
+
|**[Hover](/api/components/base/hover_api.md)**| Logic over GUI Node. Handle hover action over node. For both: mobile touch and mouse cursor. |[Hover Example](https://insality.github.io/druid/?example=ui_example_basic_hover)| <imgsrc="media/preview/hover.gif"width="200"height="100"> |
97
+
|**[Swipe](/api/components/base/swipe_api.md)**| Logic over GUI Node. Handle swipe gestures over node. |[Swipe Example](https://insality.github.io/druid/?example=ui_example_basic_swipe)| <imgsrc="media/preview/swipe.gif"width="200"height="100"> |
98
+
|**[Drag](/api/components/base/drag_api.md)**| Logic over GUI Node. Handle drag input actions. Can be useful to make on screen controlls. |[Drag Example](https://insality.github.io/druid/?example=ui_example_basic_drag)| <imgsrc="media/preview/drag.gif"width="200"height="100"> |
99
+
|**[Data List](/api/components/extended/data_list_api.md)**| Logic over Scroll and Grid components. Create only visible GUI nodes or components to make "infinity" scroll befaviour |[Data List Example](https://insality.github.io/druid/?example=ui_example_data_list_basic)| <imgsrc="media/preview/data_list.gif"width="200"height="100"> |
100
+
|**[Input](/api/components/extended/input_api.md)**| Logic over GUI Node and GUI Text (or Text component). Provides basic user text input. |[Input Example](https://insality.github.io/druid/?example=ui_example_basic_input)| <imgsrc="media/preview/input.gif"width="200"height="100"> |
101
+
|**[Lang text](/api/components/extended/lang_text_api.md)**| Logic over Text component to handle localization. Can be translated in real-time with `druid.on_language_change`|[Lang Text Example](https://insality.github.io/druid/?example=ui_example_window_language)| <imgsrc="media/preview/lang_text.gif"width="200"height="100"> |
102
+
|**[Progress](/api/components/extended/progress_api.md)**| Logic over GUI Node. Handle node size and scale to handle progress node size. |[Progress Example](https://insality.github.io/druid/?example=ui_example_basic_progress_bar)| <imgsrc="media/preview/progress.gif"width="200"height="100"> |
103
+
|**[Slider](/api/components/extended/slider_api.md)**| Logic over GUI Node. Handle draggable node with position restrictions. |[Slider Example](https://insality.github.io/druid/?example=ui_example_basic_slider)| <imgsrc="media/preview/slider.gif"width="200"height="100"> |
|**[Hotkey](/api/components/extended/hotkey_api.md)**| Allow to set callbacks for keyboard hotkeys with key modificators. |[Hotkey Example](https://insality.github.io/druid/?example=ui_example_basic_hotkey)| <imgsrc="media/preview/hotkey.gif"width="200"height="100"> |
106
+
|**[Layout](/api/components/extended/layout_api.md)**| Logic over GUI Node. Arrange nodes inside layout node with margin/paddings settings. |[Layout Example](https://insality.github.io/druid/?example=ui_example_layout_basic)| <imgsrc="media/preview/layout.gif"width="200"height="100"> |
107
+
|**[Rich Input](/api/components/custom/rich_input_api.md)**| Logic over GUI Node and GUI Text (or Text component). Provides rich text input with different styles and text formatting. |[Rich Input Example](https://insality.github.io/druid/?example=ui_example_basic_rich_input)| <imgsrc="media/preview/rich_input.gif"width="200"height="100"> |
108
+
|**[Rich Text](/api/components/custom/rich_text_api.md)**| Logic over GUI Text. Provides rich text formatting with different styles and text formatting. |[Rich Text Example](https://insality.github.io/druid/?example=ui_example_basic_rich_text)| <imgsrc="media/preview/rich_text.gif"width="200"height="100"> |
-**Druid** processes input in a stack-based manner. The most recently created button will be checked first. Create your input GUI components from back to front.
@@ -150,6 +151,7 @@ Each example page provides a direct link to the corresponding example code, maki
150
151
151
152
Or refer directly to the [**example folder**](https://github.com/Insality/druid/tree/develop/example) for code examples demonstrating how to use **Druid**.
152
153
154
+
153
155
## Documentation
154
156
155
157
You can find the full **Druid** functions at [Quick API Reference](api/quick_api_reference.md)
@@ -178,6 +180,8 @@ For a complete history of the development of **Druid**, please check the [change
178
180
179
181
## 👏 Contributors
180
182
183
+
Original idea by [AGulev](https://github.com/AGulev)
184
+
181
185
Special thanks to all the contributors who have helped make **Druid** better!
Copy file name to clipboardExpand all lines: wiki/changelog.md
+15-6Lines changed: 15 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -586,26 +586,35 @@ Hello! Druid 1.1 is here! It's brings a lot of new features and improvements. Le
586
586
587
587
**Changelog 1.1**
588
588
- Remove external annotations, remove old HTML API page
589
-
- Fully annotated code and new API README page (hope more comfortable to use)
589
+
- Fully annotated code and new API README page
590
590
- Widgets here!
591
591
- A replacement for `custom_components`. Basically it's the same, but `widgets` contains no boilerplate code and more convinient to use.
592
592
- Now I can include a kind of `widgets` with Druid and you can use it almost instantly in your project.
593
-
-Removed`druid.register()`. Now all components are available by default and available with `self.druid:new_*` functions
593
+
-Deprecated`druid.register()`. Now all Druid's components are available by default and available with `self.druid:new_*` functions
594
594
- This means the Druid will be bigger in size, but it's much comfortable to use
595
-
- In case you want to delete components you not using, you can do it in fork in `druid.lua` file
595
+
- In case you want to delete components you are not using, you can do it in fork in `druid.lua` file
596
+
- Read [optimize_druid_size.md](optimize_druid_size.md) to learn how to reduce the size of the Druid library if you need
596
597
- Any additional widgets, color library will be not included until you use it
597
-
- Remove `druid.event`, replaced with `defold-event` library. Now it required to double dependency to use Druid.
598
-
- Add Druid UI kit, contains atlas so now you can use Druid GUI files in your projects.
598
+
- Remove `druid.event`, replaced with `defold-event` library. Now it required to two dependencies to use Druid.
599
+
- This allow to make more flexible features, like shaders and sync init between script and gui_script in various cases.
600
+
- Use 11+ version of `defold-event` library: `https://github.com/Insality/defold-event/archive/refs/tags/11.zip`
601
+
- Add Druid UI Kit, contains atlas so now you can use Druid GUI files in your projects.
599
602
- Contains mostly basic shapes for the UI and can contains several icons. Atlas is a small, only `128x128` size and will be included in build only if you use it.
603
+
- A long waited feature which allows try or just use some Druid GUI features almost instantly.
604
+
-[System]: Huge code refactoring and improvements. The goal is to raise maintainability and readability of the code to help people to contribute to the Druid.
605
+
- Add [CONTRIBUTING.md](/CONTRIBUTING.md) file with various information to help people to contribute to the Druid.
606
+
- All Druid Examples was migrated to use Widgets instead of Custom Components.
600
607
-[Text]: Add `trim_left` and `scale_then_trim_left` text adjust modes
601
-
-[Text]: Add `set_text` function instead `set_to` (now it deprecated)
608
+
-[Text]: Add `set_text` function instead `set_to` (the `set_to` now deprecated)
602
609
- Add `druid.color` module to work with colors and palettes
603
610
- Add `container` component to handle more complex adaptive layouts
611
+
- The container component is still in a development and I expected the various changes in the future
604
612
-[Shaders] Add repeat, hard image stencil and world gui materials
605
613
-[Widget] Add widget `mini_graph`
606
614
-[Widget] Add widget `memory_panel`
607
615
-[Widget] Add widget `fps_panel`
608
616
-[Widget] Add widget `properties_panel`
617
+
- A widget where you can add different properties to the panel to make easy edit/debug panels
0 commit comments