forked from spencerhakim/RTSSSharedMemoryNET
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathStructs.h
More file actions
129 lines (112 loc) · 3.7 KB
/
Structs.h
File metadata and controls
129 lines (112 loc) · 3.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#pragma once
using namespace System;
using namespace System::Drawing;
using namespace System::Diagnostics;
namespace RTSSSharedMemoryNET {
[Flags]
public enum class AppFlags
{
None = 0,
OpenGL = APPFLAG_OGL,
DirectDraw = APPFLAG_DD,
Direct3D8 = APPFLAG_D3D8,
Direct3D9 = APPFLAG_D3D9,
Direct3D9Ex = APPFLAG_D3D9EX,
Direct3D10 = APPFLAG_D3D10,
Direct3D11 = APPFLAG_D3D11,
ProfileUpdateRequested = APPFLAG_PROFILE_UPDATE_REQUESTED,
MASK = (APPFLAG_DD | APPFLAG_D3D8 | APPFLAG_D3D9 | APPFLAG_D3D9EX | APPFLAG_OGL | APPFLAG_D3D10 | APPFLAG_D3D11),
};
[Flags]
public enum class StatFlags
{
None = 0,
Record = STATFLAG_RECORD,
};
[Flags]
public enum class ScreenshotFlags
{
None = 0,
RequestCapture = SCREENCAPTUREFLAG_REQUEST_CAPTURE,
RequestCaptureOSD = SCREENCAPTUREFLAG_REQUEST_CAPTURE_OSD,
};
[Flags]
public enum class VideoCaptureFlags
{
None = 0,
RequestCaptureStart = VIDEOCAPTUREFLAG_REQUEST_CAPTURE_START,
RequestCaptureProgress = VIDEOCAPTUREFLAG_REQUEST_CAPTURE_PROGRESS,
RequestCaptureStop = VIDEOCAPTUREFLAG_REQUEST_CAPTURE_STOP,
RequestCaptureOSD = VIDEOCAPTUREFLAG_REQUEST_CAPTURE_OSD,
INTERNAL_RESIZE = VIDEOCAPTUREFLAG_INTERNAL_RESIZE,
MASK = (VIDEOCAPTUREFLAG_REQUEST_CAPTURE_START | VIDEOCAPTUREFLAG_REQUEST_CAPTURE_PROGRESS | VIDEOCAPTUREFLAG_REQUEST_CAPTURE_STOP),
};
///////////////////////////////////////////////////////////////////////////
[DebuggerDisplay("{Owner}, {Text}")]
public ref struct OSDEntry
{
public:
String^ Owner;
String^ Text;
};
[DebuggerDisplay("{ProcessId}:{Name}, {Flags}")]
public ref struct AppEntry
{
public:
int ProcessId;
String^ Name;
AppFlags Flags;
//instantaneous framerate fields
DateTime InstantaneousTimeStart;
DateTime InstantaneousTimeEnd;
DWORD InstantaneousFrames;
TimeSpan InstantaneousFrameTime;
//framerate stats fields
StatFlags StatFlags;
DateTime StatTimeStart;
DateTime StatTimeEnd;
DWORD StatFrames;
DWORD StatCount;
DWORD StatFramerateMin;
DWORD StatFramerateAvg;
DWORD StatFramerateMax;
//framerate stats 2.5+
DWORD StatFrameTimeMin;
DWORD StatFrameTimeAvg;
DWORD StatFrameTimeMax;
DWORD StatFrameTimeCount;
/* TODO
DWORD StatFrameTimeBuf[1024];
DWORD StatFrameTimeBufPos;
DWORD StatFrameTimeBufFramerate;
*/
//OSD fields
int OSDCoordinateX;
int OSDCoordinateY;
DWORD OSDZoom;
Color OSDColor;
DWORD OSDFrameId;
Color OSDBackgroundColor; //2.1+
//screenshot fields
ScreenshotFlags ScreenshotFlags;
String^ ScreenshotPath;
DWORD ScreenshotQuality; //2.2+
DWORD ScreenshotThreads; //2.2+
//video capture fields - 2.2+
VideoCaptureFlags VideoCaptureFlags;
String^ VideoCapturePath;
DWORD VideoFramerate;
DWORD VideoFramesize;
DWORD VideoFormat;
DWORD VideoQuality;
DWORD VideoCaptureThreads;
DWORD VideoCaptureFlagsEx; //2.4+
//audio capture fields
DWORD AudioCaptureFlags; //2.3+
DWORD AudioCaptureFlags2; //2.5+
Int64 AudioCapturePTTEventPush; //2.6+
Int64 AudioCapturePTTEventRelease; //2.6+
Int64 AudioCapturePTTEventPush2; //2.6+
Int64 AudioCapturePTTEventRelease2; //2.6+
};
}