2024-07-13 22:50:52 -03:00
# ifndef XNA_ENUMERATIONS_HPP
# define XNA_ENUMERATIONS_HPP
2024-03-18 15:41:46 -03:00
namespace xna {
2024-06-04 17:08:04 -03:00
enum class AudioChannels
{
Mono = 1 ,
Stereo = 2 ,
} ;
2024-04-20 13:39:19 -03:00
enum class AudioReverb {
Off ,
Default ,
Generic ,
Forest ,
PaddedCell ,
Room ,
Bathroom ,
LivingRoom ,
StoneRoom ,
Auditorium ,
ConcertHall ,
Cave ,
Arena ,
Hangar ,
CarpetedHallway ,
Hallway ,
StoneCorridor ,
Alley ,
City ,
Mountains ,
Quarry ,
Plain ,
ParkingLot ,
SewerPipe ,
Underwater ,
SmallRoom ,
MediumRoom ,
LargeRoom ,
MediumHall ,
LargeHall ,
Plate ,
Max
} ;
2024-07-13 22:50:52 -03:00
enum class Blend {
Zero ,
One ,
SourceColor ,
InverseSourceColor ,
SourceAlpha ,
InverseSourceAlpha ,
DestinationAlpha ,
InverseDestinationAlpha ,
DestinationColor ,
InverseDestinationColor ,
SourceAlphaSaturation ,
BlendFactor ,
InverseBlendFactor ,
Source1Color ,
InverseSource1Color ,
Source1Alpha ,
InverseSource1Alpha
} ;
enum class BlendFunction {
Add = 0 ,
Subtract = 1 ,
ReverseSubtract = 2 ,
Min = 3 ,
Max = 4 ,
} ;
using BlendOperation = BlendFunction ;
2024-04-10 09:51:03 -03:00
2024-04-24 14:40:14 -03:00
enum class BufferUsage {
2024-04-24 21:19:39 -03:00
Default ,
2024-04-24 14:40:14 -03:00
Immutable ,
2024-04-24 21:19:39 -03:00
Dynamic ,
Static ,
2024-04-24 14:40:14 -03:00
} ;
2024-04-17 20:21:17 -03:00
enum class Buttons {
A = 4096 , // 0x00001000
B = 8192 , // 0x00002000
X = 16384 , // 0x00004000
Y = 32768 , // 0x00008000
Back = 32 , // 0x00000020
Start = 16 , // 0x00000010
DPadUp = 1 ,
DPadDown = 2 ,
DPadLeft = 4 ,
DPadRight = 8 ,
LeftShoulder = 256 , // 0x00000100
RightShoulder = 512 , // 0x00000200
LeftStick = 64 , // 0x00000040
RightStick = 128 , // 0x00000080
BigButton = 2048 , // 0x00000800
LeftThumbstickLeft = 2097152 , // 0x00200000
LeftThumbstickRight = 1073741824 , // 0x40000000
LeftThumbstickDown = 536870912 , // 0x20000000
LeftThumbstickUp = 268435456 , // 0x10000000
RightThumbstickLeft = 134217728 , // 0x08000000
RightThumbstickRight = 67108864 , // 0x04000000
RightThumbstickDown = 33554432 , // 0x02000000
RightThumbstickUp = 16777216 , // 0x01000000
LeftTrigger = 8388608 , // 0x00800000
RightTrigger = 4194304 , // 0x00400000
} ;
2024-04-16 19:27:05 -03:00
enum class ButtonState
{
Released ,
Pressed ,
} ;
2024-06-25 15:41:11 -03:00
enum class ClearOptions {
DepthBuffer ,
Stencil ,
Target ,
} ;
2024-07-13 22:50:52 -03:00
enum class ColorWriteChannels {
Red ,
Green ,
Blue ,
Alpha ,
All ,
2024-06-22 22:05:35 -03:00
None
2024-07-13 22:50:52 -03:00
} ;
2024-05-16 17:23:52 -03:00
enum class ContainmentType {
Disjoint ,
Contains ,
Intersects ,
} ;
2024-03-18 15:41:46 -03:00
2024-07-13 22:50:52 -03:00
enum class ComparisonFunction {
Never ,
Less ,
Equal ,
LessEquals ,
Greater ,
NotEqual ,
GreaterEqual ,
Always
} ;
2024-06-23 23:14:06 -03:00
using CompareFunction = ComparisonFunction ;
2024-07-13 22:50:52 -03:00
2024-05-18 16:09:33 -03:00
enum class CurveContinuity {
Smooth ,
Step ,
} ;
enum class CurveTangent
{
Flat ,
Linear ,
Smooth ,
} ;
enum class CurveLoopType {
Constant ,
Cycle ,
CycleOffset ,
Oscillate ,
Linear ,
} ;
2024-04-13 11:45:45 -03:00
2024-07-13 22:50:52 -03:00
enum class CullMode {
None ,
CullClockwiseFace ,
CullCounterClockwiseFace ,
} ;
2024-03-18 15:41:46 -03:00
2024-07-13 22:50:52 -03:00
enum class DepthFormat {
None ,
Depth16 ,
Depth24 ,
Depth24Stencil8
} ;
2024-03-30 14:25:08 -03:00
2024-07-13 22:50:52 -03:00
enum class DepthWriteMask {
Zero ,
All
} ;
2024-04-15 09:48:16 -03:00
2024-07-13 22:50:52 -03:00
enum class DisplayOrientation {
Default = 0 ,
LandscapeLeft = 1 ,
LandscapeRight = 2 ,
Portrait = 4 ,
} ;
2024-03-18 15:41:46 -03:00
2024-06-09 17:24:28 -03:00
enum class EffectParameterClass {
Matrix ,
Object ,
Scalar ,
Struct ,
Vector
} ;
enum class EffectParameterType {
Bool ,
Int32 ,
Single ,
String ,
Texture ,
Texture1D ,
Texture2D ,
Texture3D ,
TextureCube ,
Void
} ;
2024-05-09 09:13:26 -03:00
enum class FileMode {
CreateNew ,
Create ,
Append ,
Open ,
OpenOrCreate ,
Truncate
} ;
2024-07-13 22:50:52 -03:00
enum class FillMode
{
WireFrame ,
2024-04-25 14:51:33 -03:00
Solid ,
2024-07-13 22:50:52 -03:00
} ;
2024-04-10 09:51:03 -03:00
2024-04-27 00:10:07 -03:00
enum class GameComponentType {
Updatable ,
Drawable ,
} ;
2024-04-17 20:21:17 -03:00
enum class GamePadCapabilitiesType
{
Unknown = 0 ,
Gamepad ,
Wheel ,
ArdaceStick ,
FlightStick ,
DancePAd ,
Guitar ,
GuitarAlternate ,
DrumKit ,
GuitarBass = 11 ,
ArcadePad = 19 ,
} ;
enum class GamePadDeadZone {
IndependentAxes ,
Circular ,
None ,
} ;
2024-07-20 23:44:10 -03:00
//Identifies the set of supported devices for the game based on device capabilities.
2024-07-13 22:50:52 -03:00
enum class GraphicsProfile {
2024-07-20 23:44:10 -03:00
//Use a limited set of graphic features and capabilities, allowing the game to support the widest variety of devices, including all Windows-based computers.
2024-07-13 22:50:52 -03:00
Reach ,
2024-07-20 23:44:10 -03:00
//Use the largest available set of graphic features and capabilities to target devices,
//such as an Xbox 360 console and a Windows-based computer, that have more enhanced graphic capabilities.
2024-07-13 22:50:52 -03:00
HiDef
} ;
2024-03-30 14:25:08 -03:00
2024-07-13 22:50:52 -03:00
enum class Keys : unsigned char {
2024-04-16 16:13:36 -03:00
None = 0 ,
2024-05-21 17:24:43 -03:00
Back = 0x8 ,
Tab = 0x9 ,
Enter = 0xd ,
Pause = 0x13 ,
CapsLock = 0x14 ,
Kana = 0x15 ,
ImeOn = 0x16 ,
Kanji = 0x19 ,
ImeOff = 0x1a ,
Escape = 0x1b ,
ImeConvert = 0x1c ,
ImeNoConvert = 0x1d ,
Space = 0x20 ,
PageUp = 0x21 ,
PageDown = 0x22 ,
End = 0x23 ,
Home = 0x24 ,
Left = 0x25 ,
Up = 0x26 ,
Right = 0x27 ,
Down = 0x28 ,
Select = 0x29 ,
Print = 0x2a ,
Execute = 0x2b ,
PrintScreen = 0x2c ,
Insert = 0x2d ,
Delete = 0x2e ,
Help = 0x2f ,
D0 = 0x30 ,
D1 = 0x31 ,
D2 = 0x32 ,
D3 = 0x33 ,
D4 = 0x34 ,
D5 = 0x35 ,
D6 = 0x36 ,
D7 = 0x37 ,
D8 = 0x38 ,
D9 = 0x39 ,
A = 0x41 ,
B = 0x42 ,
C = 0x43 ,
D = 0x44 ,
E = 0x45 ,
F = 0x46 ,
G = 0x47 ,
H = 0x48 ,
I = 0x49 ,
J = 0x4a ,
K = 0x4b ,
L = 0x4c ,
M = 0x4d ,
N = 0x4e ,
O = 0x4f ,
P = 0x50 ,
Q = 0x51 ,
R = 0x52 ,
S = 0x53 ,
T = 0x54 ,
U = 0x55 ,
V = 0x56 ,
W = 0x57 ,
X = 0x58 ,
Y = 0x59 ,
Z = 0x5a ,
LeftWindows = 0x5b ,
RightWindows = 0x5c ,
Apps = 0x5d ,
Sleep = 0x5f ,
NumPad0 = 0x60 ,
NumPad1 = 0x61 ,
NumPad2 = 0x62 ,
NumPad3 = 0x63 ,
NumPad4 = 0x64 ,
NumPad5 = 0x65 ,
NumPad6 = 0x66 ,
NumPad7 = 0x67 ,
NumPad8 = 0x68 ,
NumPad9 = 0x69 ,
Multiply = 0x6a ,
Add = 0x6b ,
Separator = 0x6c ,
Subtract = 0x6d ,
Decimal = 0x6e ,
Divide = 0x6f ,
F1 = 0x70 ,
F2 = 0x71 ,
F3 = 0x72 ,
F4 = 0x73 ,
F5 = 0x74 ,
F6 = 0x75 ,
F7 = 0x76 ,
F8 = 0x77 ,
F9 = 0x78 ,
F10 = 0x79 ,
F11 = 0x7a ,
F12 = 0x7b ,
F13 = 0x7c ,
F14 = 0x7d ,
F15 = 0x7e ,
F16 = 0x7f ,
F17 = 0x80 ,
F18 = 0x81 ,
F19 = 0x82 ,
F20 = 0x83 ,
F21 = 0x84 ,
F22 = 0x85 ,
F23 = 0x86 ,
F24 = 0x87 ,
NumLock = 0x90 ,
Scroll = 0x91 ,
LeftShift = 0xa0 ,
RightShift = 0xa1 ,
LeftControl = 0xa2 ,
RightControl = 0xa3 ,
LeftAlt = 0xa4 ,
RightAlt = 0xa5 ,
BrowserBack = 0xa6 ,
BrowserForward = 0xa7 ,
BrowserRefresh = 0xa8 ,
BrowserStop = 0xa9 ,
BrowserSearch = 0xaa ,
BrowserFavorites = 0xab ,
BrowserHome = 0xac ,
VolumeMute = 0xad ,
VolumeDown = 0xae ,
VolumeUp = 0xaf ,
MediaNextTrack = 0xb0 ,
MediaPreviousTrack = 0xb1 ,
MediaStop = 0xb2 ,
MediaPlayPause = 0xb3 ,
LaunchMail = 0xb4 ,
SelectMedia = 0xb5 ,
LaunchApplication1 = 0xb6 ,
LaunchApplication2 = 0xb7 ,
OemSemicolon = 0xba ,
OemPlus = 0xbb ,
OemComma = 0xbc ,
OemMinus = 0xbd ,
OemPeriod = 0xbe ,
OemQuestion = 0xbf ,
OemTilde = 0xc0 ,
OemOpenBrackets = 0xdb ,
OemPipe = 0xdc ,
OemCloseBrackets = 0xdd ,
OemQuotes = 0xde ,
Oem8 = 0xdf ,
OemBackslash = 0xe2 ,
ProcessKey = 0xe5 ,
OemCopy = 0xf2 ,
OemAuto = 0xf3 ,
OemEnlW = 0xf4 ,
Attn = 0xf6 ,
Crsel = 0xf7 ,
Exsel = 0xf8 ,
EraseEof = 0xf9 ,
Play = 0xfa ,
Zoom = 0xfb ,
Pa1 = 0xfd ,
OemClear = 0xfe ,
2024-04-16 16:13:36 -03:00
} ;
enum class KeyState {
Up ,
Down ,
} ;
2024-05-16 17:23:52 -03:00
enum class PlaneIntersectionType {
Front ,
Back ,
Intersecting ,
} ;
2024-04-17 20:21:17 -03:00
enum class PlayerIndex
{
One ,
Two ,
Three ,
Four ,
} ;
2024-07-13 22:50:52 -03:00
enum class PresentInterval {
Default ,
One ,
Two ,
Immediate
} ;
2024-03-30 14:25:08 -03:00
2024-06-05 21:09:35 -03:00
enum class PrimitiveType
{
TriangleList ,
TriangleStrip ,
LineList ,
LineStrip ,
} ;
2024-07-13 22:50:52 -03:00
enum RenderTargetUsage {
DiscardContents ,
PreserveContents ,
PlatformContents
} ;
enum class SpriteEffects {
None = 0 ,
FlipHorizontally = 1 ,
FlipVertically = 2 ,
Both = FlipHorizontally | FlipVertically
} ;
enum class SpriteSortMode
{
Deferred ,
Immediate ,
Texture ,
BackToFront ,
FrontToBack ,
} ;
enum class StencilOperation
{
Keep ,
Zero ,
Replace ,
IncrementSaturation ,
DecrementSaturation ,
Invert ,
Increment ,
Decrement ,
} ;
enum class SurfaceFormat {
Color = 0 ,
Bgr565 = 1 ,
Bgra5551 = 2 ,
Bgra4444 = 3 ,
Dxt1 = 4 ,
Dxt3 = 5 ,
Dxt5 = 6 ,
NormalizedByte2 = 7 ,
NormalizedByte4 = 8 ,
Rgba1010102 = 9 ,
Rg32 = 10 ,
Rgba64 = 11 ,
Alpha8 = 12 ,
Single = 13 ,
Vector2 = 14 ,
Vector4 = 15 ,
HalfSingle = 16 ,
HalfVector2 = 17 ,
HalfVector4 = 18 ,
HdrBlendable = 19 ,
2024-04-21 19:55:50 -03:00
Unknown ,
2024-07-13 22:50:52 -03:00
} ;
2024-03-18 15:41:46 -03:00
2024-04-26 10:13:00 -03:00
enum class SwapEffect {
Discard ,
Sequential ,
FlipSequential ,
FlipDiscard
} ;
2024-07-13 22:50:52 -03:00
enum class TextureAddressMode {
Wrap ,
Mirror ,
Clamp ,
Border ,
MirrorOnce
} ;
2024-04-14 16:11:15 -03:00
2024-07-13 22:50:52 -03:00
enum class TextureFilter {
Linear ,
Point ,
Anisotropic ,
LinearMipPoint ,
PointMipLinear ,
MinLinearMagPointMipLinear ,
MinLinearMagPointMipPoint ,
MinPointMagLinearMipLinear ,
MinPointMagLinearMipPoint ,
} ;
2024-04-14 16:11:15 -03:00
2024-07-13 22:50:52 -03:00
constexpr int SURFACE_FORMAT_COUNT = 19 ;
2024-03-18 15:41:46 -03:00
}
# endif