mirror of
https://github.com/OpenMW/openmw.git
synced 2025-04-09 00:36:42 +00:00
Use thick border textures for thick border UI templates
This commit is contained in:
parent
08ff69f199
commit
01aa67c792
1 changed files with 39 additions and 36 deletions
|
@ -22,49 +22,52 @@ local cornerParts = {
|
||||||
bottom_right = v2(1, 1),
|
bottom_right = v2(1, 1),
|
||||||
}
|
}
|
||||||
|
|
||||||
local borderSidePattern = 'textures/menu_thin_border_%s.dds'
|
local borderSidePattern = 'textures/menu_%s_border_%s.dds'
|
||||||
local borderCornerPattern = 'textures/menu_thin_border_%s_corner.dds'
|
local borderCornerPattern = 'textures/menu_%s_border_%s_corner.dds'
|
||||||
|
|
||||||
local borderResources = {}
|
local borderResources = {}
|
||||||
do
|
local borderPieces = {}
|
||||||
|
for _, thickness in ipairs{'thin', 'thick'} do
|
||||||
|
borderResources[thickness] = {}
|
||||||
for k in pairs(sideParts) do
|
for k in pairs(sideParts) do
|
||||||
borderResources[k] = ui.texture{ path = borderSidePattern:format(k) }
|
borderResources[thickness][k] = ui.texture{ path = borderSidePattern:format(thickness, k) }
|
||||||
end
|
end
|
||||||
for k in pairs(cornerParts) do
|
for k in pairs(cornerParts) do
|
||||||
borderResources[k] = ui.texture{ path = borderCornerPattern:format(k) }
|
borderResources[thickness][k] = ui.texture{ path = borderCornerPattern:format(thickness, k) }
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local borderPieces = {}
|
borderPieces[thickness] = {}
|
||||||
for k in pairs(sideParts) do
|
for k in pairs(sideParts) do
|
||||||
local horizontal = k == 'top' or k == 'bottom'
|
local horizontal = k == 'top' or k == 'bottom'
|
||||||
borderPieces[k] = {
|
borderPieces[thickness][k] = {
|
||||||
type = ui.TYPE.Image,
|
type = ui.TYPE.Image,
|
||||||
props = {
|
props = {
|
||||||
resource = borderResources[k],
|
resource = borderResources[thickness][k],
|
||||||
tileH = horizontal,
|
tileH = horizontal,
|
||||||
tileV = not horizontal,
|
tileV = not horizontal,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
for k in pairs(cornerParts) do
|
for k in pairs(cornerParts) do
|
||||||
borderPieces[k] = {
|
borderPieces[thickness][k] = {
|
||||||
type = ui.TYPE.Image,
|
type = ui.TYPE.Image,
|
||||||
props = {
|
props = {
|
||||||
resource = borderResources[k],
|
resource = borderResources[thickness][k],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
local function borderTemplates(borderSize)
|
local function borderTemplates(thickness)
|
||||||
|
local borderSize = (thickness == 'thin') and constants.border or constants.thickBorder
|
||||||
local borderV = v2(1, 1) * borderSize
|
local borderV = v2(1, 1) * borderSize
|
||||||
local result = {}
|
local result = {}
|
||||||
result.horizontalLine = {
|
result.horizontalLine = {
|
||||||
type = ui.TYPE.Image,
|
type = ui.TYPE.Image,
|
||||||
props = {
|
props = {
|
||||||
resource = borderResources.top,
|
resource = borderResources[thickness].top,
|
||||||
tileH = true,
|
tileH = true,
|
||||||
tileV = false,
|
tileV = false,
|
||||||
size = v2(0, borderSize),
|
size = v2(0, borderSize),
|
||||||
|
@ -75,7 +78,7 @@ local function borderTemplates(borderSize)
|
||||||
result.verticalLine = {
|
result.verticalLine = {
|
||||||
type = ui.TYPE.Image,
|
type = ui.TYPE.Image,
|
||||||
props = {
|
props = {
|
||||||
resource = borderResources.left,
|
resource = borderResources[thickness].left,
|
||||||
tileH = false,
|
tileH = false,
|
||||||
tileV = true,
|
tileV = true,
|
||||||
size = v2(borderSize, 0),
|
size = v2(borderSize, 0),
|
||||||
|
@ -90,7 +93,7 @@ local function borderTemplates(borderSize)
|
||||||
local horizontal = k == 'top' or k == 'bottom'
|
local horizontal = k == 'top' or k == 'bottom'
|
||||||
local direction = horizontal and v2(1, 0) or v2(0, 1)
|
local direction = horizontal and v2(1, 0) or v2(0, 1)
|
||||||
result.borders.content:add {
|
result.borders.content:add {
|
||||||
template = borderPieces[k],
|
template = borderPieces[thickness][k],
|
||||||
props = {
|
props = {
|
||||||
position = (direction - v) * borderSize,
|
position = (direction - v) * borderSize,
|
||||||
relativePosition = v,
|
relativePosition = v,
|
||||||
|
@ -101,7 +104,7 @@ local function borderTemplates(borderSize)
|
||||||
end
|
end
|
||||||
for k, v in pairs(cornerParts) do
|
for k, v in pairs(cornerParts) do
|
||||||
result.borders.content:add {
|
result.borders.content:add {
|
||||||
template = borderPieces[k],
|
template = borderPieces[thickness][k],
|
||||||
props = {
|
props = {
|
||||||
position = -v * borderSize,
|
position = -v * borderSize,
|
||||||
relativePosition = v,
|
relativePosition = v,
|
||||||
|
@ -126,7 +129,7 @@ local function borderTemplates(borderSize)
|
||||||
local horizontal = k == 'top' or k == 'bottom'
|
local horizontal = k == 'top' or k == 'bottom'
|
||||||
local direction = horizontal and v2(1, 0) or v2(0, 1)
|
local direction = horizontal and v2(1, 0) or v2(0, 1)
|
||||||
result.box.content:add {
|
result.box.content:add {
|
||||||
template = borderPieces[k],
|
template = borderPieces[thickness][k],
|
||||||
props = {
|
props = {
|
||||||
position = (direction + v) * borderSize,
|
position = (direction + v) * borderSize,
|
||||||
relativePosition = v,
|
relativePosition = v,
|
||||||
|
@ -137,7 +140,7 @@ local function borderTemplates(borderSize)
|
||||||
end
|
end
|
||||||
for k, v in pairs(cornerParts) do
|
for k, v in pairs(cornerParts) do
|
||||||
result.box.content:add {
|
result.box.content:add {
|
||||||
template = borderPieces[k],
|
template = borderPieces[thickness][k],
|
||||||
props = {
|
props = {
|
||||||
position = v * borderSize,
|
position = v * borderSize,
|
||||||
relativePosition = v,
|
relativePosition = v,
|
||||||
|
@ -190,8 +193,8 @@ local function borderTemplates(borderSize)
|
||||||
return result
|
return result
|
||||||
end
|
end
|
||||||
|
|
||||||
local thinBorders = borderTemplates(constants.border)
|
local thinBorders = borderTemplates('thin')
|
||||||
local thickBorders = borderTemplates(constants.thickBorder)
|
local thickBorders = borderTemplates('thick')
|
||||||
|
|
||||||
return function(templates)
|
return function(templates)
|
||||||
for k, t in pairs(thinBorders) do
|
for k, t in pairs(thinBorders) do
|
||||||
|
|
Loading…
Reference in a new issue