add dark theme

This commit is contained in:
airstruck
2015-12-05 03:53:47 -05:00
parent f03b5c7bd4
commit a2fb4e58c1
38 changed files with 279 additions and 65 deletions

View File

@@ -210,9 +210,7 @@ function Font:constructor (path, size)
local font = SDL2_ttf.TTF_OpenFont(path, size)
if font == nil then
io.stderr:write(ffi.string(sdl.getError()))
sdl.quit()
os.exit(1)
error(ffi.string(sdl.getError()))
end
fontCache[key] = font

View File

@@ -17,9 +17,19 @@ function Image:constructor (renderer, path)
self.sdlSurface = ffi.gc(
SDL2_image.IMG_Load(path),
sdl.freeSurface)
if self.sdlSurface == nil then
error(ffi.string(sdl.getError()))
end
self.sdlTexture = ffi.gc(
sdl.createTextureFromSurface(renderer, self.sdlSurface),
sdl.destroyTexture)
if self.sdlTexture == nil then
error(ffi.string(sdl.getError()))
end
self.width = self.sdlSurface.w
self.height = self.sdlSurface.h
end

View File

@@ -60,8 +60,7 @@ sdl.atomic_t = ffi.typeof 'SDL_atomic_t'
sdl.version = ffi.typeof 'SDL_version'
if sdl.init(sdl.INIT_VIDEO) ~= 0 then
io.stderr:write(ffi.string(sdl.getError()))
os.exit(1)
error(ffi.string(sdl.getError()))
end
return sdl

View File

@@ -38,14 +38,19 @@ local function renderMulti (self, font, text, color, align, limit)
local r, g, b, a
--[[
if sdl.BYTEORDER == sdl.BIG_ENDIAN then
r, g, b, a = 0xFF000000, 0x00FF0000, 0x0000FF00, 0x000000FF
else
r, g, b, a = 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000
end
--]]
-- values from SDL_ttf.c
r, g, b, a = 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000
local surface = ffi.gc(
sdl.createRGBSurface(0, limit, height, 32, r, g, b, a),
sdl.createRGBSurface(sdl.SWSURFACE, limit, height, 32, r, g, b, a),
sdl.freeSurface)
self.sdlSurface = surface
@@ -55,6 +60,8 @@ local function renderMulti (self, font, text, color, align, limit)
ttf.TTF_RenderUTF8_Blended(font.sdlFont, text, color),
sdl.freeSurface)
if lineSurface ~= nil then
sdl.setSurfaceBlendMode(lineSurface, sdl.BLENDMODE_NONE)
local w, h = lineSurface.w, lineSurface.h
local top = (index - 1) * lineHeight