Stream Chat Unreal SDK
Loading...
Searching...
No Matches
TextBubbleWidget.h
1// Copyright 2022 Stream.IO, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Channel/Message.h"
6#include "Common/Html/HtmlTextBlock.h"
7#include "Components/Border.h"
8#include "CoreMinimal.h"
9#include "MessagePosition.h"
10#include "MessageSide.h"
11#include "StreamWidget.h"
12
13#include "TextBubbleWidget.generated.h"
14
18UCLASS()
19class STREAMCHATUI_API UTextBubbleWidget final : public UStreamWidget
20{
21 GENERATED_BODY()
22
23public:
24 UTextBubbleWidget();
25 UFUNCTION(BlueprintCallable, Category = "Stream Chat")
26 void Setup(const FMessage& InMessage, EMessageSide InSide, EMessagePosition InPosition);
27
28protected:
29 UPROPERTY(meta = (BindWidget))
30 UHtmlTextBlock* TextBlock;
31 UPROPERTY(meta = (BindWidget))
32 UBorder* Border;
33
34 UPROPERTY(EditAnywhere, Category = Bubble)
35 UTexture2D* MaskOpeningTexture;
36 UPROPERTY(EditAnywhere, Category = Bubble)
37 UTexture2D* MaskEndTexture;
38 UPROPERTY(EditAnywhere, Category = Bubble)
39 UTexture2D* YouOpeningTexture;
40 UPROPERTY(EditAnywhere, Category = Bubble)
41 UTexture2D* YouEndTexture;
42 UPROPERTY(EditAnywhere, Category = Emoji)
43 FSlateFontInfo SingleEmojiFont;
44 UPROPERTY(EditAnywhere, Category = Emoji)
45 float SingleEmojiBorderStyle = 32.f;
46
47 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Setup)
48 FMessage Message;
49 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Setup)
50 EMessagePosition Position;
51 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Setup)
52 EMessageSide Side;
53
54private:
55 virtual void OnSetup() override;
56 virtual void NativePreConstruct() override;
57
58 UTexture2D* GetBubbleTexture() const;
59 const FLinearColor& GetBubbleColor() const;
60 FText GetText() const;
61 bool IsSingleEmoji() const;
62};
Represents a Stream Chat message.
Definition: Message.h:66