mirror of
https://github.com/love2d/love.git
synced 2026-08-15 15:51:12 +02:00
Added BezierCurve:renderSegment
This commit is contained in:
@@ -165,6 +165,28 @@ int w_BezierCurve_render(lua_State *L)
|
||||
return 1;
|
||||
}
|
||||
|
||||
int w_BezierCurve_renderSegment(lua_State *L)
|
||||
{
|
||||
BezierCurve *curve = luax_checkbeziercurve(L, 1);
|
||||
double start = luaL_checknumber(L, 2);
|
||||
double end = luaL_checknumber(L, 3);
|
||||
int accuracy = luaL_optinteger(L, 4, 5);
|
||||
|
||||
std::vector<Vector> points;
|
||||
luax_catchexcept(L, [&](){ points = curve->renderSegment(start, end, accuracy); });
|
||||
|
||||
lua_createtable(L, points.size()*2, 0);
|
||||
for (size_t i = 0; i < points.size(); ++i)
|
||||
{
|
||||
lua_pushnumber(L, points[i].x);
|
||||
lua_rawseti(L, -2, 2*i+2);
|
||||
lua_pushnumber(L, points[i].y);
|
||||
lua_rawseti(L, -2, 2*i+2);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static const luaL_Reg functions[] =
|
||||
{
|
||||
{"getDegree", w_BezierCurve_getDegree},
|
||||
@@ -178,6 +200,7 @@ static const luaL_Reg functions[] =
|
||||
{"scale", w_BezierCurve_scale},
|
||||
{"evaluate", w_BezierCurve_evaluate},
|
||||
{"render", w_BezierCurve_render},
|
||||
{"renderSegment", w_BezierCurve_renderSegment},
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user