void KstBindCubicBezier::setLineStyle(KJS::ExecState *exec, const KJS::Value& value) { unsigned w = 0; if (value.type() != KJS::NumberType || !value.toUInt32(w)) { KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError); exec->setException(eobj); return; } KstViewBezierPtr d = makeBezier(_d); if (d) { KstWriteLocker wl(d); switch (w) { case 0: d->setPenStyle(Qt::SolidLine); break; case 1: d->setPenStyle(Qt::DashLine); break; case 2: d->setPenStyle(Qt::DotLine); break; case 3: d->setPenStyle(Qt::DashDotLine); break; case 4: d->setPenStyle(Qt::DashDotDotLine); break; default: return; } KstApp::inst()->paintAll(P_PAINT); } }
KJS::Value KstBindCubicBezier::d(KJS::ExecState *exec) const { KstViewBezierPtr d = makeBezier(_d); if (d) { KstReadLocker rl(d); return KJS::Object(new KstBindPoint(exec, d->pointD().x(), d->pointD().y())); } return KJS::Null(); }
KJS::Value KstBindCubicBezier::width(KJS::ExecState *exec) const { Q_UNUSED(exec) KstViewBezierPtr d = makeBezier(_d); if (d) { KstReadLocker rl(d); return KJS::Number(d->width()); } return KJS::Number(0); }
void DemoKeeper::updateSpline() { std::vector<MyGUI::FloatPoint> points; for (int i = 0; i < PointsCount; ++i) { points.push_back(MyGUI::FloatPoint(point[i]->getLeft() + 8.0f, point[i]->getTop() + 8.0f)); } makeBezier(points, bezierQuality); mPolygonalSkin->setPoints(mLinePoints); }
void KstBindCubicBezier::setWidth(KJS::ExecState *exec, const KJS::Value& value) { unsigned w = 0; if (value.type() != KJS::NumberType || !value.toUInt32(w)) { KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError); exec->setException(eobj); return; } KstViewBezierPtr d = makeBezier(_d); if (d) { KstWriteLocker wl(d); d->setWidth(w); KstApp::inst()->paintAll(P_PAINT); } }
void KstBindCubicBezier::setD(KJS::ExecState *exec, const KJS::Value& value) { KstBindPoint *imp = 0L; if (value.type() != KJS::ObjectType || !(imp = dynamic_cast<KstBindPoint*>(value.toObject(exec).imp()))) { KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError); exec->setException(eobj); return; } KstViewBezierPtr d = makeBezier(_d); if (d) { KstWriteLocker wl(d); d->setPointD(QPoint(int(imp->_x), int(imp->_y))); // FIXME: Point is the wrong // type to use here. It's // a double, for one... KstApp::inst()->paintAll(P_PAINT); } }
KJS::Value KstBindCubicBezier::capStyle(KJS::ExecState *exec) const { Q_UNUSED(exec) KstViewBezierPtr d = makeBezier(_d); if (d) { KstReadLocker rl(d); switch (d->capStyle()) { case Qt::FlatCap: return KJS::Number(0); case Qt::SquareCap: return KJS::Number(1); case Qt::RoundCap: return KJS::Number(2); default: break; } } return KJS::Number(0); }
KJS::Value KstBindCubicBezier::lineStyle(KJS::ExecState *exec) const { Q_UNUSED(exec) KstViewBezierPtr d = makeBezier(_d); if (d) { KstReadLocker rl(d); switch (d->penStyle()) { case Qt::SolidLine: return KJS::Number(0); case Qt::DashLine: return KJS::Number(1); case Qt::DotLine: return KJS::Number(2); case Qt::DashDotLine: return KJS::Number(3); case Qt::DashDotDotLine: return KJS::Number(4); default: break; } } return KJS::Number(0); }