mirror of
https://github.com/aseprite/aseprite.git
synced 2024-12-27 03:16:58 +00:00
71 lines
2.0 KiB
Lua
71 lines
2.0 KiB
Lua
-- Copyright (C) 2019-2024 Igara Studio S.A.
|
|
--
|
|
-- This file is released under the terms of the MIT license.
|
|
-- Read LICENSE.txt for more information.
|
|
|
|
local red = Color{ r=255, g=0, b=0 }
|
|
local blue = Color{ r=0, g=0, b=255 }
|
|
|
|
-- Reproduces the bug reported in https://community.aseprite.org/t/2894
|
|
do
|
|
local s = Sprite(32, 32)
|
|
local a = s.layers[1]
|
|
app.useTool{ color=red, layer=a, points={ Point(2, 2) }}
|
|
|
|
local b = s:newLayer()
|
|
app.useTool{ color=blue, layer=b, points={ Point(1, 1) }}
|
|
|
|
a.isContinuous = true
|
|
b.isContinuous = true
|
|
|
|
app.command.NewFrame()
|
|
app.activeLayer = b
|
|
app.command.MergeDownLayer()
|
|
|
|
assert(#s.cels == 2)
|
|
assert(s.cels[1].image:isEqual(s.cels[2].image))
|
|
end
|
|
|
|
-- Checks that merge down accounts for z-index (issue #4468)
|
|
do
|
|
local s = Sprite(32, 32)
|
|
local a = s.layers[1]
|
|
app.useTool{ color=red, layer=a, points={ Point(1, 1) }}
|
|
|
|
local b = s:newLayer()
|
|
app.useTool{ color=blue, layer=b, points={ Point(1, 1) }}
|
|
|
|
a.cels[1].zIndex = 1
|
|
b.cels[1].zIndex = 0
|
|
|
|
local before = s.cels[1].image:clone()
|
|
|
|
app.activeLayer = b
|
|
app.command.MergeDownLayer()
|
|
|
|
local after = s.cels[1].image
|
|
assert(before:isEqual(after))
|
|
end
|
|
|
|
-- Check that linked cels are not broken (regression in issue #4685)
|
|
-- We create two layers, the bottom one with 4 linked frames, and the
|
|
-- top one with one cel at 2nd frame, when we merge them, the
|
|
-- resulting layer should have frame 1, 3, and 4 linked.
|
|
do
|
|
local s = Sprite(32, 32)
|
|
app.useTool{ color=Color(255, 0, 0), points={ {0,0}, {32,32} } }
|
|
app.layer.isContinuous = true
|
|
app.command.NewFrame{ content=cellinked }
|
|
app.command.NewFrame{ content=cellinked }
|
|
app.command.NewFrame{ content=cellinked }
|
|
s:newLayer()
|
|
app.frame = 2
|
|
app.useTool{ color=Color(0, 0, 255), points={ {32,0}, {0,32} } }
|
|
app.command.MergeDownLayer()
|
|
local cels = app.layer.cels
|
|
-- Check that frame 1, 3, and 4 have the same image (linked cels)
|
|
assert(cels[1].image ~= cels[2].image)
|
|
assert(cels[1].image == cels[3].image)
|
|
assert(cels[1].image == cels[4].image)
|
|
end
|