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-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-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-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-08-02 11:57:08 -03:00
//Defines flags that describe the relationship between the adapter refresh rate and the rate at which Present operations are completed.
2024-07-13 22:50:52 -03:00
enum class PresentInterval {
2024-08-02 11:57:08 -03:00
//Equivalent to setting One.
2024-07-13 22:50:52 -03:00
Default ,
2024-08-02 11:57:08 -03:00
//The driver waits for the vertical retrace period (the runtime will beam trace to prevent tearing). Present operations are not affected more frequently than the screen refresh rate; the runtime completes one Present operation per adapter refresh period, at most. This option is always available for both windowed and full-screen swap chains.
2024-07-13 22:50:52 -03:00
One ,
2024-08-02 11:57:08 -03:00
//The driver waits for the vertical retrace period. Present operations are not affected more frequently than every second screen refresh.
2024-07-13 22:50:52 -03:00
Two ,
2024-08-02 11:57:08 -03:00
//The runtime updates the window client area immediately, and might do so more than once during the adapter refresh period. Present operations might be affected immediately. This option is always available for both windowed and full-screen swap chains.
2024-07-13 22:50:52 -03:00
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
2024-08-01 14:32:23 -03:00
} ;
2024-07-13 22:50:52 -03:00
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