+ letterboxing to filterwheel
This commit is contained in:
parent
2260528bf5
commit
bed2ede94c
|
@ -3,6 +3,8 @@ local Easing = require('common.easings');
|
|||
local SongSelectHeader = require('components.headers.songSelectHeader')
|
||||
local Footer = require('components.footer');
|
||||
|
||||
local backgroundImage = gfx.CreateSkinImage("bg_pattern.png", gfx.IMAGE_REPEATX | gfx.IMAGE_REPEATY)
|
||||
|
||||
local defaultFolderBgImage = gfx.CreateSkinImage('song_select/filter_wheel/bg.png', 0)
|
||||
local collectionFolderBgImage = gfx.CreateSkinImage('song_select/filter_wheel/col_bg.png', 0)
|
||||
local subFolderBgImage = gfx.CreateSkinImage('song_select/filter_wheel/sub_bg.png', 0)
|
||||
|
@ -107,6 +109,24 @@ local transitionLeaveScale = 1;
|
|||
local transitionLeaveReappearTimer = 0;
|
||||
local TRANSITION_LEAVE_DURATION = 0.1;
|
||||
|
||||
-- Window variables
|
||||
local resX, resY
|
||||
|
||||
-- Aspect Ratios
|
||||
local landscapeWidescreenRatio = 16 / 9
|
||||
local landscapeStandardRatio = 4 / 3
|
||||
local portraitWidescreenRatio = 9 / 16
|
||||
|
||||
-- Portrait sizes
|
||||
local fullX, fullY
|
||||
|
||||
local resolutionChange = function(x, y)
|
||||
resX = x
|
||||
resY = y
|
||||
fullX = portraitWidescreenRatio * y
|
||||
fullY = y
|
||||
end
|
||||
|
||||
function resetLayoutInformation()
|
||||
resx, resy = game.GetResolution()
|
||||
scale = resx / desw
|
||||
|
@ -261,7 +281,7 @@ end
|
|||
|
||||
function drawScrollbar()
|
||||
if not isFilterWheelActive or transitionLeaveScale ~= 0 then return end
|
||||
|
||||
|
||||
gfx.BeginPath()
|
||||
local bgW = 13*0.85;
|
||||
local bgH = 1282*0.85;
|
||||
|
@ -323,34 +343,23 @@ function tickTransitions(deltaTime)
|
|||
end
|
||||
end
|
||||
|
||||
function drawFilterWheel(deltatime)
|
||||
gfx.ResetTransform()
|
||||
resetLayoutInformation()
|
||||
function drawFilterWheelContent(deltatime)
|
||||
tickTransitions(deltatime);
|
||||
gfx.Scale(scale, scale);
|
||||
|
||||
drawFolderList()
|
||||
end
|
||||
|
||||
render = function(deltatime, shown)
|
||||
isFilterWheelActive = shown;
|
||||
drawFilterWheel(deltatime)
|
||||
local drawFilterWheel = function (x,y,w,h, deltaTime)
|
||||
gfx.Scissor(x,y,w,h);
|
||||
gfx.Translate(x,y);
|
||||
gfx.Scale(w/1080, h/1920);
|
||||
|
||||
if not shown then
|
||||
game.SetSkinSetting('_songWheelOverlayActive', 0);
|
||||
else
|
||||
game.SetSkinSetting('_songWheelOverlayActive', 1);
|
||||
end
|
||||
|
||||
game.SetSkinSetting('_songWheelActiveFolderLabel', getFolderData(filters.folder[selectedFolder]).label);
|
||||
game.SetSkinSetting('_songWheelActiveSubFolderLabel', getFolderData(filters.level[selectedLevel]).label);
|
||||
|
||||
drawFilterWheelContent(deltaTime)
|
||||
drawCursor()
|
||||
drawScrollbar()
|
||||
|
||||
if (game.GetSkinSetting('_currentScreen') == 'songwheel') then
|
||||
SongSelectHeader.draw(deltatime);
|
||||
Footer.draw(deltatime);
|
||||
SongSelectHeader.draw(deltaTime);
|
||||
Footer.draw(deltaTime);
|
||||
end
|
||||
|
||||
if (isFilterWheelActive ~= previousActiveState) then
|
||||
|
@ -368,6 +377,29 @@ render = function(deltatime, shown)
|
|||
-- transitionLeaveScale .. ' // L_TRT: ' .. transitionLeaveReappearTimer, 8, 1870);
|
||||
end
|
||||
|
||||
render = function(deltaTime, shown)
|
||||
isFilterWheelActive = shown;
|
||||
|
||||
if not shown then
|
||||
game.SetSkinSetting('_songWheelOverlayActive', 0);
|
||||
else
|
||||
game.SetSkinSetting('_songWheelOverlayActive', 1);
|
||||
end
|
||||
|
||||
game.SetSkinSetting('_songWheelActiveFolderLabel', getFolderData(filters.folder[selectedFolder]).label);
|
||||
game.SetSkinSetting('_songWheelActiveSubFolderLabel', getFolderData(filters.level[selectedLevel]).label);
|
||||
|
||||
-- detect resolution change
|
||||
local resx, resy = game.GetResolution();
|
||||
if resx ~= resX or resy ~= resY then
|
||||
resolutionChange(resx, resy)
|
||||
end
|
||||
|
||||
gfx.GlobalAlpha(1)
|
||||
|
||||
drawFilterWheel((resX - fullX) / 2, 0, fullX, fullY, deltaTime);
|
||||
end
|
||||
|
||||
set_selection = function(newIndex, isFolder)
|
||||
local oldIndex = 1;
|
||||
local total = 1;
|
||||
|
|
Loading…
Reference in New Issue