mirror of
https://github.com/IgorTimofeev/MineOS.git
synced 2025-12-24 13:02:49 +01:00
Больше анимаций
This commit is contained in:
parent
446e2942e1
commit
57e1fa7731
@ -39,15 +39,15 @@
|
||||
|
||||
О библиотеке
|
||||
======
|
||||
GUI - многофункциональная графическая библиотека, отлаженная под использование маломощными компьютерами с максимально возможной производительностью. Она поддерживает множество элементов интерфейса: от привычных кнопок, слайдеров, текстовых полей и картинок до графиков и инструментов работы с цветовыми режимами. Быстродействие достигается за счет использования двойной буферизации и сложных группировочных алгоритмов.
|
||||
GUI - многофункциональная графическая библиотека, отлаженная под использование маломощными компьютерами с максимально возможной производительностью и малым расходом оперативной памяти. С ее помощью можно реализовать самые извращенные фантазии: от банальных кнопок, слайдеров и графиков до сложных анимированных интерфейсов. Быстродействие библиотеки достигается за счет использования двойной буферизации и сложных группировочных алгоритмов.
|
||||
|
||||
К примеру, моя операционная система и среда разработки полностью реализованы методами данной библиотеки:
|
||||
К примеру, моя операционная система, среда разработки и 3D-приложение полностью реализованы методами данной библиотеки:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
Пусть синтаксис и обилие текста вас не пугают, в документации имеется множество наглядных иллюстрированных примеров и практических задач.
|
||||
Пусть обилие текста и вас не пугает, в документации имеется множество наглядных иллюстрированных примеров и практических задач.
|
||||
|
||||
Установка
|
||||
======
|
||||
@ -87,6 +87,7 @@ GUI.**contextMenu**( x, y ): *table* contextMenu
|
||||
| ------ | ------ | ------ |
|
||||
| *function* | :**addItem**( *string* text, *boolean* disabled, *string* shortcut, *int* color )| Добавить в контекстное меню элемент с указанными параметрами. При параметре disabled элемент не будет реагировать на клики мышью. Каждый элемент может иметь собственный callback-метод .**onTouch** для последующей обработки данных |
|
||||
| *function* | :**addSeparator**()| Добавить в контекстное меню визуальный разделитель |
|
||||
| *function* | :**addSubMenu**(*string* text): *table* contextMenu| Добавить в данное контекстное меню другое контекстное меню. Возвращаемый методом объект меню самостоятелен и поддерживает все описанные выше методы | |
|
||||
|
||||
Пример реализации контекстного меню:
|
||||
|
||||
@ -94,14 +95,21 @@ GUI.**contextMenu**( x, y ): *table* contextMenu
|
||||
local buffer = require("doubleBuffering")
|
||||
local GUI = require("GUI")
|
||||
|
||||
buffer.clear(0x2D2D2D)
|
||||
buffer.draw(true)
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
local contextMenu = GUI.contextMenu(2, 2)
|
||||
contextMenu:addItem("New")
|
||||
contextMenu:addItem("Open").onTouch = function()
|
||||
-- Do something to open file or whatever
|
||||
end
|
||||
|
||||
local subMenu = contextMenu:addSubMenu("Open with")
|
||||
subMenu:addItem("Explorer.app")
|
||||
subMenu:addItem("Viewer.app")
|
||||
subMenu:addItem("Finder.app")
|
||||
subMenu:addSeparator()
|
||||
subMenu:addItem("Browse...")
|
||||
|
||||
contextMenu:addSeparator()
|
||||
contextMenu:addItem("Save", true)
|
||||
contextMenu:addItem("Save as")
|
||||
@ -109,12 +117,17 @@ contextMenu:addSeparator()
|
||||
for i = 1, 25 do
|
||||
contextMenu:addItem("Do something " .. i)
|
||||
end
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
buffer.clear(0x2D2D2D)
|
||||
buffer.draw(true)
|
||||
contextMenu:show()
|
||||
```
|
||||
|
||||
Результат:
|
||||
|
||||

|
||||

|
||||
|
||||
GUI.**error**( text )
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user