summaryrefslogtreecommitdiff
path: root/Data/DefaultContent/Libraries/addons/addons/bluguide/ui/buttons.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Data/DefaultContent/Libraries/addons/addons/bluguide/ui/buttons.lua')
-rw-r--r--Data/DefaultContent/Libraries/addons/addons/bluguide/ui/buttons.lua119
1 files changed, 0 insertions, 119 deletions
diff --git a/Data/DefaultContent/Libraries/addons/addons/bluguide/ui/buttons.lua b/Data/DefaultContent/Libraries/addons/addons/bluguide/ui/buttons.lua
deleted file mode 100644
index 98c52ef..0000000
--- a/Data/DefaultContent/Libraries/addons/addons/bluguide/ui/buttons.lua
+++ /dev/null
@@ -1,119 +0,0 @@
-local texts = require('texts')
-
-local buttons = {}
-local buttonlist = {}
-
-function buttons.new(label, settings)
- label = label or ""
- settings = settings or {}
-
- settings.flags = settings.flags or {}
- settings.flags.draggable = false
-
- local button = {}
-
- button.left_click = settings.left_click
- button.hover_on = settings.hover_on
- button.hover_off = settings.hover_off
-
- button.text = texts.new(label, settings)
- button.destroy = function() buttons.destroy(button) end
-
- setmetatable(button, {__index = function(t, k)
- if t.text[k] ~= nil then
- return function(...)
- return t.text[k](t.text, ...)
- end
- end
- end })
-
- buttonlist[#buttonlist +1] = button
- return button
-end
-
-function buttons.destroy(me)
- for k, v in pairs(buttonlist) do
- if v == me then
- buttonlist[k] = nil
- end
- end
- me.text.destroy(me.text)
-end
-
-local mousemoved = true
-local ignorerelease = false
-
-windower.register_event('mouse', function(eventtype, x, y, delta, blocked)
- if blocked then
- return
- end
-
- -- Mouse drag
- if eventtype == 0 then
- mousemoved = true
-
- for _, button in pairs(buttonlist) do
- if type(button.hover_on) == "function" and type(button.hover_off) == "function" then
- if button.text:hover(x, y) then
- button:hover_on()
- else
- button:hover_off()
- end
- end
- end
-
- -- Mouse left click
- elseif eventtype == 1 then
- mousemoved = false
- for _, button in pairs(buttonlist) do
- if button.text:hover(x, y) then
- ignorerelease = true
- return true
- end
- end
- ignorerelease = false
-
- -- Mouse left release
- elseif eventtype == 2 then
- for _, button in pairs(buttonlist) do
- if button.text:hover(x, y) and button.text:visible() and not mousemoved and type(button.left_click) == "function" then
- button:left_click()
- return true
- end
- end
-
- if ignorerelease then
- return true
- end
- end
-
- return false
-end)
-
-return buttons
-
---Copyright © 2015, Anissa
---All rights reserved.
-
---Redistribution and use in source and binary forms, with or without
---modification, are permitted provided that the following conditions are met:
-
--- * Redistributions of source code must retain the above copyright
--- notice, this list of conditions and the following disclaimer.
--- * Redistributions in binary form must reproduce the above copyright
--- notice, this list of conditions and the following disclaimer in the
--- documentation and/or other materials provided with the distribution.
--- * Neither the name of bluGuide nor the
--- names of its contributors may be used to endorse or promote products
--- derived from this software without specific prior written permission.
-
---THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
---ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
---WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
---DISCLAIMED. IN NO EVENT SHALL ANISSA BE LIABLE FOR ANY
---DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
---(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
---LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
---ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
---(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
---SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file