15#include "CanvasTypes.generated.h"
87 , Scaling(1.f,1.f), DrawFont(
inFont)
88 , SpacingAdjust( 0.0f, 0.0f )
92 : DrawX(0.f), DrawY(0.f), DrawXL(0.f), DrawYL(0.f)
94 , SpacingAdjust( 0.0f, 0.0f )
138 struct FWrappingState
199 int32 FindLastBreakCandidateBetween(
const int32 StartIndex,
const int32 WrapIndex);
200 int32 FindEndOfLastWholeGraphemeCluster(
const int32 StartIndex,
const int32 WrapIndex);
276 ENGINE_API void AddTileRenderItem(
float X,
float Y,
float SizeX,
float SizeY,
float U,
float V,
float SizeU,
float SizeV,
const FMaterialRenderProxy* MaterialRenderProxy,
FHitProxyId HitProxyId,
bool bFreezeTime,
FColor InColor);
370 return TransformStack.Top().GetMatrix() * TransformStack[0].GetMatrix().InverseFast();
379 return TransformStack[0].GetMatrix();
388 return TransformStack.Top().GetMatrix();
430 bRenderTargetDirty = bDirty;
464 if (DepthSortKeyStack.
Num() > 0)
466 Result = DepthSortKeyStack.
Pop();
484 return DepthSortKeyStack.
Top();
565 return TransformStack;
574 bScaledToRenderTarget = bScale;
605 float GetDPIScale()
const {
return bStereoRendering ? 1.0f : DPIScale; }
631 bool bRenderTargetDirty;
635 bool bScaledToRenderTarget;
640 bool bStereoRendering;
643 bool bUseInternalTexture;
646 bool bWriteDestinationAlpha;
717 ENGINE_API void DrawTile(
double X,
double Y,
double SizeX,
double SizeY,
float U,
float V,
float SizeU,
float SizeV,
const FLinearColor&
Color,
const FTexture*
Texture =
NULL,
bool AlphaBlend =
true);
718 ENGINE_API void DrawTile(
double X,
double Y,
double SizeX,
double SizeY,
float U,
float V,
float SizeU,
float SizeV,
const FLinearColor&
Color,
const FTexture*
Texture,
ESimpleElementBlendMode BlendMode);
#define NULL
Definition oodle2base.h:134
#define checkSlow(expr)
Definition AssertionMacros.h:332
ENGINE_API void StringSize(const UFont *Font, int32 &XL, int32 &YL, FStringView Text)
Definition Canvas.cpp:1181
@ ForceInit
Definition CoreMiscDefines.h:155
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EElementType
Definition DrawElementCoreTypes.h:35
EBlendMode
Definition EngineTypes.h:245
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
ESimpleElementBlendMode
Definition SceneTypes.h:191
@ SE_BLEND_MAX
Definition SceneTypes.h:212
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
UE_REWRITE T CopyTemp(T &Val)
Definition UnrealTemplate.h:554
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition BatchedElements.h:88
Definition BatchedElements.h:102
Definition CanvasTypes.h:794
virtual bool Render_GameThread(const FCanvas *Canvas, FCanvasRenderThreadScope &RenderScope)=0
virtual ~FCanvasBaseRenderItem()
Definition CanvasTypes.h:796
virtual bool Render_RenderThread(FCanvasRenderContext &RenderContext, FMeshPassProcessorRenderState &DrawRenderState, const FCanvas *Canvas)=0
virtual class FCanvasTriangleRendererItem * GetCanvasTriangleRendererItem()
Definition CanvasTypes.h:835
virtual class FCanvasTileRendererItem * GetCanvasTileRendererItem()
Definition CanvasTypes.h:828
virtual class FCanvasBatchedElementRenderItem * GetCanvasBatchedElementRenderItem()
Definition CanvasTypes.h:821
Definition CanvasBatchedElementRenderItem.h:16
Definition CanvasItem.h:25
Definition CanvasRender.h:9
Definition CanvasRender.h:95
Definition CanvasRendererItem.h:13
Definition CanvasRendererItem.h:161
Definition CanvasTypes.h:132
ENGINE_API FCanvasWordWrapper()
Definition Canvas.cpp:116
TArray< TPair< int32, int32 > > FWrappedLineData
Definition CanvasTypes.h:135
Definition CanvasTypes.h:744
int32 DepthSortKey
Definition CanvasTypes.h:765
TArray< class FCanvasBaseRenderItem * > RenderBatchArray
Definition CanvasTypes.h:767
FCanvasSortElement(int32 InDepthSortKey=0)
Definition CanvasTypes.h:749
bool operator==(const FCanvasSortElement &Other) const
Definition CanvasTypes.h:759
Definition CanvasTypes.h:537
FTransformEntry(const FMatrix &InMatrix)
Definition CanvasTypes.h:539
uint32 GetMatrixCRC() const
Definition CanvasTypes.h:553
const FMatrix & GetMatrix() const
Definition CanvasTypes.h:549
void SetMatrix(const FMatrix &InMatrix)
Definition CanvasTypes.h:544
Definition CanvasTypes.h:211
ENGINE_API void SetRenderTarget_GameThread(FRenderTarget *NewRenderTarget)
Definition Canvas.cpp:1042
ENGINE_API void PopTransform()
Definition Canvas.cpp:987
const FMatrix & GetFullTransform() const
Definition CanvasTypes.h:386
ECanvasAllowModes
Definition CanvasTypes.h:228
@ Allow_DeleteOnRender
Definition CanvasTypes.h:232
@ Allow_Flush
Definition CanvasTypes.h:230
static ENGINE_API ESimpleElementBlendMode BlendToSimpleElementBlend(EBlendMode BlendMode)
Definition Canvas.cpp:1601
const FMatrix & GetBottomTransform() const
Definition CanvasTypes.h:377
void SetAllowedModes(uint32 InAllowedModes)
Definition CanvasTypes.h:492
bool IsStereoRendering() const
Definition CanvasTypes.h:582
ENGINE_API int32 DrawShadowedText(double StartX, double StartY, const FText &Text, const UFont *Font, const FLinearColor &Color, const FLinearColor &ShadowColor=FLinearColor::Black)
Definition Canvas.cpp:1154
FHitProxyId GetHitProxyId() const
Definition CanvasTypes.h:440
static ENGINE_API FMatrix CalcProjectionMatrix(uint32 ViewSizeX, uint32 ViewSizeY, float fFOV, float NearPlane)
Definition Canvas.cpp:439
float GetDPIScale() const
Definition CanvasTypes.h:605
ENGINE_API void SetRenderTargetRect(const FIntRect &ViewRect)
Definition Canvas.cpp:1056
void SetStereoRendering(bool bStereo=true)
Definition CanvasTypes.h:578
ENGINE_API void WrapString(FTextSizingParameters &Parameters, const float InCurX, FStringView Text, TArray< FWrappedStringElement > &out_Lines, FCanvasWordWrapper::FWrappedLineData *const OutWrappedLineData=nullptr)
Definition Canvas.cpp:1172
bool IsWriteDestinationAlphaSet() const
Definition CanvasTypes.h:596
ENGINE_API void DrawItem(FCanvasItem &Item)
Definition Canvas.cpp:2088
EElementType
Definition CanvasTypes.h:218
@ ET_MAX
Definition CanvasTypes.h:221
@ ET_Line
Definition CanvasTypes.h:219
@ ET_Triangle
Definition CanvasTypes.h:220
static ENGINE_API FMatrix CalcViewMatrix(uint32 ViewSizeX, uint32 ViewSizeY, float fFOV)
Definition Canvas.cpp:417
bool IsScaledToRenderTarget() const
Definition CanvasTypes.h:576
float AlphaModulate
Definition CanvasTypes.h:533
static ENGINE_API FMatrix CalcBaseTransform3D(uint32 ViewSizeX, uint32 ViewSizeY, float fFOV, float NearPlane)
Definition Canvas.cpp:409
ENGINE_API ~FCanvas()
Definition Canvas.cpp:762
bool HasBatchesToRender() const
Definition Canvas.cpp:1004
void SetWriteDestinationAlpha(const bool bInForceWriteAlpha)
Definition CanvasTypes.h:591
ENGINE_API void PushAbsoluteTransform(const FMatrix &Transform)
Definition Canvas.cpp:975
bool IsHitTesting() const
Definition CanvasTypes.h:442
int32 LastElementIndex
Definition CanvasTypes.h:776
ENGINE_API void AddTriangleRenderItem(const FCanvasUVTri &Tri, const FMaterialRenderProxy *MaterialRenderProxy, FHitProxyId HitProxyId, bool bFreezeTime)
Definition Canvas.cpp:732
ENGINE_API void AddTileRenderItem(float X, float Y, float SizeX, float SizeY, float U, float V, float SizeU, float SizeV, const FMaterialRenderProxy *MaterialRenderProxy, FHitProxyId HitProxyId, bool bFreezeTime, FColor InColor)
Definition Canvas.cpp:702
int32 PopDepthSortKey()
Definition CanvasTypes.h:461
static ENGINE_API FMatrix CalcBaseTransform2D(uint32 ViewSizeX, uint32 ViewSizeY)
Definition Canvas.cpp:391
ECanvasDrawMode
Definition CanvasTypes.h:236
@ CDM_ImmediateDrawing
Definition CanvasTypes.h:238
@ CDM_DeferDrawing
Definition CanvasTypes.h:237
TArray< FCanvasSortElement > SortedElements
Definition CanvasTypes.h:771
ERHIFeatureLevel::Type GetFeatureLevel() const
Definition CanvasTypes.h:523
const FIntRect & GetViewRect() const
Definition CanvasTypes.h:567
ENGINE_API EShaderPlatform GetShaderPlatform() const
Definition Canvas.cpp:2119
void SetScaledToRenderTarget(bool bScale=true)
Definition CanvasTypes.h:572
TMap< int32, int32 > SortedElementLookupMap
Definition CanvasTypes.h:773
ENGINE_API void DrawNGon(const FVector2D &Center, const FColor &Color, int32 NumSides, float Radius)
Definition Canvas.cpp:1148
void SetUseInternalTexture(const bool bInUseInternalTexture)
Definition CanvasTypes.h:584
ENGINE_API void SetRenderTargetScissorRect(const FIntRect &ScissorRect)
Definition Canvas.cpp:1061
ENGINE_API void Flush_RenderThread(FRHICommandListImmediate &RHICmdList, bool bForce=false)
Definition Canvas.cpp:768
ENGINE_API int32 DrawShadowedString(double StartX, double StartY, FStringView Text, const UFont *Font, const FLinearColor &Color, const FLinearColor &ShadowColor=FLinearColor::Black)
Definition Canvas.cpp:1130
TSharedPtr< FCanvasWordWrapper > WordWrapper
Definition CanvasTypes.h:608
bool IsUsingInternalTexture() const
Definition CanvasTypes.h:589
ENGINE_API void DrawTile(double X, double Y, double SizeX, double SizeY, float U, float V, float SizeU, float SizeV, const FLinearColor &Color, const FTexture *Texture=NULL, bool AlphaBlend=true)
Definition Canvas.cpp:1102
void SetRenderTargetDirty(bool bDirty)
Definition CanvasTypes.h:428
ENGINE_API FBatchedElements * GetBatchedElements(EElementType InElementType, FBatchedElementParameters *InBatchedElementParameters=NULL, const FTexture *Texture=NULL, ESimpleElementBlendMode BlendMode=SE_BLEND_MAX, const FDepthFieldGlowInfo &GlowInfo=FDepthFieldGlowInfo(), bool bApplyDPIScale=true)
Definition Canvas.cpp:666
FSceneInterface * GetScene() const
Definition CanvasTypes.h:444
void SetParentCanvasSize(FIntPoint InParentSize)
Definition CanvasTypes.h:598
ENGINE_API FCanvasSortElement & GetSortElement(int32 DepthSortKey)
Definition Canvas.cpp:632
const FGameTime & GetTime() const
Definition CanvasTypes.h:664
FMatrix GetTransform() const
Definition CanvasTypes.h:368
ENGINE_API void SetBaseTransform(const FMatrix &Transform)
Definition Canvas.cpp:378
ENGINE_API void CopyTransformStack(const FCanvas &Copy)
Definition Canvas.cpp:1037
ENGINE_API void PushRelativeTransform(const FMatrix &Transform)
Definition Canvas.cpp:957
const TArray< FTransformEntry > & GetTransformStack() const
Definition CanvasTypes.h:563
uint32 GetAllowedModes() const
Definition CanvasTypes.h:501
FRenderTarget * GetRenderTarget() const
Definition CanvasTypes.h:406
ENGINE_API void SetHitProxy(HHitProxy *HitProxy)
Definition Canvas.cpp:992
FIntPoint GetParentCanvasSize() const
Definition CanvasTypes.h:603
ENGINE_API void Flush_GameThread(bool bForce=false)
Definition Canvas.cpp:870
int32 TopDepthSortKey()
Definition CanvasTypes.h:481
void ClearBatchesToRender()
Definition Canvas.cpp:1020
FHitProxyConsumer * GetHitProxyConsumer() const
Definition CanvasTypes.h:441
void PushDepthSortKey(int32 InSortKey)
Definition CanvasTypes.h:451
Definition HitProxies.h:218
Definition HitProxies.h:86
Definition MaterialRenderProxy.h:102
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:571
Definition UnrealClient.h:30
Definition SceneInterface.h:106
Definition RenderResource.h:354
Definition HitProxies.h:135
FHitProxyId Id
Definition HitProxies.h:153
Definition IBreakIterator.h:9
UE_REWRITE SizeType Num() const
Definition Array.h:1144
UE_NODEBUG UE_FORCEINLINE_HINT void Push(ElementType &&Item)
Definition Array.h:1224
ElementType Pop(EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:1196
UE_NODEBUG UE_FORCEINLINE_HINT ElementType & Top() UE_LIFETIMEBOUND
Definition Array.h:1248
Definition UnrealString.h.inl:34
Definition RefCounting.h:454
Definition SharedPointer.h:692
Definition SceneComponent.h:24
Type
Definition RHIFeatureLevel.h:20
int
Definition TestServer.py:515
Definition EngineTypes.h:4113
static CORE_API uint32 MemCrc_DEPRECATED(const void *Data, int32 Length, uint32 CRC=0)
Definition Crc.cpp:592
Definition EngineTypes.h:4031
static CORE_API const FLinearColor Black
Definition Color.h:458
Definition MeshPassProcessor.h:2118
Definition CanvasTypes.h:854
FScreenMessageWriter(FCanvas &InCanvas, int32 InY)
Definition CanvasTypes.h:855
void EmptyLine()
Definition CanvasTypes.h:860
int32 Y
Definition CanvasTypes.h:868
ENGINE_API void DrawLine(const FText &Message, int32 X=10, const FLinearColor &Color=FLinearColor(1.0f, 0.05f, 0.05f, 1.0f))
Definition Canvas.cpp:2124
FCanvas & Canvas
Definition CanvasTypes.h:867
Definition CanvasTypes.h:42
FTextSizingParameters(float inDrawX, float inDrawY, float inDrawXL, float inDrawYL, const UFont *inFont=NULL)
Definition CanvasTypes.h:85
FTextSizingParameters(const UFont *inFont, float ScaleX, float ScaleY)
Definition CanvasTypes.h:91
Definition CanvasTypes.h:105
FWrappedStringElement(FString &&InValue, float Width, float Height)
Definition CanvasTypes.h:121
FWrappedStringElement(const FString &InValue, float Width, float Height)
Definition CanvasTypes.h:125
Definition ObjectPtr.h:488