/* * 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