Files
UnrealEngineUWP/Engine/Source/Editor/UnrealEd/Public/ComponentVisualizerManager.h
Ben Marsh 149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00

39 lines
1.7 KiB
C++

// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "ComponentVisualizer.h"
struct FViewportClick;
/** Class that managed active component visualizer and routes input to it */
class UNREALED_API FComponentVisualizerManager
{
public:
FComponentVisualizerManager() {}
virtual ~FComponentVisualizerManager() {}
/** Activate a component visualizer given a clicked proxy */
bool HandleProxyForComponentVis(FLevelEditorViewportClient* InViewportClient, HHitProxy *HitProxy, const FViewportClick &Click);
/** Clear active component visualizer */
void ClearActiveComponentVis();
/** Handle a click on the specified level editor viewport client */
bool HandleClick(FLevelEditorViewportClient* InViewportClient, HHitProxy *HitProxy, const FViewportClick &Click);
/** Pass key input to active visualizer */
bool HandleInputKey(FEditorViewportClient* InViewportClient, FViewport* Viewport, FKey Key, EInputEvent Event) const;
/** Pass delta input to active visualizer */
bool HandleInputDelta(FEditorViewportClient* InViewportClient, FViewport* InViewport, FVector& InDrag, FRotator& InRot, FVector& InScale) const;
/** Get widget location from active visualizer */
bool GetWidgetLocation(const FEditorViewportClient* InViewportClient, FVector& OutLocation) const;
/** Get custom widget coordinate system from active visualizer */
bool GetCustomInputCoordinateSystem(const FEditorViewportClient* InViewportClient, FMatrix& OutMatrix) const;
/** Generate context menu for the component visualizer */
TSharedPtr<SWidget> GenerateContextMenuForComponentVis() const;
private:
/** Currently 'active' visualizer that we should pass input to etc */
TWeakPtr<class FComponentVisualizer> EditedVisualizerPtr;
};