1
0
KF2-Dev-Scripts/UnrealEd/Classes/TextureThumbnailRenderer.uc

70 lines
2.6 KiB
Ucode
Raw Normal View History

2020-12-13 15:01:13 +00:00
/**
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
*
* This thumbnail renderer displays the texture for the object in question
*/
class TextureThumbnailRenderer extends ThumbnailRenderer
native;
cpptext
{
/**
* Checks to see if the passed in object supports a thumbnail rendered directly into a system memory buffer for thumbnails
* instead of setting up a render target and rendering to a texture from the GPU.
*
* @param InObject The object to check
*/
virtual UBOOL SupportsCPUGeneratedThumbnail(UObject *InObject) const;
/**
* Calculates the size the thumbnail would be at the specified zoom level
*
* @param Object the object the thumbnail is of
* @param PrimType ignored
* @param Zoom the current multiplier of size
* @param OutWidth the var that gets the width of the thumbnail
* @param OutHeight the var that gets the height
*/
virtual void GetThumbnailSize(UObject* Object,EThumbnailPrimType,
FLOAT Zoom,DWORD& OutWidth,DWORD& OutHeight);
/**
* Draws a thumbnail for the object that was specified
*
* @param Object the object to draw the thumbnail for
* @param PrimType ignored
* @param X the X coordinate to start drawing at
* @param Y the Y coordinate to start drawing at
* @param Width the width of the thumbnail to draw
* @param Height the height of the thumbnail to draw
* @param Viewport ignored
* @param Canvas the render interface to draw with
* @param BackgroundType type of background for the thumbnail
* @param PreviewBackgroundColor background color for material previews
* @param PreviewBackgroundColorTranslucent background color for translucent material previews
*/
virtual void Draw(UObject* Object,EThumbnailPrimType,INT X,INT Y,
DWORD Width,DWORD Height,FRenderTarget*,FCanvas* Canvas,
EThumbnailBackgroundType BackgroundType,
FColor PreviewBackgroundColor,
FColor PreviewBackgroundColorTranslucent);
/**
* Draws the thumbnail directly to a CPU memory buffer
*
* @param InObject The object to draw
* @param OutThumbnailBuffer The thumbnail buffer to draw to
*/
virtual void DrawCPU( UObject* InObject, FObjectThumbnail& OutThumbnailBuffer) const;
private:
/**
* Converts a 1 bit monochrome texture into a thumbnail for the content browser
*
* @param MonochromeTexture The texture to convert
* @param OutThumbnail The thumbnail object where the thumbnail image data should be stored
*/
void MakeThumbnailFromMonochrome( UTexture2D* MonochromeTexture, FObjectThumbnail& OutThumbnail ) const;
}