OLD | NEW |
| (Empty) |
1 /* | |
2 * Copyright 2011 Google Inc. | |
3 * | |
4 * Use of this source code is governed by a BSD-style license that can be | |
5 * found in the LICENSE file. | |
6 */ | |
7 | |
8 #ifndef SkEmptyShader_DEFINED | |
9 #define SkEmptyShader_DEFINED | |
10 | |
11 #include "SkShader.h" | |
12 | |
13 // TODO: move this to private, as there is a public factory on SkShader | |
14 | |
15 /** | |
16 * \class SkEmptyShader | |
17 * A Shader that always draws nothing. Its createContext always returns NULL. | |
18 */ | |
19 class SK_API SkEmptyShader : public SkShader { | |
20 public: | |
21 SkEmptyShader() {} | |
22 | |
23 virtual size_t contextSize() const SK_OVERRIDE { | |
24 // Even though createContext returns NULL we have to return a value of a
t least | |
25 // sizeof(SkShader::Context) to satisfy SkSmallAllocator. | |
26 return sizeof(SkShader::Context); | |
27 } | |
28 | |
29 SK_TO_STRING_OVERRIDE() | |
30 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkEmptyShader) | |
31 | |
32 protected: | |
33 SkEmptyShader(SkReadBuffer& buffer) : INHERITED(buffer) {} | |
34 | |
35 virtual SkShader::Context* onCreateContext(const ContextRec&, void*) const S
K_OVERRIDE { | |
36 return NULL; | |
37 } | |
38 | |
39 private: | |
40 typedef SkShader INHERITED; | |
41 }; | |
42 | |
43 #endif | |
OLD | NEW |