mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
...
This commit is contained in:
parent
53528c767b
commit
4e1e08df61
@ -113,7 +113,7 @@ void _bind(VM* vm, PyObject* obj, const char* sig, Ret(T::*func)(Params...)){
|
||||
return VAR(self.REF().FGET()); \
|
||||
});
|
||||
|
||||
#define PY_STRUCT_LIKE_OBJECT(T) \
|
||||
#define PY_STRUCT_LIKE(T) \
|
||||
static_assert(std::is_trivially_copyable<T>::value); \
|
||||
vm->bind_func<1>(type, "from_struct", [](VM* vm, ArgsView args){ \
|
||||
C99Struct& s = CAST(C99Struct&, args[0]); \
|
||||
|
@ -42,7 +42,7 @@ namespace pkpy{
|
||||
|
||||
|
||||
void PyVec2::_register(VM* vm, PyObject* mod, PyObject* type){
|
||||
PY_STRUCT_LIKE_OBJECT(PyVec2)
|
||||
PY_STRUCT_LIKE(PyVec2)
|
||||
|
||||
vm->bind_constructor<3>(type, [](VM* vm, ArgsView args){
|
||||
float x = CAST_F(args[1]);
|
||||
@ -101,7 +101,7 @@ namespace pkpy{
|
||||
}
|
||||
|
||||
void PyVec3::_register(VM* vm, PyObject* mod, PyObject* type){
|
||||
PY_STRUCT_LIKE_OBJECT(PyVec3)
|
||||
PY_STRUCT_LIKE(PyVec3)
|
||||
|
||||
vm->bind_constructor<4>(type, [](VM* vm, ArgsView args){
|
||||
float x = CAST_F(args[1]);
|
||||
@ -138,7 +138,7 @@ namespace pkpy{
|
||||
}
|
||||
|
||||
void PyVec4::_register(VM* vm, PyObject* mod, PyObject* type){
|
||||
PY_STRUCT_LIKE_OBJECT(PyVec4)
|
||||
PY_STRUCT_LIKE(PyVec4)
|
||||
|
||||
vm->bind_constructor<1+4>(type, [](VM* vm, ArgsView args){
|
||||
float x = CAST_F(args[1]);
|
||||
@ -183,7 +183,7 @@ namespace pkpy{
|
||||
#undef BIND_VEC_FUNCTION_1
|
||||
|
||||
void PyMat3x3::_register(VM* vm, PyObject* mod, PyObject* type){
|
||||
PY_STRUCT_LIKE_OBJECT(PyMat3x3)
|
||||
PY_STRUCT_LIKE(PyMat3x3)
|
||||
|
||||
vm->bind_constructor<-1>(type, [](VM* vm, ArgsView args){
|
||||
if(args.size() == 1+0) return VAR_T(PyMat3x3, Mat3x3::zeros());
|
||||
|
Loading…
x
Reference in New Issue
Block a user