// SPDX-FileCopyrightText: 2020 Carl Schwan // SPDX-License-Identifier: LGPL-2.1-or-later #pragma once #include #include namespace Quotient { /** * @class StickerEvent * * Class to define a sticker event. * * 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). * * @sa Quotient::RoomEvent */ 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) }