fix syntax
This commit is contained in:
110
sdl.c
110
sdl.c
@@ -7,10 +7,10 @@ colorf js2color(JSContext *js,JSValue v) {
|
||||
|
||||
colorf color = {1,1,1,1}; // Default to white
|
||||
|
||||
if (JS_IsArray(js, v)) {
|
||||
if (JS_IsArray(v)) {
|
||||
// Handle array format: [r, g, b, a]
|
||||
JSValue c[4];
|
||||
for (int i = 0; i < 4; i++) c[i] = JS_GetPropertyUint32(js,v,i);
|
||||
for (int i = 0; i < 4; i++) c[i] = JS_GetPropertyNumber(js,v,i);
|
||||
|
||||
color.x = js2number(js,c[0]);
|
||||
color.y = js2number(js,c[1]);
|
||||
@@ -30,12 +30,13 @@ colorf js2color(JSContext *js,JSValue v) {
|
||||
|
||||
JSValue color2js(JSContext *js, colorf color)
|
||||
{
|
||||
JSValue arr = JS_NewArray(js);
|
||||
JS_SetPropertyUint32(js, arr,0,number2js(js,(double)color.x));
|
||||
JS_SetPropertyUint32(js, arr,1,number2js(js,(double)color.y));
|
||||
JS_SetPropertyUint32(js, arr,2,number2js(js,(double)color.z));
|
||||
JS_SetPropertyUint32(js, arr,3,number2js(js,(double)color.w));
|
||||
return arr;
|
||||
JS_FRAME(js);
|
||||
JS_LOCAL(arr, JS_NewArray(js));
|
||||
JS_SetPropertyNumber(js, arr,0,number2js(js,(double)color.x));
|
||||
JS_SetPropertyNumber(js, arr,1,number2js(js,(double)color.y));
|
||||
JS_SetPropertyNumber(js, arr,2,number2js(js,(double)color.z));
|
||||
JS_SetPropertyNumber(js, arr,3,number2js(js,(double)color.w));
|
||||
JS_RETURN(arr);
|
||||
}
|
||||
|
||||
vec2 js2vec2(JSContext *js,JSValue v)
|
||||
@@ -43,9 +44,9 @@ vec2 js2vec2(JSContext *js,JSValue v)
|
||||
vec2 v2;
|
||||
|
||||
// Check if it's an array
|
||||
if (JS_IsArray(js, v)) {
|
||||
{ JSValue val = JS_GetPropertyUint32(js,v,0); v2.x = js2number(js, val); JS_FreeValue(js,val); }
|
||||
{ JSValue val = JS_GetPropertyUint32(js,v,1); v2.y = js2number(js, val); JS_FreeValue(js,val); }
|
||||
if (JS_IsArray(v)) {
|
||||
{ JSValue val = JS_GetPropertyNumber(js,v,0); v2.x = js2number(js, val); JS_FreeValue(js,val); }
|
||||
{ JSValue val = JS_GetPropertyNumber(js,v,1); v2.y = js2number(js, val); JS_FreeValue(js,val); }
|
||||
} else {
|
||||
// Try to get x,y properties from object
|
||||
JSValue x_val = JS_GetPropertyStr(js, v, "x");
|
||||
@@ -64,9 +65,9 @@ vec2 js2vec2(JSContext *js,JSValue v)
|
||||
vec3 js2vec3(JSContext *js,JSValue v)
|
||||
{
|
||||
vec3 v3;
|
||||
{ JSValue val = JS_GetPropertyUint32(js, v,0); v3.x = js2number(js, val); JS_FreeValue(js,val); }
|
||||
{ JSValue val = JS_GetPropertyUint32(js, v,1); v3.y = js2number(js, val); JS_FreeValue(js,val); }
|
||||
{ JSValue val = JS_GetPropertyUint32(js, v,2); v3.z = js2number(js, val); JS_FreeValue(js,val); }
|
||||
{ JSValue val = JS_GetPropertyNumber(js, v,0); v3.x = js2number(js, val); JS_FreeValue(js,val); }
|
||||
{ JSValue val = JS_GetPropertyNumber(js, v,1); v3.y = js2number(js, val); JS_FreeValue(js,val); }
|
||||
{ JSValue val = JS_GetPropertyNumber(js, v,2); v3.z = js2number(js, val); JS_FreeValue(js,val); }
|
||||
return v3;
|
||||
}
|
||||
|
||||
@@ -75,7 +76,7 @@ float *js2floats(JSContext *js, JSValue v, size_t *len)
|
||||
*len = JS_ArrayLength(js,v);
|
||||
float *arr = malloc(sizeof(float)* *len);
|
||||
for (int i = 0; i < *len; i++)
|
||||
{ JSValue val = JS_GetPropertyUint32(js,v,i); arr[i] = js2number(js, val); JS_FreeValue(js,val); }
|
||||
{ JSValue val = JS_GetPropertyNumber(js,v,i); arr[i] = js2number(js, val); JS_FreeValue(js,val); }
|
||||
return arr;
|
||||
}
|
||||
|
||||
@@ -84,14 +85,14 @@ double *js2doubles(JSContext *js, JSValue v, size_t *len)
|
||||
*len = JS_ArrayLength(js,v);
|
||||
double *arr = malloc(sizeof(double)* *len);
|
||||
for (int i = 0; i < *len; i++)
|
||||
{ JSValue val = JS_GetPropertyUint32(js,v,i); arr[i] = js2number(js, val); JS_FreeValue(js,val); }
|
||||
{ JSValue val = JS_GetPropertyNumber(js,v,i); arr[i] = js2number(js, val); JS_FreeValue(js,val); }
|
||||
return arr;
|
||||
}
|
||||
|
||||
vec3 js2vec3f(JSContext *js, JSValue v)
|
||||
{
|
||||
vec3 vec;
|
||||
if (JS_IsArray(js, v))
|
||||
if (JS_IsArray(v))
|
||||
return js2vec3(js,v);
|
||||
else
|
||||
vec.x = vec.y = vec.z = js2number(js,v);
|
||||
@@ -100,11 +101,12 @@ vec3 js2vec3f(JSContext *js, JSValue v)
|
||||
|
||||
JSValue vec32js(JSContext *js, vec3 v)
|
||||
{
|
||||
JSValue array = JS_NewArray(js);
|
||||
JS_SetPropertyUint32(js, array,0,number2js(js,v.x));
|
||||
JS_SetPropertyUint32(js, array,1,number2js(js,v.y));
|
||||
JS_SetPropertyUint32(js, array,2,number2js(js,v.z));
|
||||
return array;
|
||||
JS_FRAME(js);
|
||||
JS_LOCAL(array, JS_NewArray(js));
|
||||
JS_SetPropertyNumber(js, array,0,number2js(js,v.x));
|
||||
JS_SetPropertyNumber(js, array,1,number2js(js,v.y));
|
||||
JS_SetPropertyNumber(js, array,2,number2js(js,v.z));
|
||||
JS_RETURN(array);
|
||||
}
|
||||
|
||||
JSValue vec3f2js(JSContext *js, vec3 v)
|
||||
@@ -114,19 +116,20 @@ JSValue vec3f2js(JSContext *js, vec3 v)
|
||||
|
||||
JSValue quat2js(JSContext *js, quat q)
|
||||
{
|
||||
JSValue arr = JS_NewArray(js);
|
||||
JS_SetPropertyUint32(js, arr, 0, number2js(js,q.x));
|
||||
JS_SetPropertyUint32(js, arr,1,number2js(js,q.y));
|
||||
JS_SetPropertyUint32(js, arr,2,number2js(js,q.z));
|
||||
JS_SetPropertyUint32(js, arr,3,number2js(js,q.w));
|
||||
return arr;
|
||||
JS_FRAME(js);
|
||||
JS_LOCAL(arr, JS_NewArray(js));
|
||||
JS_SetPropertyNumber(js, arr, 0, number2js(js,q.x));
|
||||
JS_SetPropertyNumber(js, arr,1,number2js(js,q.y));
|
||||
JS_SetPropertyNumber(js, arr,2,number2js(js,q.z));
|
||||
JS_SetPropertyNumber(js, arr,3,number2js(js,q.w));
|
||||
JS_RETURN(arr);
|
||||
}
|
||||
|
||||
vec4 js2vec4(JSContext *js, JSValue v)
|
||||
{
|
||||
vec4_union v4;
|
||||
for (int i = 0; i < 4; i++)
|
||||
{ JSValue val = JS_GetPropertyUint32(js, v,i); v4.e[i] = js2number(js, val); JS_FreeValue(js,val); }
|
||||
{ JSValue val = JS_GetPropertyNumber(js, v,i); v4.e[i] = js2number(js, val); JS_FreeValue(js,val); }
|
||||
return (vec4){v4.x, v4.y, v4.z, v4.w};
|
||||
}
|
||||
|
||||
@@ -150,7 +153,7 @@ double arr_vec_length(JSContext *js,JSValue v)
|
||||
|
||||
double sum = 0;
|
||||
for (int i = 0; i < len; i++)
|
||||
{ JSValue val = JS_GetPropertyUint32(js, v, i); double num = js2number(js, val); JS_FreeValue(js,val); sum += pow(num, 2); }
|
||||
{ JSValue val = JS_GetPropertyNumber(js, v, i); double num = js2number(js, val); JS_FreeValue(js,val); sum += pow(num, 2); }
|
||||
|
||||
return sqrt(sum);
|
||||
}
|
||||
@@ -159,18 +162,19 @@ quat js2quat(JSContext *js,JSValue v)
|
||||
{
|
||||
vec4_union v4;
|
||||
for (int i = 0; i < 4; i++)
|
||||
{ JSValue val = JS_GetPropertyUint32(js, v,i); v4.e[i] = js2number(js, val); JS_FreeValue(js,val); }
|
||||
{ JSValue val = JS_GetPropertyNumber(js, v,i); v4.e[i] = js2number(js, val); JS_FreeValue(js,val); }
|
||||
return (quat){v4.x, v4.y, v4.z, v4.w};
|
||||
}
|
||||
|
||||
JSValue vec42js(JSContext *js, vec4 v)
|
||||
{
|
||||
JSValue array = JS_NewArray(js);
|
||||
JS_SetPropertyUint32(js, array,0,number2js(js,v.x));
|
||||
JS_SetPropertyUint32(js, array,1,number2js(js,v.y));
|
||||
JS_SetPropertyUint32(js, array,2,number2js(js,v.z));
|
||||
JS_SetPropertyUint32(js, array,3,number2js(js,v.w));
|
||||
return array;
|
||||
JS_FRAME(js);
|
||||
JS_LOCAL(array, JS_NewArray(js));
|
||||
JS_SetPropertyNumber(js, array,0,number2js(js,v.x));
|
||||
JS_SetPropertyNumber(js, array,1,number2js(js,v.y));
|
||||
JS_SetPropertyNumber(js, array,2,number2js(js,v.z));
|
||||
JS_SetPropertyNumber(js, array,3,number2js(js,v.w));
|
||||
JS_RETURN(array);
|
||||
}
|
||||
|
||||
vec2 *js2cpvec2arr(JSContext *js,JSValue v) {
|
||||
@@ -178,7 +182,7 @@ vec2 *js2cpvec2arr(JSContext *js,JSValue v) {
|
||||
vec2 *arr = malloc(sizeof(vec2) * n);
|
||||
|
||||
for (int i = 0; i < n; i++) {
|
||||
JSValue ii = JS_GetPropertyUint32(js,v,i);
|
||||
JSValue ii = JS_GetPropertyNumber(js,v,i);
|
||||
arr[i] = js2vec2(js,ii);
|
||||
JS_FreeValue(js,ii);
|
||||
}
|
||||
@@ -204,11 +208,12 @@ rect js2rect(JSContext *js,JSValue v) {
|
||||
}
|
||||
|
||||
static JSValue floats2array(JSContext *js, float *vals, size_t len) {
|
||||
JSValue arr = JS_NewArray(js);
|
||||
JS_FRAME(js);
|
||||
JS_LOCAL(arr, JS_NewArray(js));
|
||||
for (size_t i = 0; i < len; i++) {
|
||||
JS_SetPropertyUint32(js, arr, i, number2js(js, vals[i]));
|
||||
JS_SetPropertyNumber(js, arr, i, number2js(js, vals[i]));
|
||||
}
|
||||
return arr;
|
||||
JS_RETURN(arr);
|
||||
}
|
||||
|
||||
lrtb js2lrtb(JSContext *js, JSValue v)
|
||||
@@ -223,27 +228,30 @@ lrtb js2lrtb(JSContext *js, JSValue v)
|
||||
|
||||
JSValue vec22js(JSContext *js,vec2 v)
|
||||
{
|
||||
JSValue array = JS_NewArray(js);
|
||||
JS_SetPropertyUint32(js, array,0,number2js(js,v.x));
|
||||
JS_SetPropertyUint32(js, array,1,number2js(js,v.y));
|
||||
return array;
|
||||
JS_FRAME(js);
|
||||
JS_LOCAL(array, JS_NewArray(js));
|
||||
JS_SetPropertyNumber(js, array,0,number2js(js,v.x));
|
||||
JS_SetPropertyNumber(js, array,1,number2js(js,v.y));
|
||||
JS_RETURN(array);
|
||||
}
|
||||
|
||||
JSValue vecarr2js(JSContext *js,vec2 *points, int n) {
|
||||
JSValue array = JS_NewArray(js);
|
||||
JS_FRAME(js);
|
||||
JS_LOCAL(array, JS_NewArray(js));
|
||||
for (int i = 0; i < n; i++)
|
||||
JS_SetPropertyUint32(js, array,i,vec22js(js,points[i]));
|
||||
|
||||
return array;
|
||||
JS_SetPropertyNumber(js, array,i,vec22js(js,points[i]));
|
||||
|
||||
JS_RETURN(array);
|
||||
}
|
||||
|
||||
JSValue rect2js(JSContext *js,rect rect) {
|
||||
JSValue obj = JS_NewObject(js);
|
||||
JS_FRAME(js);
|
||||
JS_LOCAL(obj, JS_NewObject(js));
|
||||
JS_SetPropertyStr(js, obj, "x", number2js(js, rect.x));
|
||||
JS_SetPropertyStr(js, obj, "y", number2js(js, rect.y));
|
||||
JS_SetPropertyStr(js, obj, "width", number2js(js, rect.w));
|
||||
JS_SetPropertyStr(js, obj, "height", number2js(js, rect.h));
|
||||
return obj;
|
||||
JS_RETURN(obj);
|
||||
}
|
||||
|
||||
float *rgba2floats(float *r, struct rgba c)
|
||||
|
||||
Reference in New Issue
Block a user