121 lines
4.8 KiB
C++
121 lines
4.8 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
|
|
/**
|
|
* @brief The data types supported when sending messages across the data channel to/from peers.
|
|
*/
|
|
enum class EPixelStreaming2MessageTypes
|
|
{
|
|
Uint8 = 0,
|
|
Uint16 = 1,
|
|
Int16 = 2,
|
|
Float = 3,
|
|
Double = 4,
|
|
String = 5,
|
|
Undefined = 6
|
|
};
|
|
|
|
/**
|
|
* @brief The message directions
|
|
*/
|
|
enum class EPixelStreaming2MessageDirection : uint8
|
|
{
|
|
ToStreamer = 0,
|
|
FromStreamer = 1
|
|
};
|
|
|
|
/**
|
|
* @brief The possible actions pixel streaming supports. These actions help differentiate input received from the browser.
|
|
*/
|
|
enum class EPixelStreaming2InputAction : uint8
|
|
{
|
|
X = 0,
|
|
Y = 1,
|
|
Axis = 2,
|
|
Click = 3,
|
|
Touch = 4,
|
|
None = 5,
|
|
};
|
|
|
|
/**
|
|
* @brief The possible control schemes pixel streaming supports. RouteToWindow routes input at an application level. RouteToWidget routes input to a specific widget, ignoring the rest of the application.
|
|
*/
|
|
enum class EPixelStreaming2InputType : uint8
|
|
{
|
|
RouteToWindow = 0,
|
|
RouteToWidget = 1
|
|
};
|
|
|
|
/**
|
|
* @brief Known message types for the default `ToStreamer` message protocol of Pixel Streaming.
|
|
*/
|
|
namespace EPixelStreaming2ToStreamerMessage
|
|
{
|
|
PIXELSTREAMING2INPUT_API extern const FString IFrameRequest;
|
|
PIXELSTREAMING2INPUT_API extern const FString RequestQualityControl;
|
|
PIXELSTREAMING2INPUT_API extern const FString FpsRequest;
|
|
PIXELSTREAMING2INPUT_API extern const FString AverageBitrateRequest;
|
|
PIXELSTREAMING2INPUT_API extern const FString StartStreaming;
|
|
PIXELSTREAMING2INPUT_API extern const FString StopStreaming;
|
|
PIXELSTREAMING2INPUT_API extern const FString LatencyTest;
|
|
PIXELSTREAMING2INPUT_API extern const FString RequestInitialSettings;
|
|
PIXELSTREAMING2INPUT_API extern const FString TestEcho;
|
|
PIXELSTREAMING2INPUT_API extern const FString UIInteraction;
|
|
PIXELSTREAMING2INPUT_API extern const FString Command;
|
|
PIXELSTREAMING2INPUT_API extern const FString TextboxEntry;
|
|
PIXELSTREAMING2INPUT_API extern const FString KeyDown;
|
|
PIXELSTREAMING2INPUT_API extern const FString KeyUp;
|
|
PIXELSTREAMING2INPUT_API extern const FString KeyPress;
|
|
PIXELSTREAMING2INPUT_API extern const FString MouseEnter;
|
|
PIXELSTREAMING2INPUT_API extern const FString MouseLeave;
|
|
PIXELSTREAMING2INPUT_API extern const FString MouseDown;
|
|
PIXELSTREAMING2INPUT_API extern const FString MouseUp;
|
|
PIXELSTREAMING2INPUT_API extern const FString MouseMove;
|
|
PIXELSTREAMING2INPUT_API extern const FString MouseWheel;
|
|
PIXELSTREAMING2INPUT_API extern const FString MouseDouble;
|
|
PIXELSTREAMING2INPUT_API extern const FString TouchStart;
|
|
PIXELSTREAMING2INPUT_API extern const FString TouchEnd;
|
|
PIXELSTREAMING2INPUT_API extern const FString TouchMove;
|
|
PIXELSTREAMING2INPUT_API extern const FString GamepadButtonPressed;
|
|
PIXELSTREAMING2INPUT_API extern const FString GamepadButtonReleased;
|
|
PIXELSTREAMING2INPUT_API extern const FString GamepadAnalog;;
|
|
PIXELSTREAMING2INPUT_API extern const FString GamepadConnected;
|
|
PIXELSTREAMING2INPUT_API extern const FString GamepadDisconnected;
|
|
PIXELSTREAMING2INPUT_API extern const FString XREyeViews;
|
|
PIXELSTREAMING2INPUT_API extern const FString XRHMDTransform;
|
|
PIXELSTREAMING2INPUT_API extern const FString XRControllerTransform;
|
|
PIXELSTREAMING2INPUT_API extern const FString XRButtonPressed;
|
|
PIXELSTREAMING2INPUT_API extern const FString XRButtonTouched;
|
|
PIXELSTREAMING2INPUT_API extern const FString XRButtonReleased;
|
|
PIXELSTREAMING2INPUT_API extern const FString XRAnalog;
|
|
PIXELSTREAMING2INPUT_API extern const FString XRSystem;
|
|
PIXELSTREAMING2INPUT_API extern const FString XRButtonTouchReleased;
|
|
PIXELSTREAMING2INPUT_API extern const FString Multiplexed;
|
|
PIXELSTREAMING2INPUT_API extern const FString ChannelRelayStatus;
|
|
} // namespace EPixelStreaming2ToStreamerMessage
|
|
|
|
/**
|
|
* @brief Known message types for the default `FromStreamer` message protocol of Pixel Streaming.
|
|
*/
|
|
namespace EPixelStreaming2FromStreamerMessage
|
|
{
|
|
PIXELSTREAMING2INPUT_API extern const FString QualityControlOwnership;
|
|
PIXELSTREAMING2INPUT_API extern const FString Response;
|
|
PIXELSTREAMING2INPUT_API extern const FString Command;
|
|
PIXELSTREAMING2INPUT_API extern const FString FreezeFrame;
|
|
PIXELSTREAMING2INPUT_API extern const FString UnfreezeFrame;
|
|
PIXELSTREAMING2INPUT_API extern const FString VideoEncoderAvgQP;
|
|
PIXELSTREAMING2INPUT_API extern const FString LatencyTest;
|
|
PIXELSTREAMING2INPUT_API extern const FString InitialSettings;
|
|
PIXELSTREAMING2INPUT_API extern const FString FileExtension;
|
|
PIXELSTREAMING2INPUT_API extern const FString FileMimeType;
|
|
PIXELSTREAMING2INPUT_API extern const FString FileContents;
|
|
PIXELSTREAMING2INPUT_API extern const FString TestEcho;
|
|
PIXELSTREAMING2INPUT_API extern const FString InputControlOwnership;
|
|
PIXELSTREAMING2INPUT_API extern const FString GamepadResponse;
|
|
PIXELSTREAMING2INPUT_API extern const FString Multiplexed;
|
|
PIXELSTREAMING2INPUT_API extern const FString Protocol;
|
|
} // namespace EPixelStreaming2FromStreamerMessage
|