Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(164)

Unified Diff: src/core/SkRemote.h

Issue 1417703003: SkRemote: shaders (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/core/SkRemote.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/core/SkRemote.h
diff --git a/src/core/SkRemote.h b/src/core/SkRemote.h
index ed99c0f8661335b8b5fbb87387c665bc3a3130a8..6e95f3a158d0425bbd7844df15870da4c791f28b 100644
--- a/src/core/SkRemote.h
+++ b/src/core/SkRemote.h
@@ -11,6 +11,7 @@
#include "SkCanvas.h"
#include "SkPaint.h"
#include "SkRemote_protocol.h"
+#include "SkShader.h"
#include "SkTHash.h"
#include "SkTypes.h"
@@ -45,6 +46,7 @@ namespace SkRemote {
virtual void define(ID, const Misc&) = 0;
virtual void define(ID, const SkPath&) = 0;
virtual void define(ID, const Stroke&) = 0;
+ virtual void define(ID, SkShader*) = 0;
virtual void define(ID, SkXfermode*) = 0;
virtual void undefine(ID) = 0;
@@ -54,12 +56,12 @@ namespace SkRemote {
virtual void setMatrix(ID matrix) = 0;
- // TODO: struct CommonIDs { ID misc; ID xfermode; ... }
+ // TODO: struct CommonIDs { ID misc, shader, xfermode; ... }
// for IDs that affect both fill + stroke?
- virtual void clipPath(ID path, SkRegion::Op, bool aa) = 0;
- virtual void fillPath(ID path, ID misc, ID xfermode) = 0;
- virtual void strokePath(ID path, ID misc, ID xfermode, ID stroke) = 0;
+ virtual void clipPath(ID path, SkRegion::Op, bool aa) = 0;
+ virtual void fillPath(ID path, ID misc, ID shader, ID xfermode) = 0;
+ virtual void strokePath(ID path, ID misc, ID shader, ID xfermode, ID stroke) = 0;
};
class LookupScope;
@@ -84,6 +86,7 @@ namespace SkRemote {
virtual bool lookup(const Misc&, ID*, LookupScope*) = 0;
virtual bool lookup(const SkPath&, ID*, LookupScope*) = 0;
virtual bool lookup(const Stroke&, ID*, LookupScope*) = 0;
+ virtual bool lookup(const SkShader*, ID*, LookupScope*) = 0;
virtual bool lookup(const SkXfermode*, ID*, LookupScope*) = 0;
virtual void cleanup(Encoder*) = 0;
@@ -134,6 +137,7 @@ namespace SkRemote {
void define(ID, const Misc&) override;
void define(ID, const SkPath&) override;
void define(ID, const Stroke&) override;
+ void define(ID, SkShader*) override;
void define(ID, SkXfermode*) override;
void undefine(ID) override;
@@ -143,9 +147,9 @@ namespace SkRemote {
void setMatrix(ID matrix) override;
- void clipPath(ID path, SkRegion::Op, bool aa) override;
- void fillPath(ID path, ID misc, ID xfermode) override;
- void strokePath(ID path, ID misc, ID xfermode, ID stroke) override;
+ void clipPath(ID path, SkRegion::Op, bool aa) override;
+ void fillPath(ID path, ID misc, ID shader, ID xfermode) override;
+ void strokePath(ID path, ID misc, ID shader, ID xfermode, ID stroke) override;
// Maps ID -> T.
template <typename T, Type kType>
@@ -218,6 +222,7 @@ namespace SkRemote {
IDMap<Misc , Type::kMisc > fMisc;
IDMap<SkPath , Type::kPath > fPath;
IDMap<Stroke , Type::kStroke> fStroke;
+ ReffedIDMap<SkShader, Type::kShader> fShader;
ReffedIDMap<SkXfermode, Type::kXfermode> fXfermode;
SkCanvas* fCanvas;
« no previous file with comments | « no previous file | src/core/SkRemote.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698