Lines Matching refs:Op
41 // Helper for getting back at arrays which have been copy_v'd together after an Op.
43 static D* pod(T* op, size_t offset = 0) {
44 return SkTAddOffset<D>(op+1, offset);
64 struct Op {
68 static_assert(sizeof(Op) == 4, "");
70 struct SetDrawFilter final : Op {
83 struct Save final : Op {
87 struct Restore final : Op {
91 struct SaveLayer final : Op {
109 struct Concat final : Op {
115 struct SetMatrix final : Op {
123 struct Translate final : Op {
131 struct TranslateZ final : Op {
142 struct ClipPath final : Op {
144 ClipPath(const SkPath& path, SkClipOp op, bool aa) : path(path), op(op), aa(aa) {}
146 SkClipOp op;
148 void draw(SkCanvas* c, const SkMatrix&) { c->clipPath(path, op, aa); }
150 struct ClipRect final : Op {
152 ClipRect(const SkRect& rect, SkClipOp op, bool aa) : rect(rect), op(op), aa(aa) {}
154 SkClipOp op;
156 void draw(SkCanvas* c, const SkMatrix&) { c->clipRect(rect, op, aa); }
158 struct ClipRRect final : Op {
160 ClipRRect(const SkRRect& rrect, SkClipOp op, bool aa) : rrect(rrect), op(op), aa(aa) {}
162 SkClipOp op;
164 void draw(SkCanvas* c, const SkMatrix&) { c->clipRRect(rrect, op, aa); }
166 struct ClipRegion final : Op {
168 ClipRegion(const SkRegion& region, SkClipOp op) : region(region), op(op) {}
170 SkClipOp op;
171 void draw(SkCanvas* c, const SkMatrix&) { c->clipRegion(region, op); }
174 struct DrawPaint final : Op {
180 struct DrawPath final : Op {
187 struct DrawRect final : Op {
194 struct DrawRegion final : Op {
201 struct DrawOval final : Op {
208 struct DrawArc final : Op {
222 struct DrawRRect final : Op {
229 struct DrawDRRect final : Op {
238 struct DrawAnnotation final : Op {
247 struct DrawDrawable final : Op {
258 struct DrawPicture final : Op {
273 struct DrawShadowedPicture final : Op {
293 struct DrawImage final : Op {
304 struct DrawImageNine final : Op {
319 struct DrawImageRect final : Op {
335 struct DrawImageLattice final : Op {
356 struct DrawText final : Op {
367 struct DrawPosText final : Op {
380 struct DrawPosTextH final : Op {
394 struct DrawTextOnPath final : Op {
409 struct DrawTextRSXform final : Op {
423 struct DrawTextBlob final : Op {
435 struct DrawPatch final : Op {
457 struct DrawPoints final : Op {
468 struct DrawVertices final : Op {
479 struct DrawAtlas final : Op {
516 auto op = (T*)(fBytes.get() + fUsed);
518 new (op) T{ std::forward<Args>(args)... };
519 op->type = (uint32_t)T::kType;
520 op->skip = skip;
521 return op+1;
528 auto op = (Op*)ptr;
529 auto type = op->type;
530 auto skip = op->skip;
531 if (auto fn = fns[type]) { // We replace no-op functions with nullptrs
532 fn(op, args...); // to avoid the overhead of a pointless call.
556 void SkLiteDL::clipPath(const SkPath& path, SkClipOp op, bool aa) {
557 this->push<ClipPath>(0, path, op, aa);
559 void SkLiteDL::clipRect(const SkRect& rect, SkClipOp op, bool aa) {
560 this->push<ClipRect>(0, rect, op, aa);
562 void SkLiteDL::clipRRect(const SkRRect& rrect, SkClipOp op, bool aa) {
563 this->push<ClipRRect>(0, rrect, op, aa);
565 void SkLiteDL::clipRegion(const SkRegion& region, SkClipOp op) {
566 this->push<ClipRegion>(0, region, op);
698 #define M(T) [](void* op, SkCanvas* c, const SkMatrix& original) { ((T*)op)->draw(c, original); },
710 #define M(T) !can_skip_destructor<T>::value ? [](void* op) { ((T*)op)->~T(); } : (void_fn)nullptr,