1
0
Fork 0
forked from len0rd/rockbox

Revert "Rocklua -- Extend / Fix rliImage"

This reverts commit 2daec3d3c3.

Change-Id: I53ea1f491e3c6d6fb759f426f203f927bd26b1e9
This commit is contained in:
William Wilgus 2018-07-22 18:43:04 +02:00
parent 2daec3d3c3
commit ef210b5fe4
10 changed files with 92 additions and 3032 deletions

View file

@ -1,114 +0,0 @@
--[[ Lua Timer functions
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) 2017 William Wilgus
*
* 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.
*
****************************************************************************/
]]
--[[ Exposed Functions
_timer.active
_timer.check
_timer.split
_timer.start
_timer.stop
]]
local _timer = {} do
--internal constants
local _NIL = nil -- _NIL placeholder
-- newer versions of lua use table.unpack
local unpack = unpack or table.unpack
--stores time elapsed at call to split; only vaid for unique timers
local function split(index)
if type(index) ~= "table" then return end
index[#index + 1] = rb.current_tick() - _timer[index]
end
-- starts a new timer, if index is not specified a unique index is returned
-- numeric or string indices are valid to use directly for permanent timers
-- in this case its up to you to make sure you keep the index unique
local function start(index)
if index == _NIL then
---if you have _timer.start create timer it returns a unique Id which
-- then has the same methods of _timer :start :stop :check :split
index = setmetatable({}, {__index = _timer})
end
if _timer[index] == _NIL then
_timer[index] = rb.current_tick()
end
return index
end
-- returns time elapsed in centiseconds, assigning bCheckonly keeps timer active
local function stop(index, bCheckonly)
local time_end = rb.current_tick()
index = index or 0
if not _timer[index] then
return 0
else
local time_start = _timer[index]
if not bCheckonly then _timer[index] = _NIL end -- destroy timer
if type(index) ~= "table" then
return time_end - time_start
else
return time_end - time_start, unpack(index)
end
end
end
-- returns time elapsed in centiseconds, assigning to bUpdate.. updates timer
local function check(index, bUpdate)
local elapsed = stop(index, true)
if bUpdate ~= _NIL and index then
_timer[index] = rb.current_tick()
end
return elapsed
end
-- returns table of active timers
local function active()
local t_active = {}
local n = 0
for k,v in pairs(_timer) do
if type(_timer[k]) ~= "function" then
n = n + 1
t_active[n]=(k)
end
end
return n, t_active
end
-- expose functions to the outside through _timer table
_timer.active = active
_timer.check = check
_timer.split = split
_timer.start = start
_timer.stop = stop
-- allows a call to _timer.start() by just calling _timer()
_timer = setmetatable(_timer,{__call = function(t, i) return start(i) end})
end -- timer functions
return _timer