diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-03-21 16:12:00 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-03-21 16:12:00 -0700 |
commit | 7603e3f8a2f9294f26e24eb8e2f50d403fb1a595 (patch) | |
tree | 2329386c6ce2e868bcb8968d06c1641d4784ffb6 /src/library_sdl.js | |
parent | f3ec1907dab69c066fb47618fa076b0779194e85 (diff) |
misc SDL stuff
Diffstat (limited to 'src/library_sdl.js')
-rw-r--r-- | src/library_sdl.js | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/src/library_sdl.js b/src/library_sdl.js index 5188da23..88393d4a 100644 --- a/src/library_sdl.js +++ b/src/library_sdl.js @@ -76,7 +76,7 @@ // * SDL_Quit does nothing. mergeInto(LibraryManager.library, { - //$SDL__deps: ['$Browser'], + $SDL__deps: ['$FS'], $SDL: { defaults: { width: 320, @@ -87,6 +87,7 @@ mergeInto(LibraryManager.library, { surfaces: {}, events: [], musics: [null], + fonts: [null], keyCodes: { 38: 273, // up arrow @@ -168,7 +169,8 @@ mergeInto(LibraryManager.library, { surf: surf, buffer: buffer, pixelFormat: pixelFormat, - alpha: 255 + alpha: 255, + flags: flags }; return surf; }, @@ -394,6 +396,14 @@ mergeInto(LibraryManager.library, { return SDL.makeSurface(width, height, flags); }, + SDL_DisplayFormatAlpha: function(surf) { + var oldData = SDL.surfaces[surf]; + var ret = SDL.makeSurface(oldData.width, oldData.height, oldData.flags); + var newData = SDL.surfaces[surf]; + _memcpy(newData.buffer, oldData.buffer, oldData.height*oldData.width*4); + return ret; + }, + SDL_FreeSurface: function(surf) { SDL.freeSurface(surf); }, @@ -478,7 +488,7 @@ mergeInto(LibraryManager.library, { // SDL_Image IMG_Load: function(filename) { - filename = Pointer_stringify(filename); + filename = FS.standardizePath(Pointer_stringify(filename)); var raw = preloadedImages[filename]; assert(raw, 'Cannot find preloaded image ' + filename); var surf = SDL.makeSurface(raw.width, raw.height, 0); @@ -576,7 +586,7 @@ mergeInto(LibraryManager.library, { }, Mix_LoadMUS: function(filename) { - filename = Pointer_stringify(filename); + filename = FS.standardizePath(Pointer_stringify(filename)); var id = SDL.musics.length; SDL.musics.push({ audio: new Audio(filename) @@ -620,6 +630,15 @@ mergeInto(LibraryManager.library, { TTF_Init: function() { return 0 }, + TTF_OpenFont: function(filename, size) { + filename = FS.standardizePath(Pointer_stringify(filename)); + var id = SDL.fonts.length; + SDL.fonts.push({ + name: filename + }); + return id; + }, + // Misc SDL_InitSubSystem: function(flags) { return 0 }, |