Browse Source

Add new functions to sqapi

mingodad 9 years ago
parent
commit
f956bca7ab
3 changed files with 28 additions and 0 deletions
  1. 2 0
      SquiLu/include/sqapi.h
  2. 6 0
      SquiLu/squilu.cbp
  3. 20 0
      SquiLu/squirrel/sqapi.cpp

+ 2 - 0
SquiLu/include/sqapi.h

@@ -86,7 +86,9 @@ SQUIRREL_API_FUNC(SQRESULT, tofloat, (HSQUIRRELVM v, SQInteger idx))
 SQUIRREL_API_FUNC(SQRESULT, getstring, (HSQUIRRELVM v,SQInteger idx,const SQChar **c))
 SQUIRREL_API_FUNC(SQRESULT, getstring, (HSQUIRRELVM v,SQInteger idx,const SQChar **c))
 SQUIRREL_API_FUNC(SQRESULT, getstr_and_size, (HSQUIRRELVM v,SQInteger idx,const SQChar **c, SQInteger *size))
 SQUIRREL_API_FUNC(SQRESULT, getstr_and_size, (HSQUIRRELVM v,SQInteger idx,const SQChar **c, SQInteger *size))
 SQUIRREL_API_FUNC(SQRESULT, getinteger, (HSQUIRRELVM v,SQInteger idx,SQInteger *i))
 SQUIRREL_API_FUNC(SQRESULT, getinteger, (HSQUIRRELVM v,SQInteger idx,SQInteger *i))
+SQUIRREL_API_FUNC(SQRESULT, getinteger_ptr, (HSQUIRRELVM v,SQInteger idx,SQInteger **i))
 SQUIRREL_API_FUNC(SQRESULT, getfloat, (HSQUIRRELVM v,SQInteger idx,SQFloat *f))
 SQUIRREL_API_FUNC(SQRESULT, getfloat, (HSQUIRRELVM v,SQInteger idx,SQFloat *f))
+SQUIRREL_API_FUNC(SQRESULT, getfloat_ptr, (HSQUIRRELVM v,SQInteger idx,SQFloat **f))
 SQUIRREL_API_FUNC(SQRESULT, getbool, (HSQUIRRELVM v,SQInteger idx,SQBool *b))
 SQUIRREL_API_FUNC(SQRESULT, getbool, (HSQUIRRELVM v,SQInteger idx,SQBool *b))
 SQUIRREL_API_FUNC(SQRESULT, getthread, (HSQUIRRELVM v,SQInteger idx,HSQUIRRELVM *thread))
 SQUIRREL_API_FUNC(SQRESULT, getthread, (HSQUIRRELVM v,SQInteger idx,HSQUIRRELVM *thread))
 SQUIRREL_API_FUNC(SQRESULT, getuserpointer, (HSQUIRRELVM v,SQInteger idx,SQUserPointer *p))
 SQUIRREL_API_FUNC(SQRESULT, getuserpointer, (HSQUIRRELVM v,SQInteger idx,SQUserPointer *p))

+ 6 - 0
SquiLu/squilu.cbp

@@ -206,11 +206,15 @@
 					<Add directory="../fltk" />
 					<Add directory="../fltk" />
 					<Add directory="../libharu/include" />
 					<Add directory="../libharu/include" />
 					<Add directory="../flu" />
 					<Add directory="../flu" />
+					<Add directory="../fltk/png" />
+					<Add directory="../fltk/jpeg" />
+					<Add directory="../fltk/zlib" />
 				</Compiler>
 				</Compiler>
 				<Linker>
 				<Linker>
 					<Add option="-s" />
 					<Add option="-s" />
 					<Add option="-static-libstdc++" />
 					<Add option="-static-libstdc++" />
 					<Add option="-static-libgcc" />
 					<Add option="-static-libgcc" />
+					<Add option="-static" />
 					<Add library="fltk_images" />
 					<Add library="fltk_images" />
 					<Add library="fltk_png" />
 					<Add library="fltk_png" />
 					<Add library="fltk_jpeg" />
 					<Add library="fltk_jpeg" />
@@ -1165,6 +1169,7 @@
 			<Add option="-DSQLITE_OMIT_PREPARED=1" />
 			<Add option="-DSQLITE_OMIT_PREPARED=1" />
 			<Add option="-DSQLITE_ENABLE_JSON1=1" />
 			<Add option="-DSQLITE_ENABLE_JSON1=1" />
 			<Add option="-DSQLITE_ENABLE_SESSION=1" />
 			<Add option="-DSQLITE_ENABLE_SESSION=1" />
+			<Add option="-DSQLITE_ENABLE_PREUPDATE_HOOK=1" />
 			<Add option="-DSQLITE_ENABLE_EXPLAIN_COMMENTS=1" />
 			<Add option="-DSQLITE_ENABLE_EXPLAIN_COMMENTS=1" />
 			<Add option="-DNO_POPEN=1" />
 			<Add option="-DNO_POPEN=1" />
 			<Add option="-DNO_SSL_DL=1" />
 			<Add option="-DNO_SSL_DL=1" />
@@ -2489,6 +2494,7 @@
 			<Option target="Release FLTK win32" />
 			<Option target="Release FLTK win32" />
 			<Option target="Release FLTK win32 no console" />
 			<Option target="Release FLTK win32 no console" />
 		</Unit>
 		</Unit>
+		<Unit filename="include/sqapi.h" />
 		<Unit filename="include/sqconfig.h" />
 		<Unit filename="include/sqconfig.h" />
 		<Unit filename="include/sqstdaux.h" />
 		<Unit filename="include/sqstdaux.h" />
 		<Unit filename="include/sqstdblob.h" />
 		<Unit filename="include/sqstdblob.h" />

+ 20 - 0
SquiLu/squirrel/sqapi.cpp

@@ -903,6 +903,16 @@ SQRESULT sq_getinteger(HSQUIRRELVM v,SQInteger idx,SQInteger *i)
 	return SQ_ERROR;
 	return SQ_ERROR;
 }
 }
 
 
+SQRESULT sq_getinteger_ptr(HSQUIRRELVM v,SQInteger idx,SQInteger **i)
+{
+	SQObjectPtr &o = stack_get(v, idx);
+	if(sq_isinteger(o)) {
+		*i = &_integer(o);
+		return SQ_OK;
+	}
+	return SQ_ERROR;
+}
+
 SQRESULT sq_getfloat(HSQUIRRELVM v,SQInteger idx,SQFloat *f)
 SQRESULT sq_getfloat(HSQUIRRELVM v,SQInteger idx,SQFloat *f)
 {
 {
 	SQObjectPtr &o = stack_get(v, idx);
 	SQObjectPtr &o = stack_get(v, idx);
@@ -913,6 +923,16 @@ SQRESULT sq_getfloat(HSQUIRRELVM v,SQInteger idx,SQFloat *f)
 	return SQ_ERROR;
 	return SQ_ERROR;
 }
 }
 
 
+SQRESULT sq_getfloat_ptr(HSQUIRRELVM v,SQInteger idx,SQFloat **f)
+{
+	SQObjectPtr &o = stack_get(v, idx);
+	if(sq_isfloat(o)) {
+		*f = &_float(o);
+		return SQ_OK;
+	}
+	return SQ_ERROR;
+}
+
 SQRESULT sq_getbool(HSQUIRRELVM v,SQInteger idx,SQBool *b)
 SQRESULT sq_getbool(HSQUIRRELVM v,SQInteger idx,SQBool *b)
 {
 {
 	SQObjectPtr &o = stack_get(v, idx);
 	SQObjectPtr &o = stack_get(v, idx);