#[non_exhaustive]pub struct ImageEventContent {
pub text: TextContentBlock,
pub file: FileContentBlock,
pub image_details: Option<ImageDetailsContentBlock>,
pub thumbnail: ThumbnailContentBlock,
pub caption: Option<CaptionContentBlock>,
pub alt_text: Option<AltTextContentBlock>,
pub relates_to: Option<Relation<ImageEventContentWithoutRelation>>,
}Expand description
The payload for an extensible image message.
This is the new primary type introduced in MSC3552 and should only be sent in rooms with a
version that supports it. This type replaces both the m.room.message type with msgtype: "m.image" and the m.sticker type. To replace the latter, sticker must be set to true in
image_details. See the documentation of the message module for more information.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.text: TextContentBlockThe text representation of the message.
file: FileContentBlockThe file content of the message.
image_details: Option<ImageDetailsContentBlock>The image details of the message, if any.
thumbnail: ThumbnailContentBlockThe thumbnails of the message, if any.
This is optional and defaults to an empty array.
caption: Option<CaptionContentBlock>The caption of the message, if any.
alt_text: Option<AltTextContentBlock>The alternative text of the image, for accessibility considerations, if any.
relates_to: Option<Relation<ImageEventContentWithoutRelation>>Information about related messages.
Implementations§
Source§impl ImageEventContent
impl ImageEventContent
Sourcepub fn new(text: TextContentBlock, file: FileContentBlock) -> ImageEventContent
pub fn new(text: TextContentBlock, file: FileContentBlock) -> ImageEventContent
Creates a new ImageEventContent with the given fallback representation and
file.
Sourcepub fn with_plain_text(
plain_text: impl Into<String>,
file: FileContentBlock,
) -> ImageEventContent
pub fn with_plain_text( plain_text: impl Into<String>, file: FileContentBlock, ) -> ImageEventContent
Creates a new ImageEventContent with the given plain text fallback representation and
file.
Trait Implementations§
Source§impl Clone for ImageEventContent
impl Clone for ImageEventContent
Source§fn clone(&self) -> ImageEventContent
fn clone(&self) -> ImageEventContent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ImageEventContent
impl Debug for ImageEventContent
Source§impl<'de> Deserialize<'de> for ImageEventContent
impl<'de> Deserialize<'de> for ImageEventContent
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ImageEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ImageEventContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl From<ImageEventContent> for AnyMessageLikeEventContent
impl From<ImageEventContent> for AnyMessageLikeEventContent
Source§fn from(c: ImageEventContent) -> AnyMessageLikeEventContent
fn from(c: ImageEventContent) -> AnyMessageLikeEventContent
Source§impl From<ImageEventContent> for ImageEventContentWithoutRelation
impl From<ImageEventContent> for ImageEventContentWithoutRelation
Source§fn from(c: ImageEventContent) -> ImageEventContentWithoutRelation
fn from(c: ImageEventContent) -> ImageEventContentWithoutRelation
Source§impl MessageLikeEventContent for ImageEventContent
impl MessageLikeEventContent for ImageEventContent
Source§fn event_type(&self) -> MessageLikeEventType
fn event_type(&self) -> MessageLikeEventType
m.room.message.Source§impl RedactContent for ImageEventContent
impl RedactContent for ImageEventContent
Source§type Redacted = RedactedImageEventContent
type Redacted = RedactedImageEventContent
Source§fn redact(self, _rules: &RedactionRules) -> RedactedImageEventContent
fn redact(self, _rules: &RedactionRules) -> RedactedImageEventContent
self into a redacted form (removing most or all fields) according to the spec. Read moreSource§impl Serialize for ImageEventContent
impl Serialize for ImageEventContent
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl JsonCastable<AnyMessageLikeEventContent> for ImageEventContent
impl JsonCastable<ImageEventContentWithoutRelation> for ImageEventContent
impl JsonCastable<Map<String, Value>> for ImageEventContent
impl JsonCastable<RedactedImageEventContent> for ImageEventContent
Auto Trait Implementations§
impl Freeze for ImageEventContent
impl RefUnwindSafe for ImageEventContent
impl Send for ImageEventContent
impl Sync for ImageEventContent
impl Unpin for ImageEventContent
impl UnwindSafe for ImageEventContent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> CompatExt for T
impl<T> CompatExt for T
Source§impl<T> DeserialiseFromJs for Twhere
T: DeserializeOwned,
impl<T> DeserialiseFromJs for Twhere
T: DeserializeOwned,
Source§fn deserialise_from_js(js: JsValue) -> Result<T, Error>
fn deserialise_from_js(js: JsValue) -> Result<T, Error>
serde_wasm_bindgen.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> EventContentFromType for Twhere
T: StaticEventContent + DeserializeOwned,
impl<T> EventContentFromType for Twhere
T: StaticEventContent + DeserializeOwned,
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Arc<> Read moreSource§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> SerialiseToJs for Twhere
T: Serialize,
impl<T> SerialiseToJs for Twhere
T: Serialize,
Source§fn serialise_to_js(&self) -> Result<JsValue, Error>
fn serialise_to_js(&self) -> Result<JsValue, Error>
JsValue, most likely using serde_wasm_bindgen.