Новый, более графонистый док!

This commit is contained in:
Igor 2016-03-19 22:19:39 +03:00
parent 106d49b1b5
commit 990dfda1f2
2 changed files with 7 additions and 6 deletions

View File

@ -152,7 +152,7 @@ local function drawDock()
--Рассчитываем размер и позицию дока на основе размера
local widthOfDock = (currentCountOfIconsInDock * (sizes.widthOfIcon + sizes.xSpaceBetweenIcons) - sizes.xSpaceBetweenIcons) + sizes.heightOfDock * 2 + 2
local xDock, yDock = math.floor(sizes.xSize / 2 - widthOfDock / 2), sizes.ySize - sizes.heightOfDock
local xDock, yDock = math.floor(sizes.xSize / 2 - widthOfDock / 2), sizes.ySize
--Рисуем сам док
local transparency = colors.dockBaseTransparency
@ -160,17 +160,17 @@ local function drawDock()
for i = 1, sizes.heightOfDock do
buffer.text(xDock, yDock, 0xFFFFFF, "", transparency)
buffer.square(xDock + 1, yDock, currentDockWidth, 1, 0xFFFFFF, 0xFFFFFF, " ", transparency)
buffer.text(xDock + currentDockWidth, yDock, 0xFFFFFF, "", transparency)
buffer.text(xDock + currentDockWidth + 1, yDock, 0xFFFFFF, "", transparency)
transparency = transparency + colors.dockTransparencyAdder
currentDockWidth = currentDockWidth - 4
xDock = xDock + 2
currentDockWidth = currentDockWidth - 2
xDock = xDock + 1
yDock = yDock - 1
end
--Рисуем ярлыки на доке
if currentCountOfIconsInDock > 0 then
local xIcons = math.floor(sizes.xSize / 2 - ((sizes.widthOfIcon + sizes.xSpaceBetweenIcons) * currentCountOfIconsInDock - sizes.xSpaceBetweenIcons) / 2 ) + 1
local xIcons = math.floor(sizes.xSize / 2 - ((sizes.widthOfIcon + sizes.xSpaceBetweenIcons) * currentCountOfIconsInDock - sizes.xSpaceBetweenIcons) / 2 )
local yIcons = sizes.ySize - sizes.heightOfDock - 1
for i = 1, currentCountOfIconsInDock do

View File

@ -282,11 +282,12 @@ end
-- Отрисовка текста, подстраивающегося под текущий фон
function buffer.text(x, y, color, text, transparency)
local index
if transparency then transparency = transparency * 2.55 end
local sText = unicode.len(text)
for i = 1, sText do
if (x + i - 1) >= buffer.drawLimit.x1 and y >= buffer.drawLimit.y1 and (x + i - 1) <= buffer.drawLimit.x2 and y <= buffer.drawLimit.y2 then
index = convertCoordsToIndex(x + i - 1, y)
buffer.screen.new[index + 1] = not transparency and color or colorlib.alphaBlend(buffer.screen.new[index + 1], color, transparency)
buffer.screen.new[index + 1] = not transparency and color or colorlib.alphaBlend(buffer.screen.new[index], color, transparency)
buffer.screen.new[index + 2] = unicode.sub(text, i, i)
end
end