diff --git a/assets/textures/clipboard.png b/assets/textures/clipboard.png new file mode 100644 index 0000000..24f2f10 Binary files /dev/null and b/assets/textures/clipboard.png differ diff --git a/assets/textures/screenshot.png b/assets/textures/screenshot.png new file mode 100644 index 0000000..bb56f42 Binary files /dev/null and b/assets/textures/screenshot.png differ diff --git a/assets/textures/swap.png b/assets/textures/swap.png new file mode 100644 index 0000000..3df04b9 Binary files /dev/null and b/assets/textures/swap.png differ diff --git a/src/button.lua b/src/button.lua index 4b13ece..b78f999 100644 --- a/src/button.lua +++ b/src/button.lua @@ -1,5 +1,11 @@ local self = {} +local icon = { + clipboard = love.graphics.newImage('assets/textures/clipboard.png'), + screenshot = love.graphics.newImage('assets/textures/screenshot.png'), + swap = love.graphics.newImage('assets/textures/swap.png'), +} + local buttons = {} function self.get(index) @@ -40,6 +46,7 @@ function self.createButtons() name = 'clipboard', displayname = 'Copy to Clipboard', tooltip = 'Copy to Clipboard', + icon = 'clipboard', func = function() local s = '' @@ -122,6 +129,7 @@ function self.createButtons() name = 'screenshot', displayname = 'Screenshot', tooltip = 'Take a screenshot', + icon = 'screenshot', func = function() screenshot = true screenshotCanvas = love.graphics.newCanvas() @@ -129,6 +137,21 @@ function self.createButtons() }) end + if mode == modes.mix or mode == modes.multiply then + insertButton(s, { + x = outerpadding + dropdownWidth * 2 + padding, + y = outerpadding + fontHeight/2 - padding/2, + size = padding, + name = 'swap', + displayname = 'Swap', + icon = 'swap', + func = function() + dropdown.swap('ease1', 'ease2') + createUI() + end + }) + end + buttons = s end @@ -171,6 +194,11 @@ function self.render() love.graphics.rectangle('fill', x, y, w, h) love.graphics.setColor(1, 1, 1, 1) love.graphics.rectangle('line', x, y, w, h) + + if v.icon and icon[v.icon] then + local icon = icon[v.icon] + love.graphics.draw(icon, x, y, 0, w / icon:getWidth(), h / icon:getHeight()) + end end end diff --git a/src/dropdown.lua b/src/dropdown.lua index 1bb96b9..6474c12 100644 --- a/src/dropdown.lua +++ b/src/dropdown.lua @@ -71,6 +71,13 @@ function self.kselected(key) end end +function self.swap(key, key2) + local a, b = self.kget(key), self.kget(key2) + local s = a.selected + a.selected = b.selected + b.selected = s +end + local dropdownId local function insertDropdown(tab, f) dropdownId = dropdownId + 1