mirror of
https://github.com/aseprite/aseprite.git
synced 2024-12-27 03:16:58 +00:00
88 lines
2.1 KiB
Lua
88 lines
2.1 KiB
Lua
-- Copyright (C) 2019 Igara Studio S.A.
|
|
-- Copyright (C) 2018 David Capello
|
|
--
|
|
-- This file is released under the terms of the MIT license.
|
|
-- Read LICENSE.txt for more information.
|
|
|
|
do
|
|
local p = Palette()
|
|
assert(#p == 256)
|
|
for i = 0,#p-1 do
|
|
assert(p:getColor(i) == Color(0, 0, 0))
|
|
end
|
|
end
|
|
|
|
do
|
|
local p = Palette(32)
|
|
assert(#p == 32)
|
|
for i = 0,#p-1 do
|
|
assert(p:getColor(i) == Color(0, 0, 0))
|
|
end
|
|
|
|
p:resize(4)
|
|
assert(#p == 4)
|
|
p:setColor(0, Color(255, 8, 32))
|
|
p:setColor(1, Color(250, 4, 30))
|
|
p:setColor(2, Color(240, 3, 20))
|
|
p:setColor(3, Color(210, 2, 10))
|
|
assert(p:getColor(0) == Color(255, 8, 32))
|
|
assert(p:getColor(1) == Color(250, 4, 30))
|
|
assert(p:getColor(2) == Color(240, 3, 20))
|
|
assert(p:getColor(3) == Color(210, 2, 10))
|
|
|
|
-- Check alpha
|
|
local c = Color{red=100, green=50, blue=10, alpha=128}
|
|
p:setColor(3, c)
|
|
assert(p:getColor(3) == c)
|
|
assert(p:getColor(3).alpha == 128)
|
|
end
|
|
|
|
-- Load/save
|
|
do
|
|
local p = Palette{ fromFile="sprites/abcd.aseprite" }
|
|
assert(#p == 5)
|
|
assert(p:getColor(0) == Color(0, 0, 0))
|
|
assert(p:getColor(1) == Color(25, 0, 255))
|
|
assert(p:getColor(2) == Color(255, 0, 0))
|
|
assert(p:getColor(3) == Color(255, 255, 0))
|
|
assert(p:getColor(4) == Color(0, 128, 0))
|
|
|
|
p:saveAs("_test_.gpl")
|
|
|
|
local q = Palette{ fromFile="_test_.gpl" }
|
|
assert(#p == #q)
|
|
for i=0,#q-1 do
|
|
assert(p:getColor(i) == q:getColor(i))
|
|
end
|
|
end
|
|
|
|
-- Default palette and resources
|
|
do
|
|
local db16 = Palette{ fromResource="DB16" }
|
|
local db32 = Palette{ fromResource="DB32" }
|
|
|
|
assert(#db16 == 16)
|
|
assert(#db32 == 32)
|
|
assert(db32:getColor(0) == Color(0, 0, 0))
|
|
assert(db32:getColor(31) == Color(138, 111, 48))
|
|
|
|
assert(app.defaultPalette == db32)
|
|
|
|
app.defaultPalette = db16
|
|
assert(app.defaultPalette == db16)
|
|
|
|
-- Default sprite palette is completely black
|
|
-- TODO should we use the app.defaultPalette as the default palette?
|
|
local spr = Sprite(32, 32, ColorMode.INDEXED)
|
|
local sprPal = spr.palettes[1]
|
|
assert(#sprPal == 256)
|
|
assert(sprPal ~= db16)
|
|
assert(sprPal ~= db32)
|
|
for i=0,255 do
|
|
assert(sprPal:getColor(i) == Color(0, 0,0))
|
|
end
|
|
|
|
spr:setPalette(db32)
|
|
assert(sprPal == db32)
|
|
end
|