Skip to content

Commit

Permalink
Document some of enumerations in Global namespace.
Browse files Browse the repository at this point in the history
m1maker committed Oct 27, 2024

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
1 parent 4d4fac8 commit efaca9f
Showing 19 changed files with 908 additions and 0 deletions.
26 changes: 26 additions & 0 deletions docs/Foundation/Namespaces/Global/Enumerations/arrayorder.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# arrayorder Enum

## Overview
The `arrayorder` enum defines the order in which pixel components (red, green, blue, and alpha) are stored in a one-dimensional array. These orders affect how the pixels are accessed and interpreted when processing image data.

## Syntax
```angelscript
enum arrayorder {
ARRAYORDER_NONE,
ARRAYORDER_RGB,
ARRAYORDER_RGBA,
ARRAYORDER_ARGB,
ARRAYORDER_BGR,
ARRAYORDER_BGRA,
ARRAYORDER_ABGR
};
```

## Enum Values
- **ARRAYORDER_NONE (0)**: Represents an unknown or unspecified array order.
- **ARRAYORDER_RGB (1)**: Pixels are stored with the red, green, and blue components in that order. This is a common format for representing color data without alpha transparency.
- **ARRAYORDER_RGBA (2)**: Pixels are stored with the red, green, blue, and alpha components in that order. This format includes an alpha channel for transparency information.
- **ARRAYORDER_ARGB (3)**: Pixels are stored with the alpha, red, green, and blue components in that order. This format starts with the alpha channel to facilitate blending operations.
- **ARRAYORDER_BGR (4)**: Pixels are stored with the blue, green, and red components in that order. This format is less common but can be useful for certain graphics operations.
- **ARRAYORDER_BGRA (5)**: Pixels are stored with the blue, green, red, and alpha components in that order. This format includes an alpha channel at the end of the pixel data.
- **ARRAYORDER_ABGR (6)**: Pixels are stored with the alpha, blue, green, and red components in that order. This format starts with the alpha channel and is less common than other formats.
18 changes: 18 additions & 0 deletions docs/Foundation/Namespaces/Global/Enumerations/bitmaporder.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# bitmaporder Enum

## Overview
The `bitmaporder` enum defines the order in which pixel components (red, green, blue, and alpha) are stored in an image or texture. These orders affect how the pixels are interpreted when rendering graphics.

## Syntax
```angelscript
enum bitmaporder {
BITMAPORDER_NONE,
BITMAPORDER_4321,
BITMAPORDER_1234
};
```

## Enum Values
- **BITMAPORDER_NONE (0)**: Represents an unknown or unspecified bitmap order.
- **BITMAPORDER_4321 (1)**: Pixels are stored with the alpha channel first, followed by red, green, and blue. This is also known as ABGR format.
- **BITMAPORDER_1234 (2)**: Pixels are stored with the red channel first, followed by green, blue, and alpha. This is also known as RGBA format.
28 changes: 28 additions & 0 deletions docs/Foundation/Namespaces/Global/Enumerations/blendmode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# blendmode Enum

## Overview
The `blendmode` enum defines the different blending modes that can be used for rendering graphics elements. These modes control how pixel colors are combined when drawing over existing pixels on the screen.

## Syntax
```angelscript
enum blendmode {
BLENDMODE_NONE,
BLENDMODE_BLEND,
BLENDMODE_BLEND_PREMULTIPLIED,
BLENDMODE_ADD,
BLENDMODE_ADD_PREMULTIPLIED,
BLENDMODE_MOD,
BLENDMODE_MUL,
BLENDMODE_INVALID
};
```

## Enum Values
- **BLENDMODE_NONE (0)**: No blending is performed. The source pixel will replace the destination pixel.
- **BLENDMODE_BLEND (1)**: Basic blending mode using standard alpha blending. This combines the source and destination pixels based on their alpha values.
- **BLENDMODE_BLEND_PREMULTIPLIED (16)**: Blending mode for pre-multiplied alpha images. This method assumes that the alpha has already been multiplied into the color channels, which can improve performance in some scenarios.
- **BLENDMODE_ADD (2)**: Adds the source pixel to the destination pixel. Useful for creating glowing or additive effects.
- **BLENDMODE_ADD_PREMULTIPLIED (32)**: Adds the pre-multiplied source pixel to the destination pixel. Similar to `BLENDMODE_ADD`, but assumes pre-multiplied alpha.
- **BLENDMODE_MOD (4)**: Multiplies the source pixel with the inverse of the destination pixel, then subtracts 1 from the result. This can be used for various effects like color burn or screen blending.
- **BLENDMODE_MUL (8)**: Multiplies the source and destination pixels together. Useful for creating darkening or multiplying effects.
- **BLENDMODE_INVALID (2147483647)**: Represents an invalid blend mode value.
40 changes: 40 additions & 0 deletions docs/Foundation/Namespaces/Global/Enumerations/colorprimaries.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# colorprimaries Enum

## Overview
The `colorprimaries` enum defines the chromaticity coordinates of the three primary colors used in various image and video formats. These primary colors determine the color gamut that can be represented, which is crucial for accurate color representation when processing media.

## Syntax
```angelscript
enum colorprimaries {
PRIMARIES_UNKNOWN,
PRIMARIES_BT709,
PRIMARIES_UNSPECIFIED,
PRIMARIES_BT470M,
PRIMARIES_BT470BG,
PRIMARIES_BT601,
PRIMARIES_SMPTE240,
PRIMARIES_GENERIC_FILM,
PRIMARIES_BT2020,
PRIMARIES_XYZ,
PRIMARIES_SMPTE431,
PRIMARIES_SMPTE432,
PRIMARIES_EBU3213,
PRIMARIES_CUSTOM
};
```

## Enum Values
- **PRIMARIES_UNKNOWN (0)**: Represents an unknown or unspecified set of color primaries.
- **PRIMARIES_BT709 (1)**: Standard primary colors for HDTV, Blu-ray, and many modern displays. Also known as Rec. 709.
- **PRIMARIES_UNSPECIFIED (2)**: Indicates that the color primaries are not specified in the media data.
- **PRIMARIES_BT470M (4)**: Primary colors based on BT.470 (1953) for NTSC systems, which have a slightly smaller gamut than Rec. 709.
- **PRIMARIES_BT470BG (5)**: Primary colors based on BT.470 (1990) for SECAM and PAL systems.
- **PRIMARIES_BT601 (6)**: Primary colors used in NTSC, PAL, and SECAM television standards, also known as Rec. 601.
- **PRIMARIES_SMPTE240 (7)**: Primary colors used in studio lighting and photography.
- **PRIMARIES_GENERIC_FILM (8)**: Generic primary colors for film emulation.
- **PRIMARIES_BT2020 (9)**: Primary colors for HDR displays, also known as Rec. 2020.
- **PRIMARIES_XYZ (10)**: Chromaticity coordinates in the CIE XYZ color space.
- **PRIMARIES_SMPTE431 (11)**: Primary colors based on SMPTE ST 431, used for high dynamic range scenes with a larger gamut than Rec. 2020.
- **PRIMARIES_SMPTE432 (12)**: Primary colors based on SMPTE ST 432, similar to Rec. 2020 but designed for improved colorimetric accuracy.
- **PRIMARIES_EBU3213 (22)**: Chromaticity coordinates defined in EBU Technical Specification 3213, used primarily in Europe for broadcast television and radio.
- **PRIMARIES_CUSTOM (31)**: Indicates that the primary colors are custom-defined.
18 changes: 18 additions & 0 deletions docs/Foundation/Namespaces/Global/Enumerations/colorrange.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# colorrange Enum

## Overview
The `colorrange` enum defines the valid range of values that can be used to represent colors in various image and video formats. These ranges are crucial for maintaining accurate color representation when processing media.

## Syntax
```angelscript
enum colorrange {
COLOR_RANGE_UNKNOWN,
COLOR_RANGE_LIMITED,
COLOR_RANGE_FULL
};
```

## Enum Values
- **COLOR_RANGE_UNKNOWN (0)**: Represents an unknown or unspecified color range.
- **COLOR_RANGE_LIMITED (1)**: Represents a limited color range, typically used in consumer-grade video where the valid values are restricted to 16-235 for Y and 16-240 for Cb and Cr (for YCbCr) or R and B (for RGB).
- **COLOR_RANGE_FULL (2)**: Represents a full color range, which can include all possible values from 0 to 255. This is commonly used in professional-grade video where the full dynamic range of the hardware is utilized.
18 changes: 18 additions & 0 deletions docs/Foundation/Namespaces/Global/Enumerations/colortype.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# colortype Enum

## Overview
The `colortype` enum defines different types of color representations that can be used to store and process image data. These types specify how the red, green, blue (and sometimes alpha) components are organized within a pixel.

## Syntax
```angelscript
enum colortype {
COLOR_TYPE_UNKNOWN,
COLOR_TYPE_RGB,
COLOR_TYPE_YCBCR
};
```

## Enum Values
- **COLOR_TYPE_UNKNOWN (0)**: Represents an unknown or unspecified color type.
- **COLOR_TYPE_RGB (1)**: Represents a color format with red, green, and blue components. This is a common format for storing truecolor images.
- **COLOR_TYPE_YCBCR (2)**: Represents a color format using the YCbCr color space, which separates luminance (Y) from chrominance (Cb and Cr). This format is often used in video processing and image compression.
18 changes: 18 additions & 0 deletions docs/Foundation/Namespaces/Global/Enumerations/flipmode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# flipmode Enum

## Overview
The `flipmode` enum defines the different ways an image or texture can be flipped. These modes allow you to mirror content horizontally, vertically, or both, which is useful for various visual effects and optimizations.

## Syntax
```angelscript
enum flipmode {
FLIP_NONE,
FLIP_HORIZONTAL,
FLIP_VERTICAL
};
```

## Enum Values
- **FLIP_NONE (0)**: The image or texture remains in its original orientation without any flipping.
- **FLIP_HORIZONTAL (1)**: The image or texture is flipped horizontally, reflecting it along the vertical axis.
- **FLIP_VERTICAL (2)**: The image or texture is flipped vertically, reflecting it along the horizontal axis.
293 changes: 293 additions & 0 deletions docs/Foundation/Namespaces/Global/Enumerations/keycode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,293 @@
# keycode Enum

## Overview
The `keycode` enum provides a mapping of keyboard keys to their corresponding integer values. This allows you to easily identify and handle different keys in your NGT application.

## Syntax
```angelscript
enum keycode {
KEY_UNKNOWN,
KEY_A = 4,
KEY_B = 5,
KEY_C = 6,
KEY_D = 7,
KEY_E = 8,
KEY_F = 9,
KEY_G = 10,
KEY_H = 11,
KEY_I = 12,
KEY_J = 13,
KEY_K = 14,
KEY_L = 15,
KEY_M = 16,
KEY_N = 17,
KEY_O = 18,
KEY_P = 19,
KEY_Q = 20,
KEY_R = 21,
KEY_S = 22,
KEY_T = 23,
KEY_U = 24,
KEY_V = 25,
KEY_W = 26,
KEY_X = 27,
KEY_Y = 28,
KEY_Z = 29,
KEY_1 = 30,
KEY_2 = 31,
KEY_3 = 32,
KEY_4 = 33,
KEY_5 = 34,
KEY_6 = 35,
KEY_7 = 36,
KEY_8 = 37,
KEY_9 = 38,
KEY_0 = 39,
KEY_RETURN = 40,
KEY_ESCAPE = 41,
KEY_BACK = 42,
KEY_TAB = 43,
KEY_SPACE = 44,
KEY_MINUS = 45,
KEY_EQUALS = 46,
KEY_LEFTBRACKET = 47,
KEY_RIGHTBRACKET = 48,
KEY_BACKSLASH = 49,
KEY_NONUSHASH = 50,
KEY_SEMICOLON = 51,
KEY_APOSTROPHE = 52,
KEY_GRAVE = 53,
KEY_COMMA = 54,
KEY_PERIOD = 55,
KEY_SLASH = 56,
KEY_CAPSLOCK = 57,
KEY_F1 = 58,
KEY_F2 = 59,
KEY_F3 = 60,
KEY_F4 = 61,
KEY_F5 = 62,
KEY_F6 = 63,
KEY_F7 = 64,
KEY_F8 = 65,
KEY_F9 = 66,
KEY_F10 = 67,
KEY_F11 = 68,
KEY_F12 = 69,
KEY_PRINTSCREEN = 70,
KEY_SCROLLLOCK = 71,
KEY_PAUSE = 72,
KEY_INSERT = 73,
KEY_HOME = 74,
KEY_PAGEUP = 75,
KEY_DELETE = 76,
KEY_END = 77,
KEY_PAGEDOWN = 78,
KEY_RIGHT = 79,
KEY_LEFT = 80,
KEY_DOWN = 81,
KEY_UP = 82,
KEY_NUMLOCKCLEAR = 83,
KEY_NUMPAD_DIVIDE = 84,
KEY_NUMPAD_MULTIPLY = 85,
KEY_NUMPAD_MINUS = 86,
KEY_NUMPAD_PLUS = 87,
KEY_NUMPAD_ENTER = 88,
KEY_NUMPAD_1 = 89,
KEY_NUMPAD_2 = 90,
KEY_NUMPAD_3 = 91,
KEY_NUMPAD_4 = 92,
KEY_NUMPAD_5 = 93,
KEY_NUMPAD_6 = 94,
KEY_NUMPAD_7 = 95,
KEY_NUMPAD_8 = 96,
KEY_NUMPAD_9 = 97,
KEY_NUMPAD_0 = 98,
KEY_NUMPAD_PERIOD = 99,
KEY_NONUSBACKSLASH = 100,
KEY_APPLICATION = 101,
KEY_POWER = 102,
KEY_NUMPAD_EQUALS = 103,
KEY_F13 = 104,
KEY_F14 = 105,
KEY_F15 = 106,
KEY_F16 = 107,
KEY_F17 = 108,
KEY_F18 = 109,
KEY_F19 = 110,
KEY_F20 = 111,
KEY_F21 = 112,
KEY_F22 = 113,
KEY_F23 = 114,
KEY_F24 = 115,
KEY_EXECUTE = 116,
KEY_HELP = 117,
KEY_MENU = 118,
KEY_SELECT = 119,
KEY_STOP = 120,
KEY_AGAIN = 121,
KEY_UNDO = 122,
KEY_CUT = 123,
KEY_COPY = 124,
KEY_PASTE = 125,
KEY_FIND = 126,
KEY_MUTE = 127,
KEY_VOLUMEUP = 128,
KEY_VOLUMEDOWN = 129,
KEY_NUMPAD_COMMA = 133,
KEY_NUMPAD_EQUALSAS400 = 134,
KEY_INTERNATIONAL1 = 135,
KEY_INTERNATIONAL2 = 136,
KEY_INTERNATIONAL3 = 137,
KEY_INTERNATIONAL4 = 138,
KEY_INTERNATIONAL5 = 139,
KEY_INTERNATIONAL6 = 140,
KEY_INTERNATIONAL7 = 141,
KEY_INTERNATIONAL8 = 142,
KEY_INTERNATIONAL9 = 143,
KEY_LANG1 = 144,
KEY_LANG2 = 145,
KEY_LANG3 = 146,
KEY_LANG4 = 147,
KEY_LANG5 = 148,
KEY_LANG6 = 149,
KEY_LANG7 = 150,
KEY_LANG8 = 151,
KEY_LANG9 = 152,
KEY_ALTERASE = 153,
KEY_SYSREQ = 154,
KEY_CANCEL = 155,
KEY_CLEAR = 156,
KEY_SDL_PRIOR = 157,
KEY_RETURN2 = 158,
KEY_SEPARATOR = 159,
KEY_OUT = 160,
KEY_OPER = 161,
KEY_CLEARAGAIN = 162,
KEY_CRSEL = 163,
KEY_EXSEL = 164,
KEY_NUMPAD_00 = 176,
KEY_NUMPAD_000 = 177,
KEY_THOUSANDSSEPARATOR = 178,
KEY_DECIMALSEPARATOR = 179,
KEY_CURRENCYUNIT = 180,
KEY_CURRENCYSUBUNIT = 181,
KEY_NUMPAD_LEFTPAREN = 182,
KEY_NUMPAD_RIGHTPAREN = 183,
KEY_NUMPAD_LEFTBRACE = 184,
KEY_NUMPAD_RIGHTBRACE = 185,
KEY_NUMPAD_TAB = 186,
KEY_NUMPAD_BACKSPACE = 187,
KEY_NUMPAD_A = 188,
KEY_NUMPAD_B = 189,
KEY_NUMPAD_C = 190,
KEY_NUMPAD_D = 191,
KEY_NUMPAD_E = 192,
KEY_NUMPAD_F = 193,
KEY_NUMPAD_XOR = 194,
KEY_NUMPAD_POWER = 195,
KEY_NUMPAD_PERCENT = 196,
KEY_NUMPAD_LESS = 197,
KEY_NUMPAD_GREATER = 198,
KEY_NUMPAD_AMPERSAND = 199,
KEY_NUMPAD_DBLAMPERSAND = 200,
KEY_NUMPAD_VERTICALBAR = 201,
KEY_NUMPAD_DBLVERTICALBAR = 202,
KEY_NUMPAD_COLON = 203,
KEY_NUMPAD_HASH = 204,
KEY_NUMPAD_SPACE = 205,
KEY_NUMPAD_AT = 206,
KEY_NUMPAD_EXCLAM = 207,
KEY_NUMPAD_MEMSTORE = 208,
KEY_NUMPAD_MEMRECALL = 209,
KEY_NUMPAD_MEMCLEAR = 210,
KEY_NUMPAD_MEMADD = 211,
KEY_NUMPAD_MEMSUBTRACT = 212,
KEY_NUMPAD_MEMMULTIPLY = 213,
KEY_NUMPAD_MEMDIVIDE = 214,
KEY_NUMPAD_PLUSMINUS = 215,
KEY_NUMPAD_CLEAR = 216,
KEY_NUMPAD_CLEARENTRY = 217,
KEY_NUMPAD_BINARY = 218,
KEY_NUMPAD_OCTAL = 219,
KEY_NUMPAD_DECIMAL = 220,
KEY_NUMPAD_HEXADECIMAL = 221,
KEY_LCTRL = 224,
KEY_LSHIFT = 225,
KEY_LALT = 226,
KEY_LGUI = 227,
KEY_RCTRL = 228,
KEY_RSHIFT = 229,
KEY_RALT = 230,
KEY_RGUI = 231,
KEY_MODE = 257,
KEY_MEDIA_NEXT_TRACK = 267,
KEY_MEDIA_PREVIOUS_TRACK = 268,
KEY_MEDIA_STOP = 269,
KEY_MEDIA_PLAY = 262,
KEY_MEDIA_SELECT = 272,
KEY_AC_SEARCH = 280,
KEY_AC_HOME = 281,
KEY_AC_BACK = 282,
KEY_AC_FORWARD = 283,
KEY_AC_STOP = 284,
KEY_AC_REFRESH = 285,
KEY_AC_BOOKMARKS = 286,
KEY_MEDIA_EJECT = 270,
KEY_SLEEP = 258,
KEY_MEDIA_REWIND = 266,
KEY_MEDIA_FAST_FORWARD = 265,
KEY_SOFTLEFT = 287,
KEY_SOFTRIGHT = 288,
KEY_CALL = 289,
KEY_ENDCALL = 290
};
```

## Enum Values
- **KEY_UNKNOWN (0)**: Represents an unknown or unspecified key.
- **KEY_A - KEY_Z (4 to 32)**: Represents the letters A through Z.
- **KEY_1 - KEY_0 (30 to 39)**: Represents the digits 1 through 0.
- **KEY_RETURN (40)**: Represents the Enter or Return key.
- **KEY_ESCAPE (41)**: Represents the Escape key.
- **KEY_BACK (42)**: Represents the Backspace key.
- **KEY_TAB (43)**: Represents the Tab key.
- **KEY_SPACE (44)**: Represents the Space key.
- **KEY_MINUS (45)**: Represents the - or _ key.
- **KEY_EQUALS (46)**: Represents the = or + key.
- **KEY_LEFTBRACKET (47)**: Represents the [ or { key.
- **KEY_RIGHTBRACKET (48)**: Represents the ] or } key.
- **KEY_BACKSLASH (49)**: Represents the \ or | key.
- **KEY_NONUSHASH (50)**: Represents an unused key on non-US keyboards.
- **KEY_SEMICOLON (51)**: Represents the ; or : key.
- **KEY_APOSTROPHE (52)**: Represents the ' or " key.
- **KEY_GRAVE (53)**: Represents the ` or ~ key.
- **KEY_COMMA (54)**: Represents the , or < key.
- **KEY_PERIOD (55)**: Represents the . or > key.
- **KEY_SLASH (56)**: Represents the / or ? key.
- **KEY_CAPSLOCK (57)**: Represents the Caps Lock key.
- **KEY_F1 - KEY_F24 (58 to 135)**: Represents the Function keys F1 through F24.
- **KEY_PRINTSCREEN (70), KEY_SCROLLLOCK (71), KEY_PAUSE (72)**: Represents the Print Screen, Scroll Lock, and Pause/Break keys.
- **KEY_INSERT (73), KEY_HOME (74), KEY_PAGEUP (75)**: Represents the Insert, Home, and Page Up keys.
- **KEY_DELETE (76), KEY_END (77), KEY_PAGEDOWN (78)**: Represents the Delete, End, and Page Down keys.
- **KEY_RIGHT (79), KEY_LEFT (80), KEY_DOWN (81), KEY_UP (82)**: Represents the Arrow keys (Right, Left, Down, Up).
- **KEY_NUMLOCKCLEAR (83), KEY_NUMPAD_DIVIDE (84), KEY_NUMPAD_MULTIPLY (85), KEY_NUMPAD_MINUS (86), KEY_NUMPAD_PLUS (87), KEY_NUMPAD_ENTER (88)**: Represents the Num Lock and Numeric keypad keys.
- **KEY_NUMPAD_0 - KEY_NUMPAD_9 (89 to 97)**: Represents the numeric keypad digits.
- **KEY_NUMPAD_PERIOD (99)**: Represents the Decimal key on the numeric keypad.
- **KEY_NONUSBACKSLASH (100), KEY_APPLICATION (101), KEY_POWER (102), KEY_NUMPAD_EQUALS (103), KEY_F13 - KEY_F24 (104 to 115)**: Represents additional keys found on non-US keyboards and on modern computers with a numeric keypad.
- **KEY_EXECUTE (116), KEY_HELP (117), KEY_MENU (118), KEY_SELECT (119), KEY_STOP (120), KEY_AGAIN (121), KEY_UNDO (122), KEY_CUT (123), KEY_COPY (124), KEY_PASTE (125), KEY_FIND (126)**: Represents various function keys and commands.
- **KEY_MUTE (127), KEY_VOLUMEUP (128), KEY_VOLUMEDOWN (129)**: Represents the Volume Control keys.
- **KEY_NUMPAD_COMMA (133), KEY_NUMPAD_EQUALSAS400 (134), KEY_INTERNATIONAL1 - KEY_INTERNATIONAL9 (135 to 143)**: Represents additional keys found on some non-US keyboards and in certain operating systems.
- **KEY_LANG1 - KEY_LANG9 (144 to 152)**: Represents language-specific function keys.
- **KEY_ALTERASE (153), KEY_SYSREQ (154), KEY_CANCEL (155), KEY_CLEAR (156), KEY_SDL_PRIOR (157), KEY_RETURN2 (158), KEY_SEPARATOR (159)**: Represents various control and function keys.
- **KEY_OUT (160), KEY_OPER (161), KEY_CLEARAGAIN (162), KEY_CRSEL (163), KEY_EXSEL (164)**: Represents additional control keys.
- **KEY_NUMPAD_00 - KEY_NUMPAD_OCTAL (176 to 219)**: Represents additional numeric keypad keys and functions.
- **KEY_NUMPAD_DECIMAL (220), KEY_NUMPAD_HEXADECIMAL (221)**: Represents the Decimal and Hexadecimal mode buttons on some numeric keypads.
- **KEY_LCTRL - KEY_RGUI (224 to 231)**: Represents the Left Control, Right Control, Left Shift, Right Shift, Left Alt, and Right Alt keys.
- **KEY_MODE (257)**: Represents the Mode or Compose key.
- **KEY_MEDIA_NEXT_TRACK (267), KEY_MEDIA_PREVIOUS_TRACK (268), KEY_MEDIA_STOP (269), KEY_MEDIA_PLAY (262), KEY_MEDIA_SELECT (272)**: Represents media control keys such as Next Track, Previous Track, Stop, Play/Pause, and Select.
- **KEY_AC_SEARCH (280), KEY_AC_HOME (281), KEY_AC_BACK (282), KEY_AC_FORWARD (283), KEY_AC_STOP (284), KEY_AC_REFRESH (285), KEY_AC_BOOKMARKS (286)**: Represents Action Center keys.
- **KEY_MEDIA_EJECT (270)**: Represents the Eject media key.
- **KEY_SLEEP (258)**: Represents the Sleep key.
- **KEY_MEDIA_REWIND (266), KEY_MEDIA_FAST_FORWARD (265)**: Represents Rewind and Fast Forward media control keys.
- **KEY_SOFTLEFT (287), KEY_SOFTRIGHT (288)**: Represents Soft Left and Right navigation buttons on some devices.
- **KEY_CALL (289), KEY_ENDCALL (290)**: Represents the Call and End Call keys.
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# matrixcoefficients Enum

## Overview
The `matrixcoefficients` enum defines the transformation matrix used to convert from the color space of a source image or video to the color space of a target display. These matrices are crucial for maintaining accurate color representation when processing media.

## Syntax
```angelscript
enum matrixcoefficients {
MATRIX_COEFFICIENTS_IDENTITY,
MATRIX_COEFFICIENTS_BT709,
MATRIX_COEFFICIENTS_UNSPECIFIED,
MATRIX_COEFFICIENTS_FCC,
MATRIX_COEFFICIENTS_BT470BG,
MATRIX_COEFFICIENTS_BT601,
MATRIX_COEFFICIENTS_SMPTE240,
MATRIX_COEFFICIENTS_YCGCO,
MATRIX_COEFFICIENTS_BT2020_NCL,
MATRIX_COEFFICIENTS_BT2020_CL,
MATRIX_COEFFICIENTS_SMPTE2085,
MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL,
MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL,
MATRIX_COEFFICIENTS_ICTCP,
MATRIX_COEFFICIENTS_CUSTOM
};
```

## Enum Values
- **MATRIX_COEFFICIENTS_IDENTITY (0)**: Represents an identity transformation matrix, which leaves the color values unchanged.
- **MATRIX_COEFFICIENTS_BT709 (1)**: Transformation matrix based on Rec. 709 for HDTV and Blu-ray displays.
- **MATRIX_COEFFICIENTS_UNSPECIFIED (2)**: Indicates that the transformation matrix is not specified in the media data.
- **MATRIX_COEFFICIENTS_FCC (4)**: Transformation matrix based on Federal Communications Commission standards, primarily used in NTSC systems.
- **MATRIX_COEFFICIENTS_BT470BG (5)**: Transformation matrix based on BT.470 (1990) for SECAM and PAL systems.
- **MATRIX_COEFFICIENTS_BT601 (6)**: Transformation matrix based on Rec. 601 for NTSC, PAL, and SECAM television standards.
- **MATRIX_COEFFICIENTS_SMPTE240 (7)**: Transformation matrix used in studio lighting and photography.
- **MATRIX_COEFFICIENTS_YCGCO (8)**: Chromaticity coordinates using the YCbCr color space with a different chroma component arrangement than BT.601.
- **MATRIX_COEFFICIENTS_BT2020_NCL (9)**: Normalized chrominance components for BT.2020, used for 10-bit HDR content.
- **MATRIX_COEFFICIENTS_BT2020_CL (10)**: Chromaticity coordinates using the YCbCr color space with normalized chroma components for BT.2020, used for 12-bit HDR content.
- **MATRIX_COEFFICIENTS_SMPTE2085 (11)**: Chromaticity coordinates based on SMPTE ST 2085, designed for high dynamic range scenes with a larger gamut than Rec. 2020.
- **MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL (12)**: Chromaticity coordinates derived from the source chroma components for BT.2020, normalized.
- **MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL (13)**: Chromaticity coordinates derived from the source chroma components for BT.2020, unnormalized.
- **MATRIX_COEFFICIENTS_ICTCP (14)**: Intensity-Chrominance-Tone Curve (ICTCP) transformation matrix for HDR displays and mastering workflows.
- **MATRIX_COEFFICIENTS_CUSTOM (31)**: Indicates that the transformation matrix is custom-defined.
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# message_box_flags Enum

## Overview
The `message_box_flags` enum defines various flags that can be used to customize the appearance and behavior of a message box in an application. These flags allow you to specify things like the type of icon displayed, the order of buttons, and more.

## Syntax
```angelscript
enum message_box_flags {
MESSAGE_BOX_ERROR = 16,
MESSAGE_BOX_WARNING = 32,
MESSAGE_BOX_INFORMATION = 64,
MESSAGE_BOX_BUTTONS_LEFT_TO_RIGHT = 128,
MESSAGE_BOX_BUTTONS_RIGHT_TO_LEFT = 256
};
```

## Enum Values
- **MESSAGE_BOX_ERROR (16)**: Displays an error icon in the message box.
- **MESSAGE_BOX_WARNING (32)**: Displays a warning icon in the message box.
- **MESSAGE_BOX_INFORMATION (64)**: Displays an information icon in the message box.
- **MESSAGE_BOX_BUTTONS_LEFT_TO_RIGHT (128)**: Arranges the buttons in the message box from left to right.
- **MESSAGE_BOX_BUTTONS_RIGHT_TO_LEFT (256)**: Arranges the buttons in the message box from right to left.
30 changes: 30 additions & 0 deletions docs/Foundation/Namespaces/Global/Enumerations/packedlayout.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# packedlayout Enum

## Overview
The `packedlayout` enum defines the layout and bit allocation for packed pixel formats. These layouts specify how individual color components (red, green, blue, and alpha) are encoded into a single word or integer value. Understanding these layouts is crucial when working with image processing libraries that use packed pixel representations.

## Syntax
```angelscript
enum packedlayout {
PACKEDLAYOUT_NONE,
PACKEDLAYOUT_332,
PACKEDLAYOUT_4444,
PACKEDLAYOUT_1555,
PACKEDLAYOUT_5551,
PACKEDLAYOUT_565,
PACKEDLAYOUT_8888,
PACKEDLAYOUT_2101010,
PACKEDLAYOUT_1010102
};
```

## Enum Values
- **PACKEDLAYOUT_NONE (0)**: Represents an unknown or unspecified packed layout.
- **PACKEDLAYOUT_332 (1)**: 8-bit packed format with 3 bits for red, 3 bits for green, and 2 bits for blue. Often used for display purposes where high color accuracy is not critical.
- **PACKEDLAYOUT_4444 (2)**: 16-bit packed format with 4 bits each for red, green, blue, and alpha. Provides good color accuracy at the cost of higher memory usage.
- **PACKEDLAYOUT_1555 (3)**: 16-bit packed format with 1 bit for alpha and 5 bits each for red, green, and blue. Often used in hardware that supports this layout for efficient blending.
- **PACKEDLAYOUT_5551 (4)**: 16-bit packed format with 1 bit for alpha and 5 bits each for red, green, and blue. Similar to `PACKEDLAYOUT_1555`, but with a different arrangement of bits.
- **PACKEDLAYOUT_565 (5)**: 16-bit packed format with 5 bits each for red and green, and 6 bits for blue. Often used in graphics hardware where this specific layout is supported.
- **PACKEDLAYOUT_8888 (6)**: 32-bit packed format with 8 bits each for red, green, blue, and alpha. Provides the highest color accuracy but uses the most memory.
- **PACKEDLAYOUT_2101010 (7)**: 32-bit packed format with 2 bits for alpha, 10 bits each for red and green, and 1 bit each for blue and alpha. Used in some graphics APIs where this specific layout is supported for efficient storage.
- **PACKEDLAYOUT_1010102 (8)**: 32-bit packed format with 2 bits for alpha, 10 bits each for red and green, and 1 bit for blue. Similar to `PACKEDLAYOUT_2101010`, but with a different arrangement of bits.
30 changes: 30 additions & 0 deletions docs/Foundation/Namespaces/Global/Enumerations/packedorder.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# packedorder Enum

## Overview
The `packedorder` enum defines the order in which pixel components (red, green, blue, and alpha) are packed into a single 32-bit integer. These orders affect how the pixels are interpreted when rendering graphics.

## Syntax
```angelscript
enum packedorder {
PACKEDORDER_NONE,
PACKEDORDER_XRGB,
PACKEDORDER_RGBX,
PACKEDORDER_ARGB,
PACKEDORDER_RGBA,
PACKEDORDER_XBGR,
PACKEDORDER_BGRX,
PACKEDORDER_ABGR,
PACKEDORDER_BGRA
};
```

## Enum Values
- **PACKEDORDER_NONE (0)**: Represents an unknown or unspecified packed order.
- **PACKEDORDER_XRGB (1)**: Packed order with the alpha channel omitted, followed by red, green, and blue. This is often used for efficient storage but requires careful handling of the alpha component.
- **PACKEDORDER_RGBX (2)**: Packed order with the alpha channel omitted, followed by red, green, and blue. Similar to `PACKEDORDER_XRGB`, this format can be less efficient due to the missing alpha information.
- **PACKEDORDER_ARGB (3)**: Packed order with the alpha channel first, followed by red, green, and blue. This is a common format used in many graphics APIs and libraries.
- **PACKEDORDER_RGBA (4)**: Packed order with the red channel first, followed by green, blue, and alpha. This is another common format used in various rendering systems.
- **PACKEDORDER_XBGR (5)**: Packed order with the alpha channel omitted, followed by blue, green, and red. Similar to `PACKEDORDER_XRGB`, this format can be less efficient due to the missing alpha information.
- **PACKEDORDER_BGRX (6)**: Packed order with the alpha channel omitted, followed by blue, green, and red. This is a less common but still used format for certain graphics operations.
- **PACKEDORDER_ABGR (7)**: Packed order with the alpha channel first, followed by blue, green, and red. This format can be useful in some specific scenarios where the color components are accessed differently from RGB formats.
- **PACKEDORDER_BGRA (8)**: Packed order with the blue channel first, followed by green, red, and alpha. This is another common format used in various rendering systems.
155 changes: 155 additions & 0 deletions docs/Foundation/Namespaces/Global/Enumerations/pixelformat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
# pixelformat Enum

## Overview
The `pixelformat` enum defines various pixel formats that can be used to represent image data. Each format specifies how the pixels are stored and interpreted, which affects performance and compatibility when working with images in applications.

## Syntax
```angelscript
enum pixelformat {
PIXELFORMAT_UNKNOWN,
PIXELFORMAT_INDEX1LSB,
PIXELFORMAT_INDEX1MSB,
PIXELFORMAT_INDEX2LSB,
PIXELFORMAT_INDEX2MSB,
PIXELFORMAT_INDEX4LSB,
PIXELFORMAT_INDEX4MSB,
PIXELFORMAT_INDEX8,
PIXELFORMAT_XRGB4444,
PIXELFORMAT_XBGR4444,
PIXELFORMAT_XRGB1555,
PIXELFORMAT_XBGR1555,
PIXELFORMAT_ARGB4444,
PIXELFORMAT_RGBA4444,
PIXELFORMAT_ABGR4444,
PIXELFORMAT_BGRA4444,
PIXELFORMAT_ARGB1555,
PIXELFORMAT_RGBA5551,
PIXELFORMAT_ABGR1555,
PIXELFORMAT_BGRA5551,
PIXELFORMAT_RGB565,
PIXELFORMAT_BGR565,
PIXELFORMAT_RGB24,
PIXELFORMAT_BGR24,
PIXELFORMAT_XRGB8888,
PIXELFORMAT_RGBX8888,
PIXELFORMAT_XBGR8888,
PIXELFORMAT_BGRX8888,
PIXELFORMAT_ARGB8888,
PIXELFORMAT_RGBA8888,
PIXELFORMAT_ABGR8888,
PIXELFORMAT_BGRA8888,
PIXELFORMAT_XRGB2101010,
PIXELFORMAT_XBGR2101010,
PIXELFORMAT_ARGB2101010,
PIXELFORMAT_ABGR2101010,
PIXELFORMAT_RGB48,
PIXELFORMAT_BGR48,
PIXELFORMAT_RGBA64,
PIXELFORMAT_ARGB64,
PIXELFORMAT_BGRA64,
PIXELFORMAT_ABGR64,
PIXELFORMAT_RGB48_FLOAT,
PIXELFORMAT_BGR48_FLOAT,
PIXELFORMAT_RGBA64_FLOAT,
PIXELFORMAT_ARGB64_FLOAT,
PIXELFORMAT_BGRA64_FLOAT,
PIXELFORMAT_ABGR64_FLOAT,
PIXELFORMAT_RGB96_FLOAT,
PIXELFORMAT_BGR96_FLOAT,
PIXELFORMAT_RGBA128_FLOAT,
PIXELFORMAT_ARGB128_FLOAT,
PIXELFORMAT_BGRA128_FLOAT,
PIXELFORMAT_ABGR128_FLOAT,
PIXELFORMAT_YV12,
PIXELFORMAT_IYUV,
PIXELFORMAT_YUY2,
PIXELFORMAT_UYVY,
PIXELFORMAT_YVYU,
PIXELFORMAT_NV12,
PIXELFORMAT_NV21,
PIXELFORMAT_P010,
PIXELFORMAT_EXTERNAL_OES
};
```

## Enum Values

### Indexed Formats
- **PIXELFORMAT_INDEX1LSB (286261504)**: 1-bit per pixel, using the least significant bit for color.
- **PIXELFORMAT_INDEX1MSB (287310080)**: 1-bit per pixel, using the most significant bit for color.
- **PIXELFORMAT_INDEX2LSB (470811136)**: 2-bits per pixel, using the least significant bits for color.
- **PIXELFORMAT_INDEX2MSB (471859712)**: 2-bits per pixel, using the most significant bits for color.
- **PIXELFORMAT_INDEX4LSB (303039488)**: 4-bits per pixel, using the least significant bits for color.
- **PIXELFORMAT_INDEX4MSB (304088064)**: 4-bits per pixel, using the most significant bits for color.
- **PIXELFORMAT_INDEX8 (318769153)**: 8-bits per pixel, using all 8 bits for a single color index.

### Packed Formats
- **PIXELFORMAT_XRGB4444 (353504258)**: 16-bit packed format with the most significant bit reserved and the next 4 bits for each of red, green, and blue.
- **PIXELFORMAT_XBGR4444 (357698562)**: 16-bit packed format with the most significant bit reserved and the next 4 bits for each of blue, green, and red.
- **PIXELFORMAT_XRGB1555 (353570562)**: 16-bit packed format with the most significant bit reserved and the next 5 bits each for red, green, and blue, and one bit for alpha.
- **PIXELFORMAT_XBGR1555 (357764866)**: 16-bit packed format with the most significant bit reserved and the next 5 bits each for blue, green, and red, and one bit for alpha.
- **PIXELFORMAT_ARGB4444 (355602434)**: 16-bit packed format with the 4 most significant bits for alpha, followed by 4 bits each for red, green, and blue.
- **PIXELFORMAT_RGBA4444 (356651010)**: 16-bit packed format with the 4 least significant bits for alpha, followed by 4 bits each for red, green, and blue.
- **PIXELFORMAT_ABGR4444 (359796738)**: 16-bit packed format with the 4 most significant bits for alpha, followed by 4 bits each for blue, green, and red.
- **PIXELFORMAT_BGRA4444 (360845314)**: 16-bit packed format with the 4 least significant bits for alpha, followed by 4 bits each for blue, green, and red.
- **PIXELFORMAT_ARGB1555 (355667970)**: 16-bit packed format with the most significant bit reserved and 5 bits for alpha, followed by 5 bits each for red, green, and blue.
- **PIXELFORMAT_RGBA5551 (356782082)**: 16-bit packed format with the least significant bit reserved and 5 bits for red, green, and blue, followed by 1 bit for alpha.
- **PIXELFORMAT_ABGR1555 (359862274)**: 16-bit packed format with the most significant bit reserved and 5 bits for alpha, followed by 5 bits each for blue, green, and red.
- **PIXELFORMAT_BGRA5551 (360976386)**: 16-bit packed format with the least significant bit reserved and 5 bits for red, green, and blue, followed by 1 bit for alpha.
- **PIXELFORMAT_RGB565 (353701890)**: 16-bit packed format with the most significant bit reserved and 5 bits each for red, green, and blue.
- **PIXELFORMAT_BGR565 (357896194)**: 16-bit packed format with the most significant bit reserved and 5 bits each for blue, green, and red.

### Truecolor Formats
- **PIXELFORMAT_RGB24 (386930691)**: 24-bit truecolor format, using all 8 bits per component.
- **PIXELFORMAT_BGR24 (390076419)**: 24-bit truecolor format, using all 8 bits per component but in reverse order.

### 32-Bit Packed Formats
- **PIXELFORMAT_XRGB8888 (370546692)**: 32-bit packed format with the most significant bit reserved and 8 bits each for red, green, and blue.
- **PIXELFORMAT_RGBX8888 (371595268)**: 32-bit packed format with the least significant bit reserved and 8 bits each for red, green, and blue.
- **PIXELFORMAT_XBGR8888 (374740996)**: 32-bit packed format with the most significant bit reserved and 8 bits each for blue, green, and red.
- **PIXELFORMAT_BGRX8888 (375789572)**: 32-bit packed format with the least significant bit reserved and 8 bits each for blue, green, and red.
- **PIXELFORMAT_ARGB8888 (372645892)**: 32-bit packed format with 8 bits for alpha, followed by 8 bits each for red, green, and blue.
- **PIXELFORMAT_RGBA8888 (373694468)**: 32-bit packed format with 8 bits for red, green, and blue, followed by 8 bits for alpha.
- **PIXELFORMAT_ABGR8888 (376840196)**: 32-bit packed format with 8 bits for alpha, followed by 8 bits each for blue, green, and red.
- **PIXELFORMAT_BGRA8888 (377888772)**: 32-bit packed format with 8 bits for red, green, and blue, followed by 8 bits for alpha.

### 10-Bit Packed Formats
- **PIXELFORMAT_XRGB2101010 (370614276)**: 32-bit packed format with the most significant bit reserved, 10 bits each for red, green, and blue.
- **PIXELFORMAT_XBGR2101010 (374808580)**: 32-bit packed format with the most significant bit reserved, 10 bits each for blue, green, and red.
- **PIXELFORMAT_ARGB2101010 (372711428)**: 32-bit packed format with the most significant bit reserved, 10 bits each for red, green, and blue, followed by 2 bits for alpha.
- **PIXELFORMAT_ABGR2101010 (376905732)**: 32-bit packed format with the most significant bit reserved, 10 bits each for blue, green, and red, followed by 2 bits for alpha.

### Floating-Point Formats
- **PIXELFORMAT_RGB48_FLOAT (437268486)**: 48-bit floating-point format with 16 bits for each of red, green, and blue.
- **PIXELFORMAT_BGR48_FLOAT (440414214)**: 48-bit floating-point format with 16 bits for each of blue, green, and red.
- **PIXELFORMAT_RGBA64_FLOAT (438321160)**: 64-bit floating-point format with 16 bits for alpha, followed by 16 bits each for red, green, and blue.
- **PIXELFORMAT_ARGB64_FLOAT (439369736)**: 64-bit floating-point format with 16 bits for red, green, and blue, followed by 16 bits for alpha.
- **PIXELFORMAT_BGRA64_FLOAT (441466888)**: 64-bit floating-point format with 16 bits for red, green, and blue, followed by 16 bits for alpha.
- **PIXELFORMAT_ABGR64_FLOAT (442515464)**: 64-bit floating-point format with 16 bits for alpha, followed by 16 bits each for blue, green, and red.

### 96-Bit Floating-Point Formats
- **PIXELFORMAT_RGB96_FLOAT (454057996)**: 96-bit floating-point format with 32 bits for each of red, green, and blue.
- **PIXELFORMAT_BGR96_FLOAT (457203724)**: 96-bit floating-point format with 32 bits for each of blue, green, and red.

### 128-Bit Floating-Point Formats
- **PIXELFORMAT_RGBA128_FLOAT (455114768)**: 128-bit floating-point format with 32 bits for alpha, followed by 32 bits each for red, green, and blue.
- **PIXELFORMAT_ARGB128_FLOAT (456163344)**: 128-bit floating-point format with 32 bits for red, green, and blue, followed by 32 bits for alpha.
- **PIXELFORMAT_BGRA128_FLOAT (458260496)**: 128-bit floating-point format with 32 bits for red, green, and blue, followed by 32 bits for alpha.
- **PIXELFORMAT_ABGR128_FLOAT (459309072)**: 128-bit floating-point format with 32 bits for alpha, followed by 32 bits each for blue, green, and red.

### YUV Formats
- **PIXELFORMAT_YV12 (842094169)**: Planar YUV format where the Y component is stored first, followed by U and V components.
- **PIXELFORMAT_IYUV (1448433993)**: Planar I420 format with chroma subsampling.
- **PIXELFORMAT_YUY2 (844715353)**: Packed YUV format with interleaved Y, U, and V components.
- **PIXELFORMAT_UYVY (1498831189)**: Packed YUV format with interleaved U, Y, and V components.
- **PIXELFORMAT_YVYU (1431918169)**: Packed YUV format with interleaved Y, V, and U components.

### NV Formats
- **PIXELFORMAT_NV12 (842094158)**: Planar NV12 format where the Y component is stored first, followed by interleaved UV components.
- **PIXELFORMAT_NV21 (825382478)**: Similar to NV12, but with a different arrangement of UV components.

### P010 Formats
- **PIXELFORMAT_P010 (808530000)**: 10-bit packed YUV format where the Y component is stored first, followed by interleaved 10-bit U and V components.

### External OES Format
- **PIXELFORMAT_EXTERNAL_OES (542328143)**: Format used for rendering external surfaces in OpenGL ES.
38 changes: 38 additions & 0 deletions docs/Foundation/Namespaces/Global/Enumerations/pixeltype.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# pixeltype Enum

## Overview
The `pixeltype` enum defines the different types of pixel data that can be used in images, textures, and other graphical elements. These types specify how the pixel values are stored and interpreted.

## Syntax
```angelscript
enum pixeltype {
PIXELTYPE_UNKNOWN,
PIXELTYPE_INDEX1,
PIXELTYPE_INDEX4,
PIXELTYPE_INDEX8,
PIXELTYPE_PACKED8,
PIXELTYPE_PACKED16,
PIXELTYPE_PACKED32,
PIXELTYPE_ARRAYU8,
PIXELTYPE_ARRAYU16,
PIXELTYPE_ARRAYU32,
PIXELTYPE_ARRAYF16,
PIXELTYPE_ARRAYF32,
PIXELTYPE_INDEX2
};
```

## Enum Values
- **PIXELTYPE_UNKNOWN (0)**: Represents an unknown or unspecified pixel type.
- **PIXELTYPE_INDEX1 (1)**: Each pixel is represented by a 1-bit index into a color palette.
- **PIXELTYPE_INDEX4 (2)**: Each pixel is represented by a 4-bit index into a color palette.
- **PIXELTYPE_INDEX8 (3)**: Each pixel is represented by an 8-bit index into a color palette.
- **PIXELTYPE_PACKED8 (4)**: Pixel values are packed into 8-bit quantities, typically representing red, green, and blue components.
- **PIXELTYPE_PACKED16 (5)**: Pixel values are packed into 16-bit quantities, often including alpha as well as RGB.
- **PIXELTYPE_PACKED32 (6)**: Pixel values are packed into 32-bit quantities, providing full RGB(A) information.
- **PIXELTYPE_ARRAYU8 (7)**: Each component (red, green, blue, and optionally alpha) is represented by an 8-bit unsigned integer.
- **PIXELTYPE_ARRAYU16 (8)**: Each component is represented by a 16-bit unsigned integer.
- **PIXELTYPE_ARRAYU32 (9)**: Each component is represented by a 32-bit unsigned integer.
- **PIXELTYPE_ARRAYF16 (10)**: Each component is represented by a 16-bit floating-point number.
- **PIXELTYPE_ARRAYF32 (11)**: Each component is represented by a 32-bit floating-point number.
- **PIXELTYPE_INDEX2 (12)**: Each pixel is represented by a 2-bit index into a color palette.
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# rendererlogicalpresentation Enum

## Overview
The `rendererlogicalpresentation` enum defines the different logical presentation modes that can be used to control how a renderer scales and presents content. These modes affect how the application's graphics are displayed on the screen, ensuring they fit properly while maintaining performance.

## Syntax
```angelscript
enum rendererlogicalpresentation {
LOGICAL_PRESENTATION_DISABLED,
LOGICAL_PRESENTATION_STRETCH,
LOGICAL_PRESENTATION_LETTERBOX,
LOGICAL_PRESENTATION_OVERSCAN,
LOGICAL_PRESENTATION_INTEGER_SCALE
};
```

## Enum Values
- **LOGICAL_PRESENTATION_DISABLED (0)**: Logical presentation is disabled. The renderer will display the content at its native size without any scaling or modification.
- **LOGICAL_PRESENTATION_STRETCH (1)**: The content is stretched to fit the entire screen, potentially distorting it.
- **LOGICAL_PRESENTATION_LETTERBOX (2)**: The content is displayed with letterboxing (black bars on top and bottom), ensuring that the aspect ratio is maintained but some parts of the content may be obscured.
- **LOGICAL_PRESENTATION_OVERSCAN (3)**: The content is displayed with overscan (black bars on sides or top/bottom), ensuring that no part of the content is obscured, but it may not fit perfectly on all devices.
- **LOGICAL_PRESENTATION_INTEGER_SCALE (4)**: The content is scaled up or down by integer factors to maintain sharpness and avoid blurriness.
16 changes: 16 additions & 0 deletions docs/Foundation/Namespaces/Global/Enumerations/scalemode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# scalemode Enum

## Overview
The `scalemode` enum defines the scaling methods that can be used to resize images, textures, or other graphical elements. These modes control how pixel data is interpolated when the dimensions of an image change.

## Syntax
```angelscript
enum scalemode {
SCALEMODE_NEAREST,
SCALEMODE_LINEAR
};
```

## Enum Values
- **SCALEMODE_NEAREST (0)**: Uses nearest neighbor interpolation for scaling. This method preserves edges but can result in pixelation, especially when scaling up.
- **SCALEMODE_LINEAR (1)**: Uses linear interpolation for scaling. This method provides smoother results by blending nearby pixels, which is generally preferred for scaling up.
18 changes: 18 additions & 0 deletions docs/Foundation/Namespaces/Global/Enumerations/textureaccess.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# textureaccess Enum

## Overview
The `textureaccess` enum defines the access mode for a texture, which determines how it can be used and modified in an application. The different access modes affect memory usage and performance, so choosing the right one is important.

## Syntax
```angelscript
enum textureaccess {
TEXTUREACCESS_STATIC,
TEXTUREACCESS_STREAMING,
TEXTUREACCESS_TARGET
};
```

## Enum Values
- **TEXTUREACCESS_STATIC (0)**: The texture is created once and does not change after that. This mode uses the least amount of memory but offers the best performance.
- **TEXTUREACCESS_STREAMING (1)**: The texture can be modified frequently, such as updating it in real-time or streaming video data into it. This mode requires more memory than `TEXTUREACCESS_STATIC` but allows for dynamic updates.
- **TEXTUREACCESS_TARGET (2)**: The texture is used as a render target, meaning it will be drawn to by other textures or rendering operations. This mode typically uses the most memory and has the highest performance impact.
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# transfercharacteristics Enum

## Overview
The `transfercharacteristics` enum defines the transfer function used to map linear optical intensity to digital values in various image and video formats. These functions affect how colors are displayed, especially for high dynamic range (HDR) content.

## Syntax
```angelscript
enum transfercharacteristics {
TRANSFER_CHARACTERISTICS_UNKNOWN,
TRANSFER_CHARACTERISTICS_BT709,
TRANSFER_CHARACTERISTICS_UNSPECIFIED,
TRANSFER_CHARACTERISTICS_GAMMA22,
TRANSFER_CHARACTERISTICS_GAMMA28,
TRANSFER_CHARACTERISTICS_BT601,
TRANSFER_CHARACTERISTICS_SMPTE240,
TRANSFER_CHARACTERISTICS_LINEAR,
TRANSFER_CHARACTERISTICS_LOG100,
TRANSFER_CHARACTERISTICS_LOG100_SQRT10,
TRANSFER_CHARACTERISTICS_IEC61966,
TRANSFER_CHARACTERISTICS_BT1361,
TRANSFER_CHARACTERISTICS_SRGB,
TRANSFER_CHARACTERISTICS_BT2020_10BIT,
TRANSFER_CHARACTERISTICS_BT2020_12BIT,
TRANSFER_CHARACTERISTICS_PQ,
TRANSFER_CHARACTERISTICS_SMPTE428,
TRANSFER_CHARACTERISTICS_HLG,
TRANSFER_CHARACTERISTICS_CUSTOM
};
```

## Enum Values
- **TRANSFER_CHARACTERISTICS_UNKNOWN (0)**: Represents an unknown or unspecified transfer function.
- **TRANSFER_CHARACTERISTICS_BT709 (1)**: Transfer function used in HDTV, Blu-ray, and many modern displays. Also known as Rec. 709.
- **TRANSFER_CHARACTERISTICS_UNSPECIFIED (2)**: Indicates that the transfer function is not specified in the media data.
- **TRANSFER_CHARACTERISTICS_GAMMA22 (4)**: A common transfer function used for standard video signals. This is often referred to as "gamma correction".
- **TRANSFER_CHARACTERISTICS_GAMMA28 (5)**: Another form of gamma correction with a slightly different exponent.
- **TRANSFER_CHARACTERISTICS_BT601 (6)**: Transfer function used in NTSC, PAL, and SECAM television standards, also known as Rec. 601.
- **TRANSFER_CHARACTERISTICS_SMPTE240 (7)**: Transfer function used in studio lighting and photography.
- **TRANSFER_CHARACTERISTICS_LINEAR (8)**: A linear transfer function where the output is a direct proportion of the input.
- **TRANSFER_CHARACTERISTICS_LOG100 (9)**: A logarithmic transfer function designed for high dynamic range content.
- **TRANSFER_CHARACTERISTICS_LOG100_SQRT10 (10)**: Similar to `TRANSFER_CHARACTERISTICS_LOG100`, but with a different scaling factor.
- **TRANSFER_CHARACTERISTICS_IEC61966 (11)**: Transfer function defined by the International Electrotechnical Commission for wide gamut displays.
- **TRANSFER_CHARACTERISTICS_BT1361 (12)**: Transfer function used in consumer displays and digital cameras.
- **TRANSFER_CHARACTERISTICS_SRGB (13)**: Transfer function associated with the sRGB color space, commonly used on the web and in digital imaging software.
- **TRANSFER_CHARACTERISTICS_BT2020_10BIT (14)**: Transfer function for 10-bit high dynamic range content, defined by BT.2020.
- **TRANSFER_CHARACTERISTICS_BT2020_12BIT (15)**: Transfer function for 12-bit high dynamic range content, defined by BT.2020.
- **TRANSFER_CHARACTERISTICS_PQ (16)**: Perceptual quantization transfer function used in HDR displays and mastering workflows.
- **TRANSFER_CHARACTERISTICS_SMPTE428 (17)**: Transfer function based on SMPTE ST 428, designed for high dynamic range scenes with a larger gamut than Rec. 2020.
- **TRANSFER_CHARACTERISTICS_HLG (18)**: Hybrid Log-Gamma transfer function used in hybrid HDR formats like Dolby Vision and HDR10+.
- **TRANSFER_CHARACTERISTICS_CUSTOM (31)**: Indicates that the transfer function is custom-defined.
26 changes: 26 additions & 0 deletions docs/Foundation/Namespaces/internet/Enumerations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# SMTP Login Methods Enum

## Overview
The `smtp_login_method` enum defines various authentication methods that can be used with an SMTP server. Each method corresponds to a specific way of authenticating a user.

## Syntax
```angelscript
enum smtp_login_method {
AUTH_NONE,
AUTH_CRAM_MD5,
AUTH_CRAM_SHA1,
AUTH_LOGIN,
AUTH_PLAIN,
AUTH_XOAUTH2,
AUTH_NTLM
};
```

## Enum Values
- **AUTH_NONE (0)**: No authentication.
- **AUTH_CRAM_MD5 (1)**: CRAM-MD5 authentication mechanism.
- **AUTH_CRAM_SHA1 (2)**: CRAM-SHA1 authentication mechanism.
- **AUTH_LOGIN (3)**: LOGIN authentication method.
- **AUTH_PLAIN (4)**: PLAIN authentication method.
- **AUTH_XOAUTH2 (5)**: XOAUTH2 authentication method, commonly used for Gmail.
- **AUTH_NTLM (6)**: NTLM authentication method.

0 comments on commit efaca9f

Please sign in to comment.