Files
UnrealEngineUWP/Engine/Source/Developer/ScreenShotComparisonTools/Private/ScreenShotManager.h
Matthew Griffin bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00

72 lines
1.8 KiB
C++

// Copyright 1998-2016 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;
};