require "popup" menu = { current_x = 0, init = function() end, draw = function() view.origin(0,0) view.clip() draw.rectf(0,0,160,7,23) draw.hline(0,7,160,16) menu.current_x = 1 menu.option("FILE") popup.create("FILE", 1, 8) popup.addOption("FILE", "Save", function() rooms.save() editor.modified=false end) popup.addOption("FILE", "Quit", editor.quit) menu.option("VIEW") popup.create("VIEW", 1, 8) popup.addOption("VIEW", "Background", function() rooms.toggle_visibility(LAYER_BACKGROUND) end) popup.addOption("VIEW", "Shadows", function() rooms.toggle_visibility(LAYER_SHADOWS) end) popup.addOption("VIEW", "Foreground", function() rooms.toggle_visibility(LAYER_FOREGROUND) end) popup.addOption("VIEW", "Sprites", function() rooms.toggle_visibility(LAYER_SPRITES) end) menu.option("EDIT") popup.create("EDIT", 1, 8) popup.addOption("EDIT", "Background", function() editor.layer=LAYER_BACKGROUND end) popup.addOption("EDIT", "Foreground", function() editor.layer=LAYER_FOREGROUND end) --popup.addOption("EDIT", "Sprites", function() rooms.toggle_visibility(LAYER_SPRITES) end) menu.option("TOOLS") if editor.modified then draw.text("*",160-5,1,8) end end, option = function(label) local next_x = menu.current_x + (#label + 2)*4 local mx, my = mouse.pos() if my < 8 and mx >= menu.current_x and mx < next_x then draw.rectf(menu.current_x, 0, next_x-menu.current_x, 7, 21) if mouse.down(mouse.LEFT) then mouse.discard() popup.show(label) end end draw.text(label,menu.current_x+4,1,28) menu.current_x = next_x end }