JSValue* jsCanvasRenderingContext2DPrototypeFunctionArc(ExecState* exec, JSObject*, JSValue* thisValue, const ArgList& args) { if (!thisValue->isObject(&JSCanvasRenderingContext2D::s_info)) return throwError(exec, TypeError); JSCanvasRenderingContext2D* castedThisObj = static_cast<JSCanvasRenderingContext2D*>(thisValue); CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThisObj->impl()); ExceptionCode ec = 0; float x = args[0]->toFloat(exec); float y = args[1]->toFloat(exec); float radius = args[2]->toFloat(exec); float startAngle = args[3]->toFloat(exec); float endAngle = args[4]->toFloat(exec); bool anticlockwise = args[5]->toBoolean(exec); imp->arc(x, y, radius, startAngle, endAngle, anticlockwise, ec); setDOMException(exec, ec); return jsUndefined(); }
void BoardDrawer::drawMine(int row, int col) { m_ctx->clearRect(col * 10, row * 10, 10, 10); m_ctx->beginPath(); m_ctx->arc(col * 10 + 5, row * 10 + 5, 4.5, 0, 2 * M_PI); m_ctx->stroke(); }