// SPDX-FileCopyrightText: 2020 Carl Schwan // SPDX-License-Identifier: LGPL-2.1-or-later #pragma once #include #include namespace Quotient { /// Sticker messages are specialised image messages that are displayed without /// controls (e.g. no "download" link, or light-box view on click, as would be /// displayed for for m.image events). class StickerEvent : public RoomEvent { public: #ifdef QUOTIENT_07 QUO_EVENT(StickerEvent, "m.sticker") #else DEFINE_EVENT_TYPEID("m.sticker", StickerEvent) #endif explicit StickerEvent(const QJsonObject &obj); /// \brief A textual representation or associated description of the /// sticker image. /// /// This could be the alt text of the original image, or a message to /// accompany and further describe the sticker. QString body() const; /// \brief Metadata about the image referred to in url including a /// thumbnail representation. const EventContent::ImageContent &image() const; /// \brief The URL to the sticker image. This must be a valid mxc:// URI. QUrl url() const; private: EventContent::ImageContent m_imageContent; }; REGISTER_EVENT_TYPE(StickerEvent) } // namespace Quotient