diff options
| -rw-r--r-- | main.lua | 31 | ||||
| -rw-r--r-- | panel.lua | 11 | ||||
| -rw-r--r-- | startmenu.lua | 2 | ||||
| -rw-r--r-- | window.lua | 74 |
4 files changed, 111 insertions, 7 deletions
@@ -2,6 +2,7 @@ function love.load() require "window" require "panel" require "startmenu" + love.graphics.setDefaultFilter("nearest", "nearest") sys = {} sys.width = love.graphics.getWidth() sys.height = love.graphics.getHeight() @@ -26,19 +27,25 @@ function love.load() panel.s.width = 65 panel.s.height = 20 panel.s.activate = false - love.graphics.setNewFont("fonts/pressstart.ttf", 12) + love.graphics.setNewFont() + pressstart = love.graphics.newFont("fonts/pressstart.ttf", 12) + pressstart:setFilter("nearest", "nearest") + love.graphics.setFont(pressstart) test = false win = {} win[1] = {} win[1].x = 100 win[1].y = 100 - win[1].w = 300 - win[1].h = 300 + win[1].w = 250 + win[1].h = 400 win[1].px = win[1].x win[1].py = win[1].y win[1].ex = false win[1].cvs = love.graphics.newCanvas(win[1].w, win[1].h) win[1].fd = false + win[1].s = 1 + win[1].min = false + win[1].miny = 0 end function love.update(dt) sys.mouse.x = love.mouse.getX() @@ -53,6 +60,13 @@ function love.update(dt) end end end + if love.keyboard.isDown("c") == true and win[1].ex == true then + win[1].ex = false + win[1].s = 0.2 + end + if love.keyboard.isDown("u") == true and win[1].min == true then + win[1].min = false + end end function love.mousepressed(x, y, button) sys.mouse.p.x = x @@ -63,9 +77,12 @@ function love.mousereleased(x, y, button) sys.mouse.p.p = false end function love.draw() - drawStart() - drawWindow(1, win[1].x, win[1].y, win[1].w, win[1].h, "Chat") - if test == true then - love.graphics.print("IT WORKS " .. sys.mouse.p.x, 100, 100) + if win[1].ex == true and win[1].s == 0 then + elseif win[1].ex == false or win[1].s ~= 0 then + drawWindow(1, win[1].x, win[1].y, win[1].w, win[1].h, "Chat") end + drawStart() + --if test == true then + -- love.graphics.print("IT WORKS " .. sys.mouse.p.x, 100, 100) + --end end diff --git a/panel.lua b/panel.lua new file mode 100644 index 0000000..9a113ca --- /dev/null +++ b/panel.lua @@ -0,0 +1,11 @@ +function drawStart() + love.graphics.setColor(192, 192, 192) + love.graphics.rectangle("fill", panel.x, panel.y, panel.width, panel.height) + love.graphics.setColor(220, 220, 220) + love.graphics.setLineWidth(2) + love.graphics.line(panel.x, panel.y, panel.width, panel.y) + love.graphics.setColor(150, 150, 150) + love.graphics.rectangle("line", panel.s.x, panel.s.y, panel.s.width, panel.s.height) + love.graphics.setColor(70,70,70) + love.graphics.print("START", panel.s.x+4, panel.s.y+7) +end diff --git a/startmenu.lua b/startmenu.lua new file mode 100644 index 0000000..9811439 --- /dev/null +++ b/startmenu.lua @@ -0,0 +1,2 @@ +function drawMenu() +end diff --git a/window.lua b/window.lua new file mode 100644 index 0000000..9bf815e --- /dev/null +++ b/window.lua @@ -0,0 +1,74 @@ +function drawWindow(id, x, y, w, h, t) + love.graphics.setCanvas(win[1].cvs) + love.graphics.setColor(192, 192, 192) + love.graphics.rectangle("fill", 0, 0, w, h) --Box + love.graphics.setLineWidth(4) + love.graphics.setColor(220, 220, 220) + love.graphics.line(0, y+h, 0, 0, 0+w, 0) --BoxLight + love.graphics.setColor(150,150,150) + love.graphics.line(0, 0+h, 0+w, 0+h, 0+w, 0) --BoxShadow + love.graphics.setColor(0,0,120) + love.graphics.rectangle("fill", 0+3, 0+3, w-7, 20) --Blue Bar + love.graphics.setColor(192, 192, 192) + love.graphics.rectangle("fill", 0+w-22, 0+5, 16, 16) --X Button + love.graphics.setColor(70,70,70) + love.graphics.print("X", 0+w-19, 0+10) + love.graphics.setColor(192, 192, 192) + love.graphics.rectangle("fill", 0+w-40, 0+5, 16, 16) --Minimize Button + love.graphics.setColor(70,70,70) + love.graphics.setLineWidth(3) + love.graphics.line(0+w-37, 0+13, 0+w-37+10, 0+13) + love.graphics.setColor(220, 220, 220) + love.graphics.print(t, 0+6, 0+9) --Title + love.graphics.setCanvas() + if sys.mouse.p.p == true and sys.mouse.p.x >= x+2 and sys.mouse.p.x <= (x+2)+(w-44) then + if sys.mouse.p.y >= y+2 and sys.mouse.p.y <= y+22 then + sys.mouse.drag = true + test = true + end + end + if sys.mouse.p.p == false then + sys.mouse.drag = false + win[id].px = win[id].x + win[id].py = win[id].y + end + if sys.mouse.drag == true and win[id].min == false and win[id].ex == false then + win[id].x = win[id].px + (sys.mouse.x - sys.mouse.p.x) + win[id].y = win[id].py + (sys.mouse.y - sys.mouse.p.y) + end + if sys.mouse.p.p == true and sys.mouse.p.x >= x+w-22 and sys.mouse.p.x <= (x+w-22)+16 then + if sys.mouse.drag == false and sys.mouse.p.y >= y+5 and sys.mouse.p.y <= (y+5)+16 then + win[id].ex = true + end + end + if win[id].ex == true and win[id].s ~= 0 then + win[id].s = win[id].s - 0.2 + elseif win[id].ex == false and win[id].s ~= 0 then + win[id].s = win[id].s + 0.2 + end + if win[id].s <= 0 then + win[id].s = 0 + elseif win[id].s >= 1 then + win[id].s = 1 + end + if win[id].min == false and sys.mouse.p.p == true and sys.mouse.p.x >= x+w-40 and sys.mouse.p.x <= (x+w-40)+16 then + if sys.mouse.drag == false and sys.mouse.p.y >= y+5 and sys.mouse.p.y <= (y+5)+16 then + win[id].min = true + end + end + if win[id].min == true and win[id].miny < 800 then + win[id].y = win[id].y + 100 + win[id].miny = win[id].miny + 100 + end + if win[id].miny > 800 then + win[id].miny = 800 + end + if win[id].min == false and win[id].miny > 0 then + win[id].y = win[id].y - 100 + win[id].miny = win[id].miny - 100 + end + if win[id].miny < 0 then + win[id].miny = 0 + end + love.graphics.draw(win[id].cvs, win[id].x, win[id].y, 0, win[id].s) +end |
