/* This file is part of Telegram Desktop, the official desktop application for the Telegram messaging service. For license and copyright information please follow this link: https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #pragma once class Image; class DocumentData; class PhotoData; namespace Data { class PhotoMedia; class DocumentMedia; struct FileOrigin; class ReplyPreview { public: explicit ReplyPreview(not_null document); explicit ReplyPreview(not_null photo); ~ReplyPreview(); [[nodiscard]] Image *image( Data::FileOrigin origin, not_null context); [[nodiscard]] bool loaded() const; private: void prepare(not_null image, Images::Options options); std::unique_ptr _image; PhotoData *_photo = nullptr; DocumentData *_document = nullptr; std::shared_ptr _photoMedia; std::shared_ptr _documentMedia; bool _good = false; bool _checked = false; }; } // namespace Data