aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/library_sdl.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/library_sdl.js b/src/library_sdl.js
index 7e61cbbb..eef1368d 100644
--- a/src/library_sdl.js
+++ b/src/library_sdl.js
@@ -1841,6 +1841,35 @@ var LibrarySDL = {
return r&0xff|(g&0xff)<<8|(b&0xff)<<16|(a&0xff)<<24;
},
+ SDL_GetRGB: function(pixel, fmt, r, g, b) {
+ // Canvas screens are always RGBA. We assume the machine is little-endian.
+ if (r) {
+ {{{ makeSetValue('r', '0', 'pixel&0xff', 'i8') }}};
+ }
+ if (g) {
+ {{{ makeSetValue('g', '0', '(pixel>>8)&0xff', 'i8') }}};
+ }
+ if (b) {
+ {{{ makeSetValue('b', '0', '(pixel>>16)&0xff', 'i8') }}};
+ }
+ },
+
+ SDL_GetRGBA: function(pixel, fmt, r, g, b, a) {
+ // Canvas screens are always RGBA. We assume the machine is little-endian.
+ if (r) {
+ {{{ makeSetValue('r', '0', 'pixel&0xff', 'i8') }}};
+ }
+ if (g) {
+ {{{ makeSetValue('g', '0', '(pixel>>8)&0xff', 'i8') }}};
+ }
+ if (b) {
+ {{{ makeSetValue('b', '0', '(pixel>>16)&0xff', 'i8') }}};
+ }
+ if (a) {
+ {{{ makeSetValue('a', '0', '(pixel>>24)&0xff', 'i8') }}};
+ }
+ },
+
SDL_GetAppState: function() {
var state = 0;