// Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #pragma once #include #include "flutter/fml/macros.h" #include "flutter/fml/mapping.h" #include "impeller/geometry/size.h" #include "impeller/image/decompressed_image.h" namespace impeller { class ImageSource; class CompressedImage { public: virtual ~CompressedImage(); [[nodiscard]] virtual DecompressedImage Decode() const = 0; bool IsValid() const; protected: const std::shared_ptr source_; CompressedImage(std::shared_ptr allocation); }; } // namespace impeller