IronicPickle

monitorUtils.lua

Feb 27th, 2020
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.21 KB | None | 0 0
  1. -- Exported table
  2. local M = {}
  3.  
  4. function M.write(output, text, x, y, centre, textColor, bgColor)
  5.     local prevTextColor = output.getTextColor()
  6.     local prevBgColor = output.getBackgroundColor()
  7.    
  8.     if(textColor) then
  9.         output.setTextColor(textColor)
  10.     end
  11.     if(bgColor) then
  12.         output.setBackgroundColor(bgColor)
  13.     end
  14.    
  15.     local len = text:len() - 2
  16.     if(centre == "centre") then
  17.         x = ( ( output.x - len ) / 2 ) + x
  18.     elseif(centre == "right") then
  19.         x = output.x - len - x - 1
  20.     elseif(centre == "left") then
  21.         x = 1 + x
  22.     end
  23.    
  24.     output.setCursorPos(x, y)
  25.     output.write(text)
  26.    
  27.     output.setTextColor(prevTextColor)
  28.     output.setBackgroundColor(prevBgColor)
  29.    
  30. end
  31.  
  32. function M.drawBox(output, x, y, dx, dy, filled, bgColor)
  33.     local prevBgColor = output.getBackgroundColor()
  34.     bgColor = bgColor or prevBgColor
  35.    
  36.     term.redirect(output)
  37.     if(filled) then
  38.         paintutils.drawFilledBox(
  39.             x, y, dx, dy, bgColor
  40.         )
  41.     else
  42.         paintutils.drawBox(
  43.             x, y, dx, dy, bgColor
  44.         )
  45.     end
  46.     term.redirect(term.native())
  47.     output.setBackgroundColor(prevBgColor)
  48. end
  49.  
  50. return M
Add Comment
Please, Sign In to add comment