Files
UnrealEngineUWP/Engine/Source/Developer/ScreenShotComparisonTools/Private/ScreenShotManager.h
kevin hamilton 6b46dd0ced Merging //depot/Partners/Zombie/UE4-iOS/...to //depot/UE4/...
Automation: Milestone 3 and fixes for milestone 2

 -Added new EditorShot command to take editor screenshots
 -Made the ExterialTool options use the dierctory picker
 -Fixed a bug with the StaticMeshEditor test if the tutorial pops up
 -StaticMeshUV test now uses async package loading
 -Added a display every Nth screenshot to the screenshot compre tab
 -Added support to disable screenshots or request full size ones
 -Changed the screenshots so they save to the game directory even if you run the frontend by itself
 -Added screenshot support for the load all maps tests

[CL 2071712 by kevin hamilton in Main branch]
2014-05-13 12:08:56 -04:00

72 lines
1.8 KiB
C++

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
/*=============================================================================
ScreenShotManager.cpp: Implements the FScreenShotManager class.
=============================================================================*/
#pragma once
/**
* Implements the ScreenShotManager that contains screen shot data.
*/
class FScreenShotManager
: public IScreenShotManager
{
public:
/**
* Creates and initializes a new instance.
*
* @param InMessageBus - The message bus to use.
*/
FScreenShotManager( const IMessageBusRef& InMessageBus );
public:
/**
* Create some dummy data to test the UI
*/
void CreateData( );
public:
// Begin IScreenShotManager interface
virtual void GenerateLists() OVERRIDE;
virtual TArray< TSharedPtr<FString> >& GetCachedPlatfomList( ) OVERRIDE;
virtual TArray<IScreenShotDataPtr>& GetLists() OVERRIDE;
virtual void RegisterScreenShotUpdate(const FOnScreenFilterChanged& InDelegate )OVERRIDE;
virtual void SetFilter( TSharedPtr< ScreenShotFilterCollection > InFilter ) OVERRIDE;
virtual void SetDisplayEveryNthScreenshot(int32 NewNth) OVERRIDE;
// End IScreenShotManager interface
private:
// Handles FAutomationWorkerScreenImage messages.
void HandleScreenShotMessage( const FAutomationWorkerScreenImage& Message, const IMessageContextRef& Context );
private:
// Holds the list of active platforms
TArray<TSharedPtr<FString> > CachedPlatformList;
// Holds the messaging endpoint.
FMessageEndpointPtr MessageEndpoint;
// Holds the array of created screen shot data items
TArray< FScreenShotDataItem > ScreenShotDataArray;
// Holds the root of the screen shot tree
TSharedPtr< IScreenShotData > ScreenShotRoot;
// Holds a delegate to be invoked when the screen shot filter has changed.
FOnScreenFilterChanged ScreenFilterChangedDelegate;
};