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-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
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