Something went wrong. Try again.
A modern, network-enabled music player platform built on Rockbox technology. rockboxd.tsiry-sandratraina.com
rust deno navidrome airplay libadwaita zig mpris snapcast mpd rockbox audio subsonic
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116--[[ __________ __ ___. Open \______ \ ____ ____ | | _\_ |__ _______ ___ Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ \/ \/ \/ \/ \/
Port of test_viewports.c to Lua
Copyright (C) 2009 by Maurus Cuelenaere
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.
]]--
-- TODO: outsource thisrb.DRMODE_SOLID = 3rb.LCD_BLACK = rb.lcd_rgbpack(0, 0, 0)rb.LCD_WHITE = rb.lcd_rgbpack(255, 255, 255)rb.LCD_DEFAULT_FG = rb.LCD_WHITErb.LCD_DEFAULT_BG = rb.LCD_BLACK
BGCOLOR_1 = rb.lcd_rgbpack(255,255,0)BGCOLOR_2 = rb.lcd_rgbpack(0,255,0)FGCOLOR_1 = rb.lcd_rgbpack(0,0,255)
local vp0 ={ x = 0, y = 0, width = rb.LCD_WIDTH, height = 20, font = rb.FONT_UI, drawmode = rb.DRMODE_SOLID, fg_pattern = rb.LCD_DEFAULT_FG, bg_pattern = BGCOLOR_1}
local vp1 ={ x = rb.LCD_WIDTH / 10, y = 20, width = rb.LCD_WIDTH / 3, height = rb.LCD_HEIGHT / 2, font = rb.FONT_SYSFIXED, drawmode = rb.DRMODE_SOLID, fg_pattern = rb.LCD_DEFAULT_FG, bg_pattern = rb.LCD_DEFAULT_BG};
local vp2 ={ x = rb.LCD_WIDTH / 2, y = 40, width = rb.LCD_WIDTH / 3, height = (rb.LCD_HEIGHT / 2), font = rb.FONT_UI, drawmode = rb.DRMODE_SOLID, fg_pattern = FGCOLOR_1, bg_pattern = BGCOLOR_2};
local vp3 ={ x = rb.LCD_WIDTH / 4, y = (5 * rb.LCD_HEIGHT) / 8, width = rb.LCD_WIDTH / 2, height = (rb.LCD_HEIGHT / 4), font = rb.FONT_SYSFIXED, drawmode = rb.DRMODE_SOLID, fg_pattern = rb.LCD_BLACK, bg_pattern = rb.LCD_WHITE};
rb.set_viewport(vp0)rb.clear_viewport()rb.lcd_puts_scroll(0,0,"Viewport testing plugin - this is a scrolling title")
rb.set_viewport(vp1);rb.clear_viewport();
for i = 0, 3 do rb.lcd_puts_scroll(0,i,string.format("Left text, scrolling_line %d",i));end
rb.set_viewport(vp2);rb.clear_viewport();for i = 0, 3 do rb.lcd_puts_scroll(1,i,string.format("Right text, scrolling line %d",i));end
local y = -10for i = -10, vp2.width + 10, 5 do rb.lcd_drawline(i, y, i, vp2.height - y);end
rb.set_viewport(vp3);rb.clear_viewport();for i = 1, 2 do rb.lcd_puts_scroll(2,i,string.format("Bottom text, a scrolling line %d",i));endrb.lcd_puts_scroll(4,3,"Short line")rb.lcd_update()
rb.button_get(true)
rb.set_viewport(nil)