Chromium Code Reviews| Index: src/gpu/gl/GrGLUniformManager.h |
| diff --git a/src/gpu/gl/GrGLUniformManager.h b/src/gpu/gl/GrGLUniformManager.h |
| index ee693a6a5bba7d8554416a07f5b43b9e9c3504a7..a9cf3ad702ea1b55e2931a695a2af19378652d65 100644 |
| --- a/src/gpu/gl/GrGLUniformManager.h |
| +++ b/src/gpu/gl/GrGLUniformManager.h |
| @@ -22,8 +22,27 @@ class SkMatrix; |
| class GrGLUniformManager { |
| public: |
| // Opaque handle to a uniform |
| - typedef int UniformHandle; |
| - static const UniformHandle kInvalidUniformHandle = 0; |
| + class UniformHandle { |
| + public: |
| + static UniformHandle CreateFromUniformIndex(int i); |
| + |
| + int toUniformIndex() const { GrAssert(isValid()); return ~fHandle; } |
|
bsalomon
2013/08/09 13:19:40
Can we make this private to GrGLUniformManager?
I
Kimmo Kinnunen
2013/08/13 09:00:33
Done.
|
| + bool isValid() const { return 0 != fHandle; } |
| + |
| + bool operator==(const UniformHandle& other) const { return other.fHandle == fHandle; } |
| + |
| + UniformHandle() |
| + : fHandle(0) { |
| + } |
| + |
| + private: |
| + UniformHandle(int handle) |
| + : fHandle(~handle) { |
| + GrAssert(isValid()); |
| + } |
| + |
| + int fHandle; |
| + }; |
| GrGLUniformManager(const GrGLContext& context) : fContext(context) {} |