From 990dfda1f23161a26e1d1bad0ca049fd63bcf2b9 Mon Sep 17 00:00:00 2001 From: Igor Date: Sat, 19 Mar 2016 22:19:39 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D1=8B=D0=B9,=20=D0=B1=D0=BE?= =?UTF-8?q?=D0=BB=D0=B5=D0=B5=20=D0=B3=D1=80=D0=B0=D1=84=D0=BE=D0=BD=D0=B8?= =?UTF-8?q?=D1=81=D1=82=D1=8B=D0=B9=20=D0=B4=D0=BE=D0=BA!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MineOS/OS.lua | 10 +++++----- lib/doubleBuffering.lua | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/MineOS/OS.lua b/MineOS/OS.lua index 2d7866f2..fe9ffa78 100644 --- a/MineOS/OS.lua +++ b/MineOS/OS.lua @@ -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 diff --git a/lib/doubleBuffering.lua b/lib/doubleBuffering.lua index 34f34fb1..b41fbd61 100644 --- a/lib/doubleBuffering.lua +++ b/lib/doubleBuffering.lua @@ -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