| |
| /* |
| * Copyright 2012 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #ifndef GrGLPath_DEFINED |
| #define GrGLPath_DEFINED |
| |
| #include "../GrPath.h" |
| #include "gl/GrGLFunctions.h" |
| |
| class GrGpuGL; |
| class SkPath; |
| |
| /** |
| * Currently this represents a path built using GL_NV_path_rendering. If we |
| * support other GL path extensions then this would have to have a type enum |
| * and/or be subclassed. |
| */ |
| |
| class GrGLPath : public GrPath { |
| public: |
| GrGLPath(GrGpuGL* gpu, const SkPath& path); |
| virtual ~GrGLPath(); |
| GrGLuint pathID() const { return fPathID; } |
| // TODO: Figure out how to get an approximate size of the path in Gpu |
| // memory. |
| virtual size_t sizeInBytes() const SK_OVERRIDE { return 100; } |
| |
| protected: |
| virtual void onRelease() SK_OVERRIDE; |
| virtual void onAbandon() SK_OVERRIDE; |
| |
| private: |
| GrGLuint fPathID; |
| |
| typedef GrPath INHERITED; |
| }; |
| |
| #endif |