summaryrefslogtreecommitdiffstats
path: root/src/livecode/api/point.cpp
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2019-12-02 20:33:28 +0000
committers-ol <s-ol@users.noreply.github.com>2019-12-02 20:33:28 +0000
commit1b69cd09de1e70d36cbca5f0c4a3f289ec684343 (patch)
tree42a91646b60d7879c1d541e921adddff4052a732 /src/livecode/api/point.cpp
parentadd draft janet interface for livecoding (diff)
downloadinkscape-1b69cd09de1e70d36cbca5f0c4a3f289ec684343.tar.gz
inkscape-1b69cd09de1e70d36cbca5f0c4a3f289ec684343.zip
more janet bindings
Diffstat (limited to 'src/livecode/api/point.cpp')
-rw-r--r--src/livecode/api/point.cpp27
1 files changed, 8 insertions, 19 deletions
diff --git a/src/livecode/api/point.cpp b/src/livecode/api/point.cpp
index 6eab6af1d..25d03d4bb 100644
--- a/src/livecode/api/point.cpp
+++ b/src/livecode/api/point.cpp
@@ -10,13 +10,13 @@ extern "C" void geom_point_set(void *p, Janet key, Janet value);
extern "C" void geom_point_tostring(void *p, JanetBuffer *buffer) {
std::stringstream stream;
- stream << "<2geom/point " << *static_cast<Geom::Point *>(p) << ">";
+ stream << "<geom/point " << *static_cast<Geom::Point *>(p) << ">";
janet_buffer_push_cstring(buffer, stream.str().c_str());
}
const JanetAbstractType geom_point_type = {
- "2geom/point",
+ "geom/point",
NULL,
NULL,
geom_point_get,
@@ -39,7 +39,7 @@ Janet janet_wrap_point(Geom::IntPoint const &x) {
return janet_wrap_abstract(box);
}
-Geom::Point janet_unwrap_point(Janet x) {
+Geom::Point &janet_unwrap_point(Janet x) {
if (janet_checktype(x, JANET_ABSTRACT)) {
void *abst = janet_unwrap_abstract(x);
if (janet_abstract_type(abst) == &geom_point_type)
@@ -62,17 +62,6 @@ Geom::Point janet_unwrap_point_or_scalar(Janet x) {
janet_panic("expected a geom/point");
}
-
-Geom::Point& janet_unwrap_point_ref(Janet x) {
- if (janet_checktype(x, JANET_ABSTRACT)) {
- void *abst = janet_unwrap_abstract(x);
- if (janet_abstract_type(abst) == &geom_point_type)
- return *(Geom::Point *)abst;
- }
-
- janet_panic("expected a geom/point");
-}
-
extern "C" Janet cfun_geom_point_new(int32_t argc, Janet *argv) {
janet_arity(argc, 0, 2);
double x = 0;
@@ -89,7 +78,7 @@ extern "C" Janet cfun_geom_point_new(int32_t argc, Janet *argv) {
const JanetReg it_cfuns[] = {
{
- "point", cfun_geom_point_new,
+ "geom/point", cfun_geom_point_new,
"(geom/point x y)\n\nCreate a Point from x/y coordinate values."
},
{NULL, NULL, NULL}
@@ -177,15 +166,15 @@ static Janet cfun_geom_point_div_mut(int32_t argc, Janet *argv) {
static Janet cfun_geom_point_eq(int32_t argc, Janet *argv) {
janet_fixarity(argc, 2);
- Geom::Point& v1 = janet_unwrap_point_ref(argv[0]);
- Geom::Point& v2 = janet_unwrap_point_ref(argv[1]);
+ Geom::Point &v1 = janet_unwrap_point(argv[0]);
+ Geom::Point &v2 = janet_unwrap_point(argv[1]);
return janet_wrap_boolean(v1 == v2);
}
static Janet cfun_geom_point_lt(int32_t argc, Janet *argv) {
janet_fixarity(argc, 2);
- Geom::Point& v1 = janet_unwrap_point_ref(argv[0]);
- Geom::Point& v2 = janet_unwrap_point_ref(argv[1]);
+ Geom::Point &v1 = janet_unwrap_point(argv[0]);
+ Geom::Point &v2 = janet_unwrap_point(argv[1]);
return janet_wrap_boolean(v1 < v2);
}