Lines Matching refs:task
274 static void _renderFill(SwShapeTask* task, SwSurface* surface, uint8_t opacity) in _renderFill() argument
277 if (auto fill = task->rshape->fill) { in _renderFill()
278 rasterGradientShape(surface, &task->shape, fill, opacity); in _renderFill()
280 task->rshape->fillColor(&r, &g, &b, &a); in _renderFill()
282 if (a > 0) rasterShape(surface, &task->shape, r, g, b, a); in _renderFill()
286 static void _renderStroke(SwShapeTask* task, SwSurface* surface, uint8_t opacity) in _renderStroke() argument
289 if (auto strokeFill = task->rshape->strokeFill()) { in _renderStroke()
290 rasterGradientStroke(surface, &task->shape, strokeFill, opacity); in _renderStroke()
292 if (task->rshape->strokeColor(&r, &g, &b, &a)) { in _renderStroke()
294 if (a > 0) rasterStroke(surface, &task->shape, r, g, b, a); in _renderStroke()
319 for (auto task = tasks.begin(); task < tasks.end(); ++task) { in clear() local
320 if ((*task)->disposed) { in clear()
321 delete(*task); in clear()
323 (*task)->done(); in clear()
324 (*task)->pushed = false; in clear()
405 for (auto task = tasks.begin(); task < tasks.end(); ++task) { in postRender() local
406 if ((*task)->disposed) delete(*task); in postRender()
407 else (*task)->pushed = false; in postRender()
417 auto task = static_cast<SwImageTask*>(data); in renderImage() local
418 task->done(); in renderImage()
420 if (task->opacity == 0) return true; in renderImage()
422 return rasterImage(surface, &task->image, task->transform, task->bbox, task->opacity); in renderImage()
428 auto task = static_cast<SwShapeTask*>(data); in renderShape() local
429 if (!task) return false; in renderShape()
431 task->done(); in renderShape()
433 if (task->opacity == 0) return true; in renderShape()
436 if (task->rshape->stroke && task->rshape->stroke->strokeFirst) { in renderShape()
437 _renderStroke(task, surface, task->opacity); in renderShape()
438 _renderFill(task, surface, task->opacity); in renderShape()
440 _renderFill(task, surface, task->opacity); in renderShape()
441 _renderStroke(task, surface, task->opacity); in renderShape()
680 auto task = static_cast<SwTask*>(data); in dispose() local
681 if (!task) return; in dispose()
682 task->done(); in dispose()
683 task->dispose(); in dispose()
685 if (task->pushed) task->disposed = true; in dispose()
686 else delete(task); in dispose()
690 void* SwRenderer::prepareCommon(SwTask* task, const Matrix& transform, const Array<RenderData>& cli… in prepareCommon() argument
692 if (!surface) return task; in prepareCommon()
693 if (flags == RenderUpdateFlag::None) return task; in prepareCommon()
702 task->clips = clips; in prepareCommon()
703 task->transform = transform; in prepareCommon()
706 if (task->transform.e11 == 0.0f && task->transform.e12 == 0.0f) return task; //zero width in prepareCommon()
707 if (task->transform.e21 == 0.0f && task->transform.e22 == 0.0f) return task; //zero height in prepareCommon()
709 task->opacity = opacity; in prepareCommon()
710 task->surface = surface; in prepareCommon()
711 task->mpool = mpool; in prepareCommon()
712 task->flags = flags; in prepareCommon()
713 task->bbox.min.x = std::max(static_cast<SwCoord>(0), static_cast<SwCoord>(vport.x)); in prepareCommon()
714 task->bbox.min.y = std::max(static_cast<SwCoord>(0), static_cast<SwCoord>(vport.y)); in prepareCommon()
715 …task->bbox.max.x = std::min(static_cast<SwCoord>(surface->w), static_cast<SwCoord>(vport.x + vport… in prepareCommon()
716 …task->bbox.max.y = std::min(static_cast<SwCoord>(surface->h), static_cast<SwCoord>(vport.y + vport… in prepareCommon()
718 if (!task->pushed) { in prepareCommon()
719 task->pushed = true; in prepareCommon()
720 tasks.push(task); in prepareCommon()
723 TaskScheduler::request(task); in prepareCommon()
725 return task; in prepareCommon()
732 auto task = static_cast<SwImageTask*>(data); in prepare() local
733 if (!task) task = new SwImageTask; in prepare()
734 else task->done(); in prepare()
736 task->source = surface; in prepare()
738 return prepareCommon(task, transform, clips, opacity, flags); in prepare()
745 auto task = static_cast<SwShapeTask*>(data); in prepare() local
746 if (!task) task = new SwShapeTask; in prepare()
747 else task->done(); in prepare()
749 task->rshape = &rshape; in prepare()
750 task->clipper = clipper; in prepare()
752 return prepareCommon(task, transform, clips, opacity, flags); in prepare()