Больше анимаций

This commit is contained in:
Igor Timofeev 2017-08-09 11:31:18 +03:00
parent 446e2942e1
commit 57e1fa7731

View File

@ -39,15 +39,15 @@
О библиотеке
======
GUI - многофункциональная графическая библиотека, отлаженная под использование маломощными компьютерами с максимально возможной производительностью. Она поддерживает множество элементов интерфейса: от привычных кнопок, слайдеров, текстовых полей и картинок до графиков и инструментов работы с цветовыми режимами. Быстродействие достигается за счет использования двойной буферизации и сложных группировочных алгоритмов.
GUI - многофункциональная графическая библиотека, отлаженная под использование маломощными компьютерами с максимально возможной производительностью и малым расходом оперативной памяти. С ее помощью можно реализовать самые извращенные фантазии: от банальных кнопок, слайдеров и графиков до сложных анимированных интерфейсов. Быстродействие библиотеки достигается за счет использования двойной буферизации и сложных группировочных алгоритмов.
К примеру, моя операционная система и среда разработки полностью реализованы методами данной библиотеки:
К примеру, моя операционная система, среда разработки и 3D-приложение полностью реализованы методами данной библиотеки:
![Imgur](http://i.imgur.com/U1Jybei.png?1)
![Imgur](http://i.imgur.com/hTFGCqj.gif)
![Imgur](http://i.imgur.com/RPozLwZ.png?1)
![Imgur](http://i.imgur.com/tHAiTmF.gif)
Пусть синтаксис и обилие текста вас не пугают, в документации имеется множество наглядных иллюстрированных примеров и практических задач.
Пусть обилие текста и вас не пугает, в документации имеется множество наглядных иллюстрированных примеров и практических задач.
Установка
======
@ -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()
```
Результат:
![Imgur](http://i.imgur.com/UejZUwv.png)
![Imgur](http://i.imgur.com/A9NCEdc.gif)
GUI.**error**( text )
------------------------------------------------------------------------