| /* |
| * Copyright 2018 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #ifndef GrBackendDrawableInfo_DEFINED |
| #define GrBackendDrawableInfo_DEFINED |
| |
| #include "include/gpu/GrTypes.h" |
| |
| #include "include/gpu/vk/GrVkTypes.h" |
| |
| class SK_API GrBackendDrawableInfo { |
| public: |
| // Creates an invalid backend drawable info. |
| GrBackendDrawableInfo() : fIsValid(false) {} |
| |
| GrBackendDrawableInfo(const GrVkDrawableInfo& info) |
| : fIsValid(true) |
| , fBackend(GrBackendApi::kVulkan) |
| , fVkInfo(info) {} |
| |
| // Returns true if the backend texture has been initialized. |
| bool isValid() const { return fIsValid; } |
| |
| GrBackendApi backend() const { return fBackend; } |
| |
| bool getVkDrawableInfo(GrVkDrawableInfo* outInfo) const { |
| if (this->isValid() && GrBackendApi::kVulkan == fBackend) { |
| *outInfo = fVkInfo; |
| return true; |
| } |
| return false; |
| } |
| |
| private: |
| bool fIsValid; |
| GrBackendApi fBackend; |
| GrVkDrawableInfo fVkInfo; |
| }; |
| |
| #endif |