diff options
author | bubnikv <bubnikv@gmail.com> | 2018-07-17 10:37:38 +0300 |
---|---|---|
committer | bubnikv <bubnikv@gmail.com> | 2018-07-17 10:37:38 +0300 |
commit | 83f9813f56f1770a1e41a04756941794fa44b227 (patch) | |
tree | 426290b979e8f8b809125f5dd4f54650650ac1da /xs/src/libslic3r/utils.cpp | |
parent | c7f59aca7deaf6ed24ad4ddfa35aba554f0a6372 (diff) | |
parent | 4805df603796e5a3a06aeb922112797f105c104d (diff) |
Merge remote-tracking branch 'remotes/origin/opengl_to_cpp'
Diffstat (limited to 'xs/src/libslic3r/utils.cpp')
-rw-r--r-- | xs/src/libslic3r/utils.cpp | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/xs/src/libslic3r/utils.cpp b/xs/src/libslic3r/utils.cpp index 991118c14..13ec1d066 100644 --- a/xs/src/libslic3r/utils.cpp +++ b/xs/src/libslic3r/utils.cpp @@ -266,7 +266,7 @@ void PerlCallback::call(double d) const LEAVE; } -void PerlCallback::call(double x, double y) const +void PerlCallback::call(double a, double b) const { if (!m_callback) return; @@ -274,8 +274,26 @@ void PerlCallback::call(double x, double y) const ENTER; SAVETMPS; PUSHMARK(SP); - XPUSHs(sv_2mortal(newSVnv(x))); - XPUSHs(sv_2mortal(newSVnv(y))); + XPUSHs(sv_2mortal(newSVnv(a))); + XPUSHs(sv_2mortal(newSVnv(b))); + PUTBACK; + perl_call_sv(SvRV((SV*)m_callback), G_DISCARD); + FREETMPS; + LEAVE; +} + +void PerlCallback::call(double a, double b, double c, double d) const +{ + if (!m_callback) + return; + dSP; + ENTER; + SAVETMPS; + PUSHMARK(SP); + XPUSHs(sv_2mortal(newSVnv(a))); + XPUSHs(sv_2mortal(newSVnv(b))); + XPUSHs(sv_2mortal(newSVnv(c))); + XPUSHs(sv_2mortal(newSVnv(d))); PUTBACK; perl_call_sv(SvRV((SV*)m_callback), G_DISCARD); FREETMPS; |