MonoGame.Framework Create a bounding box from the given list of points. The list of Vector3 instances defining the point cloud to bound A bounding box that encapsulates the given point cloud. Thrown if the given list has no points. Deconstruction method for . Defines a viewing frustum for intersection operations. The number of planes in the frustum. The number of corner points in the frustum. Constructs the frustum by extracting the view planes from a matrix. Combined matrix which usually is (View * Projection). Compares whether two instances are equal. instance on the left of the equal sign. instance on the right of the equal sign. true if the instances are equal; false otherwise. Compares whether two instances are not equal. instance on the left of the not equal sign. instance on the right of the not equal sign. true if the instances are not equal; false otherwise. Containment test between this and specified . A for testing. Result of testing for containment between this and specified . Containment test between this and specified . A for testing. Result of testing for containment between this and specified as an output parameter. Containment test between this and specified . A for testing. Result of testing for containment between this and specified . Containment test between this and specified . A for testing. Result of testing for containment between this and specified . Containment test between this and specified . A for testing. Result of testing for containment between this and specified as an output parameter. Containment test between this and specified . A for testing. Result of testing for containment between this and specified . Containment test between this and specified . A for testing. Result of testing for containment between this and specified as an output parameter. Compares whether current instance is equal to specified . The to compare. true if the instances are equal; false otherwise. Compares whether current instance is equal to specified . The to compare. true if the instances are equal; false otherwise. Returns a copy of internal corners array. The array of corners. Returns a copy of internal corners array. The array which values will be replaced to corner values of this instance. It must have size of . Gets the hash code of this . Hash code of this . Gets whether or not a specified intersects with this . A for intersection test. true if specified intersects with this ; false otherwise. Gets whether or not a specified intersects with this . A for intersection test. true if specified intersects with this ; false otherwise as an output parameter. Gets whether or not a specified intersects with this . An other for intersection test. true if other intersects with this ; false otherwise. Gets whether or not a specified intersects with this . A for intersection test. true if specified intersects with this ; false otherwise. Gets whether or not a specified intersects with this . A for intersection test. true if specified intersects with this ; false otherwise as an output parameter. Gets type of intersection between specified and this . A for intersection test. A plane intersection type. Gets type of intersection between specified and this . A for intersection test. A plane intersection type as an output parameter. Gets the distance of intersection of and this or null if no intersection happens. A for intersection test. Distance at which ray intersects with this or null if no intersection happens. Gets the distance of intersection of and this or null if no intersection happens. A for intersection test. Distance at which ray intersects with this or null if no intersection happens as an output parameter. Returns a representation of this in the format: {Near:[nearPlane] Far:[farPlane] Left:[leftPlane] Right:[rightPlane] Top:[topPlane] Bottom:[bottomPlane]} representation of this . Gets or sets the of the frustum. Gets the near plane of the frustum. Gets the far plane of the frustum. Gets the left plane of the frustum. Gets the right plane of the frustum. Gets the top plane of the frustum. Gets the bottom plane of the frustum. Describes a sphere in 3D-space for bounding operations. The sphere center. The sphere radius. Constructs a bounding sphere with the specified center and radius. The sphere center. The sphere radius. Test if a bounding box is fully inside, outside, or just intersecting the sphere. The box for testing. The containment type. Test if a bounding box is fully inside, outside, or just intersecting the sphere. The box for testing. The containment type as an output parameter. Test if a frustum is fully inside, outside, or just intersecting the sphere. The frustum for testing. The containment type. Test if a frustum is fully inside, outside, or just intersecting the sphere. The frustum for testing. The containment type as an output parameter. Test if a sphere is fully inside, outside, or just intersecting the sphere. The other sphere for testing. The containment type. Test if a sphere is fully inside, outside, or just intersecting the sphere. The other sphere for testing. The containment type as an output parameter. Test if a point is fully inside, outside, or just intersecting the sphere. The vector in 3D-space for testing. The containment type. Test if a point is fully inside, outside, or just intersecting the sphere. The vector in 3D-space for testing. The containment type as an output parameter. Creates the smallest that can contain a specified . The box to create the sphere from. The new . Creates the smallest that can contain a specified . The box to create the sphere from. The new as an output parameter. Creates the smallest that can contain a specified . The frustum to create the sphere from. The new . Creates the smallest that can contain a specified list of points in 3D-space. List of point to create the sphere from. The new . Creates the smallest that can contain two spheres. First sphere. Second sphere. The new . Creates the smallest that can contain two spheres. First sphere. Second sphere. The new as an output parameter. Compares whether current instance is equal to specified . The to compare. true if the instances are equal; false otherwise. Compares whether current instance is equal to specified . The to compare. true if the instances are equal; false otherwise. Gets the hash code of this . Hash code of this . Gets whether or not a specified intersects with this sphere. The box for testing. true if intersects with this sphere; false otherwise. Gets whether or not a specified intersects with this sphere. The box for testing. true if intersects with this sphere; false otherwise. As an output parameter. Gets whether or not the other intersects with this sphere. The other sphere for testing. true if other intersects with this sphere; false otherwise. Gets whether or not the other intersects with this sphere. The other sphere for testing. true if other intersects with this sphere; false otherwise. As an output parameter. Gets whether or not a specified intersects with this sphere. The plane for testing. Type of intersection. Gets whether or not a specified intersects with this sphere. The plane for testing. Type of intersection as an output parameter. Gets whether or not a specified intersects with this sphere. The ray for testing. Distance of ray intersection or null if there is no intersection. Gets whether or not a specified intersects with this sphere. The ray for testing. Distance of ray intersection or null if there is no intersection as an output parameter. Returns a representation of this in the format: {Center:[] Radius:[]} A representation of this . Creates a new that contains a transformation of translation and scale from this sphere by the specified . The transformation . Transformed . Creates a new that contains a transformation of translation and scale from this sphere by the specified . The transformation . Transformed as an output parameter. Deconstruction method for . Compares whether two instances are equal. instance on the left of the equal sign. instance on the right of the equal sign. true if the instances are equal; false otherwise. Compares whether two instances are not equal. instance on the left of the not equal sign. instance on the right of the not equal sign. true if the instances are not equal; false otherwise. Describes a 32-bit packed color. Constructs an RGBA color from a packed value. The value is a 32-bit unsigned integer, with R in the least significant octet. The packed value. Constructs an RGBA color from the XYZW unit length components of a vector. A representing color. Constructs an RGBA color from the XYZ unit length components of a vector. Alpha value will be opaque. A representing color. Constructs an RGBA color from a and an alpha value. A for RGB values of new instance. The alpha component value from 0 to 255. Constructs an RGBA color from color and alpha value. A for RGB values of new instance. Alpha component value from 0.0f to 1.0f. Constructs an RGBA color from scalars representing red, green and blue values. Alpha value will be opaque. Red component value from 0.0f to 1.0f. Green component value from 0.0f to 1.0f. Blue component value from 0.0f to 1.0f. Constructs an RGBA color from scalars representing red, green, blue and alpha values. Red component value from 0.0f to 1.0f. Green component value from 0.0f to 1.0f. Blue component value from 0.0f to 1.0f. Alpha component value from 0.0f to 1.0f. Constructs an RGBA color from scalars representing red, green and blue values. Alpha value will be opaque. Red component value from 0 to 255. Green component value from 0 to 255. Blue component value from 0 to 255. Constructs an RGBA color from scalars representing red, green, blue and alpha values. Red component value from 0 to 255. Green component value from 0 to 255. Blue component value from 0 to 255. Alpha component value from 0 to 255. Constructs an RGBA color from scalars representing red, green, blue and alpha values. This overload sets the values directly without clamping, and may therefore be faster than the other overloads. Compares whether two instances are equal. instance on the left of the equal sign. instance on the right of the equal sign. true if the instances are equal; false otherwise. Compares whether two instances are not equal. instance on the left of the not equal sign. instance on the right of the not equal sign. true if the instances are not equal; false otherwise. Gets the hash code of this . Hash code of this . Compares whether current instance is equal to specified object. The to compare. true if the instances are equal; false otherwise. Performs linear interpolation of . Source . Destination . Interpolation factor. Interpolated . should be used instead of this function. Interpolated . Multiply by value. Source . Multiplicator. Multiplication result. Multiply by value. Source . Multiplicator. Multiplication result. Gets a representation for this object. A representation for this object. Gets a representation for this object. A representation for this object. Returns a representation of this in the format: {R:[red] G:[green] B:[blue] A:[alpha]} representation of this . Translate a non-premultipled alpha to a that contains premultiplied alpha. A representing color. A which contains premultiplied alpha data. Translate a non-premultipled alpha to a that contains premultiplied alpha. Red component value. Green component value. Blue component value. Alpha component value. A which contains premultiplied alpha data. Compares whether current instance is equal to specified . The to compare. true if the instances are equal; false otherwise. Deconstruction method for . Deconstruction method for with Alpha. Gets or sets the blue component. Gets or sets the green component. Gets or sets the red component. Gets or sets the alpha component. TransparentBlack color (R:0,G:0,B:0,A:0). Transparent color (R:0,G:0,B:0,A:0). AliceBlue color (R:240,G:248,B:255,A:255). AntiqueWhite color (R:250,G:235,B:215,A:255). Aqua color (R:0,G:255,B:255,A:255). Aquamarine color (R:127,G:255,B:212,A:255). Azure color (R:240,G:255,B:255,A:255). Beige color (R:245,G:245,B:220,A:255). Bisque color (R:255,G:228,B:196,A:255). Black color (R:0,G:0,B:0,A:255). BlanchedAlmond color (R:255,G:235,B:205,A:255). Blue color (R:0,G:0,B:255,A:255). BlueViolet color (R:138,G:43,B:226,A:255). Brown color (R:165,G:42,B:42,A:255). BurlyWood color (R:222,G:184,B:135,A:255). CadetBlue color (R:95,G:158,B:160,A:255). Chartreuse color (R:127,G:255,B:0,A:255). Chocolate color (R:210,G:105,B:30,A:255). Coral color (R:255,G:127,B:80,A:255). CornflowerBlue color (R:100,G:149,B:237,A:255). Cornsilk color (R:255,G:248,B:220,A:255). Crimson color (R:220,G:20,B:60,A:255). Cyan color (R:0,G:255,B:255,A:255). DarkBlue color (R:0,G:0,B:139,A:255). DarkCyan color (R:0,G:139,B:139,A:255). DarkGoldenrod color (R:184,G:134,B:11,A:255). DarkGray color (R:169,G:169,B:169,A:255). DarkGreen color (R:0,G:100,B:0,A:255). DarkKhaki color (R:189,G:183,B:107,A:255). DarkMagenta color (R:139,G:0,B:139,A:255). DarkOliveGreen color (R:85,G:107,B:47,A:255). DarkOrange color (R:255,G:140,B:0,A:255). DarkOrchid color (R:153,G:50,B:204,A:255). DarkRed color (R:139,G:0,B:0,A:255). DarkSalmon color (R:233,G:150,B:122,A:255). DarkSeaGreen color (R:143,G:188,B:139,A:255). DarkSlateBlue color (R:72,G:61,B:139,A:255). DarkSlateGray color (R:47,G:79,B:79,A:255). DarkTurquoise color (R:0,G:206,B:209,A:255). DarkViolet color (R:148,G:0,B:211,A:255). DeepPink color (R:255,G:20,B:147,A:255). DeepSkyBlue color (R:0,G:191,B:255,A:255). DimGray color (R:105,G:105,B:105,A:255). DodgerBlue color (R:30,G:144,B:255,A:255). Firebrick color (R:178,G:34,B:34,A:255). FloralWhite color (R:255,G:250,B:240,A:255). ForestGreen color (R:34,G:139,B:34,A:255). Fuchsia color (R:255,G:0,B:255,A:255). Gainsboro color (R:220,G:220,B:220,A:255). GhostWhite color (R:248,G:248,B:255,A:255). Gold color (R:255,G:215,B:0,A:255). Goldenrod color (R:218,G:165,B:32,A:255). Gray color (R:128,G:128,B:128,A:255). Green color (R:0,G:128,B:0,A:255). GreenYellow color (R:173,G:255,B:47,A:255). Honeydew color (R:240,G:255,B:240,A:255). HotPink color (R:255,G:105,B:180,A:255). IndianRed color (R:205,G:92,B:92,A:255). Indigo color (R:75,G:0,B:130,A:255). Ivory color (R:255,G:255,B:240,A:255). Khaki color (R:240,G:230,B:140,A:255). Lavender color (R:230,G:230,B:250,A:255). LavenderBlush color (R:255,G:240,B:245,A:255). LawnGreen color (R:124,G:252,B:0,A:255). LemonChiffon color (R:255,G:250,B:205,A:255). LightBlue color (R:173,G:216,B:230,A:255). LightCoral color (R:240,G:128,B:128,A:255). LightCyan color (R:224,G:255,B:255,A:255). LightGoldenrodYellow color (R:250,G:250,B:210,A:255). LightGray color (R:211,G:211,B:211,A:255). LightGreen color (R:144,G:238,B:144,A:255). LightPink color (R:255,G:182,B:193,A:255). LightSalmon color (R:255,G:160,B:122,A:255). LightSeaGreen color (R:32,G:178,B:170,A:255). LightSkyBlue color (R:135,G:206,B:250,A:255). LightSlateGray color (R:119,G:136,B:153,A:255). LightSteelBlue color (R:176,G:196,B:222,A:255). LightYellow color (R:255,G:255,B:224,A:255). Lime color (R:0,G:255,B:0,A:255). LimeGreen color (R:50,G:205,B:50,A:255). Linen color (R:250,G:240,B:230,A:255). Magenta color (R:255,G:0,B:255,A:255). Maroon color (R:128,G:0,B:0,A:255). MediumAquamarine color (R:102,G:205,B:170,A:255). MediumBlue color (R:0,G:0,B:205,A:255). MediumOrchid color (R:186,G:85,B:211,A:255). MediumPurple color (R:147,G:112,B:219,A:255). MediumSeaGreen color (R:60,G:179,B:113,A:255). MediumSlateBlue color (R:123,G:104,B:238,A:255). MediumSpringGreen color (R:0,G:250,B:154,A:255). MediumTurquoise color (R:72,G:209,B:204,A:255). MediumVioletRed color (R:199,G:21,B:133,A:255). MidnightBlue color (R:25,G:25,B:112,A:255). MintCream color (R:245,G:255,B:250,A:255). MistyRose color (R:255,G:228,B:225,A:255). Moccasin color (R:255,G:228,B:181,A:255). MonoGame orange theme color (R:231,G:60,B:0,A:255). NavajoWhite color (R:255,G:222,B:173,A:255). Navy color (R:0,G:0,B:128,A:255). OldLace color (R:253,G:245,B:230,A:255). Olive color (R:128,G:128,B:0,A:255). OliveDrab color (R:107,G:142,B:35,A:255). Orange color (R:255,G:165,B:0,A:255). OrangeRed color (R:255,G:69,B:0,A:255). Orchid color (R:218,G:112,B:214,A:255). PaleGoldenrod color (R:238,G:232,B:170,A:255). PaleGreen color (R:152,G:251,B:152,A:255). PaleTurquoise color (R:175,G:238,B:238,A:255). PaleVioletRed color (R:219,G:112,B:147,A:255). PapayaWhip color (R:255,G:239,B:213,A:255). PeachPuff color (R:255,G:218,B:185,A:255). Peru color (R:205,G:133,B:63,A:255). Pink color (R:255,G:192,B:203,A:255). Plum color (R:221,G:160,B:221,A:255). PowderBlue color (R:176,G:224,B:230,A:255). Purple color (R:128,G:0,B:128,A:255). Red color (R:255,G:0,B:0,A:255). RosyBrown color (R:188,G:143,B:143,A:255). RoyalBlue color (R:65,G:105,B:225,A:255). SaddleBrown color (R:139,G:69,B:19,A:255). Salmon color (R:250,G:128,B:114,A:255). SandyBrown color (R:244,G:164,B:96,A:255). SeaGreen color (R:46,G:139,B:87,A:255). SeaShell color (R:255,G:245,B:238,A:255). Sienna color (R:160,G:82,B:45,A:255). Silver color (R:192,G:192,B:192,A:255). SkyBlue color (R:135,G:206,B:235,A:255). SlateBlue color (R:106,G:90,B:205,A:255). SlateGray color (R:112,G:128,B:144,A:255). Snow color (R:255,G:250,B:250,A:255). SpringGreen color (R:0,G:255,B:127,A:255). SteelBlue color (R:70,G:130,B:180,A:255). Tan color (R:210,G:180,B:140,A:255). Teal color (R:0,G:128,B:128,A:255). Thistle color (R:216,G:191,B:216,A:255). Tomato color (R:255,G:99,B:71,A:255). Turquoise color (R:64,G:224,B:208,A:255). Violet color (R:238,G:130,B:238,A:255). Wheat color (R:245,G:222,B:179,A:255). White color (R:255,G:255,B:255,A:255). WhiteSmoke color (R:245,G:245,B:245,A:255). Yellow color (R:255,G:255,B:0,A:255). YellowGreen color (R:154,G:205,B:50,A:255). Gets or sets packed value of this . Defines how the bounding volumes intersects or contain one another. Indicates that there is no overlap between two bounding volumes. Indicates that one bounding volume completely contains another volume. Indicates that bounding volumes partially overlap one another. Defines the continuity of keys on a . Interpolation can be used between this key and the next. Interpolation cannot be used. A position between the two points returns this point. Contains a collection of points in 2D space and provides methods for evaluating features of the curve they define. Constructs a curve. Creates a copy of this curve. A copy of this curve. Evaluate the value at a position of this . The position on this . Value at the position on this . Computes tangents for all keys in the collection. The tangent type for both in and out. Computes tangents for all keys in the collection. The tangent in-type. for more details. The tangent out-type. for more details. Computes tangent for the specific key in the collection. The index of a key in the collection. The tangent type for both in and out. Computes tangent for the specific key in the collection. The index of key in the collection. The tangent in-type. for more details. The tangent out-type. for more details. Returns true if this curve is constant (has zero or one points); false otherwise. Defines how to handle weighting values that are less than the first control point in the curve. Defines how to handle weighting values that are greater than the last control point in the curve. The collection of curve keys. The collection of the elements and a part of the class. Creates a new instance of class. Adds a key to this collection. New key for the collection. Throws if is null. The new key would be added respectively to a position of that key and the position of other keys. Removes all keys from this collection. Creates a copy of this collection. A copy of this collection. Determines whether this collection contains a specific key. The key to locate in this collection. true if the key is found; false otherwise. Copies the keys of this collection to an array, starting at the array index provided. Destination array where elements will be copied. The zero-based index in the array to start copying from. Returns an enumerator that iterates through the collection. An enumerator for the . Finds element in the collection and returns its index. Element for the search. Index of the element; or -1 if item is not found. Removes element at the specified index. The index which element will be removed. Removes specific element. The element true if item is successfully removed; false otherwise. This method also returns false if item was not found. Indexer. The index of key in this collection. at position. Returns the count of keys in this collection. Returns false because it is not a read-only collection. Key point on the . Creates a new instance of class with position: 0 and value: 0. Creates a new instance of class. Position on the curve. Value of the control point. Creates a new instance of class. Position on the curve. Value of the control point. Tangent approaching point from the previous point on the curve. Tangent leaving point toward next point on the curve. Creates a new instance of class. Position on the curve. Value of the control point. Tangent approaching point from the previous point on the curve. Tangent leaving point toward next point on the curve. Indicates whether the curve is discrete or continuous. Compares whether two instances are not equal. instance on the left of the not equal sign. instance on the right of the not equal sign. true if the instances are not equal; false otherwise. Compares whether two instances are equal. instance on the left of the equal sign. instance on the right of the equal sign. true if the instances are equal; false otherwise. Creates a copy of this key. A copy of this key. Gets or sets the indicator whether the segment between this point and the next point on the curve is discrete or continuous. Gets a position of the key on the curve. Gets or sets a tangent when approaching this point from the previous point on the curve. Gets or sets a tangent when leaving this point to the next point on the curve. Gets a value of this point. Defines how the value is determined for position before first point or after the end point on the . The value of will be evaluated as first point for positions before the beginning and end point for positions after the end. The positions will wrap around from the end to beginning of the for determined the value. The positions will wrap around from the end to beginning of the . The value will be offset by the difference between the values of first and end multiplied by the wrap amount. If the position is before the beginning of the the difference will be subtracted from its value; otherwise the difference will be added. The value at the end of the act as an offset from the same side of the toward the opposite side. The linear interpolation will be performed for determined the value. Defines the different tangent types to be calculated for points in a . The tangent which always has a value equal to zero. The tangent which contains a difference between current tangent value and the tangent value from the previous . The smoouth tangent which contains the inflection between and by taking into account the values of both neighbors of the . Defines the orientation of the display. The default orientation. The display is rotated counterclockwise into a landscape orientation. Width is greater than height. The display is rotated clockwise into a landscape orientation. Width is greater than height. The display is rotated as portrait, where height is greater than width. The display is rotated as inverted portrait, where height is greater than width. Unknown display orientation. Shuts down the component. Shuts down the component. Provides helper methods to make it easier to safely raise events. Safely raises an event by storing a copy of the event's delegate in the parameter and checking it for null before invoking it. The object raising the event. to be invoked The passed to Safely raises an event by storing a copy of the event's delegate in the parameter and checking it for null before invoking it. The object raising the event. to be invoked The passed to Helper class for processing internal framework events. If you use class, is called automatically. Otherwise you must call it as part of your game loop. Processes framework events. Removes every from this . Triggers once for each removed. Event that is triggered when a is added to this . Event that is triggered when a is removed from this . The maximum amount of time we will frameskip over and only perform Update calls with no Draw calls. MonoGame extension. The SortingFilteringCollection class provides efficient, reusable sorting and filtering based on a configurable sort comparer, filter predicate, and associate change events. Raises the AsyncRunLoopEnded event. This method must be called by derived classes when the asynchronous run loop they start has stopped running. Gives derived classes an opportunity to do work before any components are initialized. Note that the base implementation sets IsActive to true, so derived classes should either call the base implementation or set IsActive to true by their own means. Gives derived classes an opportunity to do work just before the run loop is begun. Implementations may also return false to prevent the run loop from starting. When implemented in a derived, ends the active run loop. When implemented in a derived, starts the run loop and blocks until it has ended. When implemented in a derived, starts the run loop and returns immediately. Gives derived classes an opportunity to do work just before Update is called for all IUpdatable components. Returning false from this method will result in this round of Update calls being skipped. Gives derived classes an opportunity to do work just before Draw is called for all IDrawable components. Returning false from this method will result in this round of Draw calls being skipped. When implemented in a derived class, causes the game to enter full-screen mode. When implemented in a derived class, causes the game to exit full-screen mode. Gives derived classes an opportunity to modify Game.TargetElapsedTime before it is set. The proposed new value of TargetElapsedTime. The new value of TargetElapsedTime that will be set. Starts a device transition (windowed to full screen or vice versa). Specifies whether the device will be in full-screen mode upon completion of the change. Completes a device transition. Screen device name. The new width of the game's client window. The new height of the game's client window. Gives derived classes an opportunity to take action after Game.TargetElapsedTime has been set. MSDN: Use this method if your game is recovering from a slow-running state, and ElapsedGameTime is too large to be useful. Frame timing is generally handled by the Game class, but some platforms still handle it elsewhere. Once all platforms rely on the Game class's functionality, this method and any overrides should be removed. Called by the GraphicsDeviceManager to notify the platform that the presentation parameters have changed. The new presentation parameters. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Log the specified Message. When implemented in a derived class, reports the default GameRunBehavior for this platform. Gets the Game instance that owns this GamePlatform instance. Defines how should be runned. The game loop will be runned asynchronous. The game loop will be runned synchronous. Gets or sets a bool that enables usage of Alt+F4 for window closing on desktop platforms. Value is true by default. The location of this window on the desktop, eg: global coordinate space which stretches across all screens. Gets or sets the title of the game window. For Windows 8 and Windows 10 UWP this has no effect. For these platforms the title should be set by using the DisplayName property found in the app manifest file. Determines whether the border of the window is visible. Currently only supported on the WinDX and WinGL/Linux platforms. Thrown when trying to use this property on a platform other than the WinDX and WinGL/Linux platforms. Use this event to retrieve text for objects like textbox's. This event is not raised by noncharacter keys. This event also supports key repeat. For more information this event is based off: http://msdn.microsoft.com/en-AU/library/system.windows.forms.control.keypress.aspx This event is only supported on the Windows DirectX, Windows OpenGL and Linux platforms. Used by the platform code to control the graphics device. Called at the start of rendering a frame. Returns true if the frame should be rendered. Called to create the graphics device. Does nothing if the graphics device is already created. Called after rendering to present the frame to the screen. Contains commonly used precalculated values and mathematical operations. Represents the mathematical constant e(2.71828175). Represents the log base ten of e(0.4342945). Represents the log base two of e(1.442695). Represents the value of pi(3.14159274). Represents the value of pi divided by two(1.57079637). Represents the value of pi divided by four(0.7853982). Represents the value of pi times two(6.28318548). Returns the Cartesian coordinate for one axis of a point that is defined by a given triangle and two normalized barycentric (areal) coordinates. The coordinate on one axis of vertex 1 of the defining triangle. The coordinate on the same axis of vertex 2 of the defining triangle. The coordinate on the same axis of vertex 3 of the defining triangle. The normalized barycentric (areal) coordinate b2, equal to the weighting factor for vertex 2, the coordinate of which is specified in value2. The normalized barycentric (areal) coordinate b3, equal to the weighting factor for vertex 3, the coordinate of which is specified in value3. Cartesian coordinate of the specified point with respect to the axis being used. Performs a Catmull-Rom interpolation using the specified positions. The first position in the interpolation. The second position in the interpolation. The third position in the interpolation. The fourth position in the interpolation. Weighting factor. A position that is the result of the Catmull-Rom interpolation. Restricts a value to be within a specified range. The value to clamp. The minimum value. If value is less than min, min will be returned. The maximum value. If value is greater than max, max will be returned. The clamped value. Restricts a value to be within a specified range. The value to clamp. The minimum value. If value is less than min, min will be returned. The maximum value. If value is greater than max, max will be returned. The clamped value. Calculates the absolute value of the difference of two values. Source value. Source value. Distance between the two values. Performs a Hermite spline interpolation. Source position. Source tangent. Source position. Source tangent. Weighting factor. The result of the Hermite spline interpolation. Linearly interpolates between two values. Source value. Destination value. Value between 0 and 1 indicating the weight of value2. Interpolated value. This method performs the linear interpolation based on the following formula: value1 + (value2 - value1) * amount. Passing amount a value of 0 will cause value1 to be returned, a value of 1 will cause value2 to be returned. See for a less efficient version with more precision around edge cases. Linearly interpolates between two values. This method is a less efficient, more precise version of . See remarks for more info. Source value. Destination value. Value between 0 and 1 indicating the weight of value2. Interpolated value. This method performs the linear interpolation based on the following formula: ((1 - amount) * value1) + (value2 * amount). Passing amount a value of 0 will cause value1 to be returned, a value of 1 will cause value2 to be returned. This method does not have the floating point precision issue that has. i.e. If there is a big gap between value1 and value2 in magnitude (e.g. value1=10000000000000000, value2=1), right at the edge of the interpolation range (amount=1), will return 0 (whereas it should return 1). This also holds for value1=10^17, value2=10; value1=10^18,value2=10^2... so on. For an in depth explanation of the issue, see below references: Relevant Wikipedia Article: https://en.wikipedia.org/wiki/Linear_interpolation#Programming_language_support Relevant StackOverflow Answer: http://stackoverflow.com/questions/4353525/floating-point-linear-interpolation#answer-23716956 Returns the greater of two values. Source value. Source value. The greater value. Returns the greater of two values. Source value. Source value. The greater value. Returns the lesser of two values. Source value. Source value. The lesser value. Returns the lesser of two values. Source value. Source value. The lesser value. Interpolates between two values using a cubic equation. Source value. Source value. Weighting value. Interpolated value. Converts radians to degrees. The angle in radians. The angle in degrees. This method uses double precission internally, though it returns single float Factor = 180 / pi Converts degrees to radians. The angle in degrees. The angle in radians. This method uses double precission internally, though it returns single float Factor = pi / 180 Reduces a given angle to a value between π and -π. The angle to reduce, in radians. The new angle, in radians. Determines if value is powered by two. A value. true if value is powered by two; otherwise false. Represents the right-handed 4x4 floating point matrix, which can store translation, scale and rotation information. Constructs a matrix. A first row and first column value. A first row and second column value. A first row and third column value. A first row and fourth column value. A second row and first column value. A second row and second column value. A second row and third column value. A second row and fourth column value. A third row and first column value. A third row and second column value. A third row and third column value. A third row and fourth column value. A fourth row and first column value. A fourth row and second column value. A fourth row and third column value. A fourth row and fourth column value. Constructs a matrix. A first row of the created matrix. A second row of the created matrix. A third row of the created matrix. A fourth row of the created matrix. A first row and first column value. A first row and second column value. A first row and third column value. A first row and fourth column value. A second row and first column value. A second row and second column value. A second row and third column value. A second row and fourth column value. A third row and first column value. A third row and second column value. A third row and third column value. A third row and fourth column value. A fourth row and first column value. A fourth row and second column value. A fourth row and third column value. A fourth row and fourth column value. Creates a new which contains sum of two matrixes. The first matrix to add. The second matrix to add. The result of the matrix addition. Creates a new which contains sum of two matrixes. The first matrix to add. The second matrix to add. The result of the matrix addition as an output parameter. Creates a new for spherical billboarding that rotates around specified object position. Position of billboard object. It will rotate around that vector. The camera position. The camera up vector. Optional camera forward vector. The for spherical billboarding. Creates a new for spherical billboarding that rotates around specified object position. Position of billboard object. It will rotate around that vector. The camera position. The camera up vector. Optional camera forward vector. The for spherical billboarding as an output parameter. Creates a new for cylindrical billboarding that rotates around specified axis. Object position the billboard will rotate around. Camera position. Axis of billboard for rotation. Optional camera forward vector. Optional object forward vector. The for cylindrical billboarding. Creates a new for cylindrical billboarding that rotates around specified axis. Object position the billboard will rotate around. Camera position. Axis of billboard for rotation. Optional camera forward vector. Optional object forward vector. The for cylindrical billboarding as an output parameter. Creates a new which contains the rotation moment around specified axis. The axis of rotation. The angle of rotation in radians. The rotation . Creates a new which contains the rotation moment around specified axis. The axis of rotation. The angle of rotation in radians. The rotation as an output parameter. Creates a new rotation from a . of rotation moment. The rotation . Creates a new rotation from a . of rotation moment. The rotation as an output parameter. Creates a new rotation from the specified yaw, pitch and roll values. The yaw rotation value in radians. The pitch rotation value in radians. The roll rotation value in radians. The rotation . For more information about yaw, pitch and roll visit http://en.wikipedia.org/wiki/Euler_angles. Creates a new rotation from the specified yaw, pitch and roll values. The yaw rotation value in radians. The pitch rotation value in radians. The roll rotation value in radians. The rotation as an output parameter. For more information about yaw, pitch and roll visit http://en.wikipedia.org/wiki/Euler_angles. Creates a new viewing . Position of the camera. Lookup vector of the camera. The direction of the upper edge of the camera. The viewing . Creates a new viewing . Position of the camera. Lookup vector of the camera. The direction of the upper edge of the camera. The viewing as an output parameter. Creates a new projection for orthographic view. Width of the viewing volume. Height of the viewing volume. Depth of the near plane. Depth of the far plane. The new projection for orthographic view. Creates a new projection for orthographic view. Width of the viewing volume. Height of the viewing volume. Depth of the near plane. Depth of the far plane. The new projection for orthographic view as an output parameter. Creates a new projection for customized orthographic view. Lower x-value at the near plane. Upper x-value at the near plane. Lower y-coordinate at the near plane. Upper y-value at the near plane. Depth of the near plane. Depth of the far plane. The new projection for customized orthographic view. Creates a new projection for customized orthographic view. The viewing volume. Depth of the near plane. Depth of the far plane. The new projection for customized orthographic view. Creates a new projection for customized orthographic view. Lower x-value at the near plane. Upper x-value at the near plane. Lower y-coordinate at the near plane. Upper y-value at the near plane. Depth of the near plane. Depth of the far plane. The new projection for customized orthographic view as an output parameter. Creates a new projection for perspective view. Width of the viewing volume. Height of the viewing volume. Distance to the near plane. Distance to the far plane. The new projection for perspective view. Creates a new projection for perspective view. Width of the viewing volume. Height of the viewing volume. Distance to the near plane. Distance to the far plane. The new projection for perspective view as an output parameter. Creates a new projection for perspective view with field of view. Field of view in the y direction in radians. Width divided by height of the viewing volume. Distance to the near plane. Distance to the far plane. The new projection for perspective view with FOV. Creates a new projection for perspective view with field of view. Field of view in the y direction in radians. Width divided by height of the viewing volume. Distance of the near plane. Distance of the far plane. The new projection for perspective view with FOV as an output parameter. Creates a new projection for customized perspective view. Lower x-value at the near plane. Upper x-value at the near plane. Lower y-coordinate at the near plane. Upper y-value at the near plane. Distance to the near plane. Distance to the far plane. The new for customized perspective view. Creates a new projection for customized perspective view. The viewing volume. Distance to the near plane. Distance to the far plane. The new for customized perspective view. Creates a new projection for customized perspective view. Lower x-value at the near plane. Upper x-value at the near plane. Lower y-coordinate at the near plane. Upper y-value at the near plane. Distance to the near plane. Distance to the far plane. The new for customized perspective view as an output parameter. Creates a new rotation around X axis. Angle in radians. The rotation around X axis. Creates a new rotation around X axis. Angle in radians. The rotation around X axis as an output parameter. Creates a new rotation around Y axis. Angle in radians. The rotation around Y axis. Creates a new rotation around Y axis. Angle in radians. The rotation around Y axis as an output parameter. Creates a new rotation around Z axis. Angle in radians. The rotation around Z axis. Creates a new rotation around Z axis. Angle in radians. The rotation around Z axis as an output parameter. Creates a new scaling . Scale value for all three axises. The scaling . Creates a new scaling . Scale value for all three axises. The scaling as an output parameter. Creates a new scaling . Scale value for X axis. Scale value for Y axis. Scale value for Z axis. The scaling . Creates a new scaling . Scale value for X axis. Scale value for Y axis. Scale value for Z axis. The scaling as an output parameter. Creates a new scaling . representing x,y and z scale values. The scaling . Creates a new scaling . representing x,y and z scale values. The scaling as an output parameter. Creates a new that flattens geometry into a specified as if casting a shadow from a specified light source. A vector specifying the direction from which the light that will cast the shadow is coming. The plane onto which the new matrix should flatten geometry so as to cast a shadow. A that can be used to flatten geometry onto the specified plane from the specified direction. Creates a new that flattens geometry into a specified as if casting a shadow from a specified light source. A vector specifying the direction from which the light that will cast the shadow is coming. The plane onto which the new matrix should flatten geometry so as to cast a shadow. A that can be used to flatten geometry onto the specified plane from the specified direction as an output parameter. Creates a new translation . X coordinate of translation. Y coordinate of translation. Z coordinate of translation. The translation . Creates a new translation . X,Y and Z coordinates of translation. The translation as an output parameter. Creates a new translation . X,Y and Z coordinates of translation. The translation . Creates a new translation . X coordinate of translation. Y coordinate of translation. Z coordinate of translation. The translation as an output parameter. Creates a new reflection . The plane that used for reflection calculation. The reflection . Creates a new reflection . The plane that used for reflection calculation. The reflection as an output parameter. Creates a new world . The position vector. The forward direction vector. The upward direction vector. Usually . The world . Creates a new world . The position vector. The forward direction vector. The upward direction vector. Usually . The world as an output parameter. Decomposes this matrix to translation, rotation and scale elements. Returns true if matrix can be decomposed; false otherwise. Scale vector as an output parameter. Rotation quaternion as an output parameter. Translation vector as an output parameter. true if matrix can be decomposed; false otherwise. Returns a determinant of this . Determinant of this See more about determinant here - http://en.wikipedia.org/wiki/Determinant. Divides the elements of a by the elements of another matrix. Source . Divisor . The result of dividing the matrix. Divides the elements of a by the elements of another matrix. Source . Divisor . The result of dividing the matrix as an output parameter. Divides the elements of a by a scalar. Source . Divisor scalar. The result of dividing a matrix by a scalar. Divides the elements of a by a scalar. Source . Divisor scalar. The result of dividing a matrix by a scalar as an output parameter. Compares whether current instance is equal to specified without any tolerance. The to compare. true if the instances are equal; false otherwise. Compares whether current instance is equal to specified without any tolerance. The to compare. true if the instances are equal; false otherwise. Gets the hash code of this . Hash code of this . Creates a new which contains inversion of the specified matrix. Source . The inverted matrix. Creates a new which contains inversion of the specified matrix. Source . The inverted matrix as output parameter. Creates a new that contains linear interpolation of the values in specified matrixes. The first . The second . Weighting value(between 0.0 and 1.0). >The result of linear interpolation of the specified matrixes. Creates a new that contains linear interpolation of the values in specified matrixes. The first . The second . Weighting value(between 0.0 and 1.0). The result of linear interpolation of the specified matrixes as an output parameter. Creates a new that contains a multiplication of two matrix. Source . Source . Result of the matrix multiplication. Creates a new that contains a multiplication of two matrix. Source . Source . Result of the matrix multiplication as an output parameter. Creates a new that contains a multiplication of and a scalar. Source . Scalar value. Result of the matrix multiplication with a scalar. Creates a new that contains a multiplication of and a scalar. Source . Scalar value. Result of the matrix multiplication with a scalar as an output parameter. Copy the values of specified to the float array. The source . The array which matrix values will be stored. Required for OpenGL 2.0 projection matrix stuff. Returns a matrix with the all values negated. Source . Result of the matrix negation. Returns a matrix with the all values negated. Source . Result of the matrix negation as an output parameter. Adds two matrixes. Source on the left of the add sign. Source on the right of the add sign. Sum of the matrixes. Divides the elements of a by the elements of another . Source on the left of the div sign. Divisor on the right of the div sign. The result of dividing the matrixes. Divides the elements of a by a scalar. Source on the left of the div sign. Divisor scalar on the right of the div sign. The result of dividing a matrix by a scalar. Compares whether two instances are equal without any tolerance. Source on the left of the equal sign. Source on the right of the equal sign. true if the instances are equal; false otherwise. Compares whether two instances are not equal without any tolerance. Source on the left of the not equal sign. Source on the right of the not equal sign. true if the instances are not equal; false otherwise. Multiplies two matrixes. Source on the left of the mul sign. Source on the right of the mul sign. Result of the matrix multiplication. Using matrix multiplication algorithm - see http://en.wikipedia.org/wiki/Matrix_multiplication. Multiplies the elements of matrix by a scalar. Source on the left of the mul sign. Scalar value on the right of the mul sign. Result of the matrix multiplication with a scalar. Subtracts the values of one from another . Source on the left of the sub sign. Source on the right of the sub sign. Result of the matrix subtraction. Inverts values in the specified . Source on the right of the sub sign. Result of the inversion. Creates a new that contains subtraction of one matrix from another. The first . The second . The result of the matrix subtraction. Creates a new that contains subtraction of one matrix from another. The first . The second . The result of the matrix subtraction as an output parameter. Returns a representation of this in the format: {M11:[] M12:[] M13:[] M14:[]} {M21:[] M12:[] M13:[] M14:[]} {M31:[] M32:[] M33:[] M34:[]} {M41:[] M42:[] M43:[] M44:[]} A representation of this . Swap the matrix rows and columns. The matrix for transposing operation. The new which contains the transposing result. Swap the matrix rows and columns. The matrix for transposing operation. The new which contains the transposing result as an output parameter. Helper method for using the Laplace expansion theorem using two rows expansions to calculate major and minor determinants of a 4x4 matrix. This method is used for inverting a matrix. The backward vector formed from the third row M31, M32, M33 elements. The down vector formed from the second row -M21, -M22, -M23 elements. The forward vector formed from the third row -M31, -M32, -M33 elements. Returns the identity matrix. The left vector formed from the first row -M11, -M12, -M13 elements. The right vector formed from the first row M11, M12, M13 elements. Position stored in this matrix. The upper vector formed from the second row M21, M22, M23 elements. Provides functionality to handle input from keyboards, mice, gamepads, etc. Support for playing sound effects and XACT audio. The runtime support for loading content pipeline content. Returns a value indicating what side (positive/negative) of a plane a point is The point to check with The plane to check against Greater than zero if on the positive side, less than zero if on the negative size, 0 otherwise Returns the perpendicular distance from a point to a plane The point to check The place to check The perpendicular distance from the point to the plane Transforms a normalized plane by a matrix. The normalized plane to transform. The transformation matrix. The transformed plane. Transforms a normalized plane by a matrix. The normalized plane to transform. The transformation matrix. The transformed plane. Transforms a normalized plane by a quaternion rotation. The normalized plane to transform. The quaternion rotation. The transformed plane. Transforms a normalized plane by a quaternion rotation. The normalized plane to transform. The quaternion rotation. The transformed plane. Deconstruction method for . Defines the intersection between a and a bounding volume. There is no intersection, the bounding volume is in the negative half space of the plane. There is no intersection, the bounding volume is in the positive half space of the plane. The plane is intersected. Defines the index of player for various MonoGame components. The first player index. The second player index. The third player index. The fourth player index. Describes a 2D-point. The x coordinate of this . The y coordinate of this . Constructs a point with X and Y from two values. The x coordinate in 2d-space. The y coordinate in 2d-space. Constructs a point with X and Y set to the same value. The x and y coordinates in 2d-space. Adds two points. Source on the left of the add sign. Source on the right of the add sign. Sum of the points. Subtracts a from a . Source on the left of the sub sign. Source on the right of the sub sign. Result of the subtraction. Multiplies the components of two points by each other. Source on the left of the mul sign. Source on the right of the mul sign. Result of the multiplication. Divides the components of a by the components of another . Source on the left of the div sign. Divisor on the right of the div sign. The result of dividing the points. Compares whether two instances are equal. instance on the left of the equal sign. instance on the right of the equal sign. true if the instances are equal; false otherwise. Compares whether two instances are not equal. instance on the left of the not equal sign. instance on the right of the not equal sign. true if the instances are not equal; false otherwise. Compares whether current instance is equal to specified . The to compare. true if the instances are equal; false otherwise. Compares whether current instance is equal to specified . The to compare. true if the instances are equal; false otherwise. Gets the hash code of this . Hash code of this . Returns a representation of this in the format: {X:[] Y:[]} representation of this . Gets a representation for this object. A representation for this object. Deconstruction method for . Returns a with coordinates 0, 0. The arguments to the event. Create a new instance of the event. The default settings to be used in device creation. The default settings that will be used in device creation. An efficient mathematical representation for three dimensional rotations. The x coordinate of this . The y coordinate of this . The z coordinate of this . The rotation component of this . Constructs a quaternion with X, Y, Z and W from four values. The x coordinate in 3d-space. The y coordinate in 3d-space. The z coordinate in 3d-space. The rotation component. Constructs a quaternion with X, Y, Z from and rotation component from a scalar. The x, y, z coordinates in 3d-space. The rotation component. Constructs a quaternion from . The x, y, z coordinates in 3d-space and the rotation component. Creates a new that contains the sum of two quaternions. Source . Source . The result of the quaternion addition. Creates a new that contains the sum of two quaternions. Source . Source . The result of the quaternion addition as an output parameter. Creates a new that contains concatenation between two quaternion. The first to concatenate. The second to concatenate. The result of rotation of followed by rotation. Creates a new that contains concatenation between two quaternion. The first to concatenate. The second to concatenate. The result of rotation of followed by rotation as an output parameter. Transforms this quaternion into its conjugated version. Creates a new that contains conjugated version of the specified quaternion. The quaternion which values will be used to create the conjugated version. The conjugate version of the specified quaternion. Creates a new that contains conjugated version of the specified quaternion. The quaternion which values will be used to create the conjugated version. The conjugated version of the specified quaternion as an output parameter. Creates a new from the specified axis and angle. The axis of rotation. The angle in radians. The new quaternion builded from axis and angle. Creates a new from the specified axis and angle. The axis of rotation. The angle in radians. The new quaternion builded from axis and angle as an output parameter. Creates a new from the specified . The rotation matrix. A quaternion composed from the rotation part of the matrix. Creates a new from the specified . The rotation matrix. A quaternion composed from the rotation part of the matrix as an output parameter. Creates a new from the specified yaw, pitch and roll angles. Yaw around the y axis in radians. Pitch around the x axis in radians. Roll around the z axis in radians. A new quaternion from the concatenated yaw, pitch, and roll angles. Creates a new from the specified yaw, pitch and roll angles. Yaw around the y axis in radians. Pitch around the x axis in radians. Roll around the z axis in radians. A new quaternion from the concatenated yaw, pitch, and roll angles as an output parameter. Divides a by the other . Source . Divisor . The result of dividing the quaternions. Divides a by the other . Source . Divisor . The result of dividing the quaternions as an output parameter. Returns a dot product of two quaternions. The first quaternion. The second quaternion. The dot product of two quaternions. Returns a dot product of two quaternions. The first quaternion. The second quaternion. The dot product of two quaternions as an output parameter. Compares whether current instance is equal to specified . The to compare. true if the instances are equal; false otherwise. Compares whether current instance is equal to specified . The to compare. true if the instances are equal; false otherwise. Gets the hash code of this . Hash code of this . Returns the inverse quaternion which represents the opposite rotation. Source . The inverse quaternion. Returns the inverse quaternion which represents the opposite rotation. Source . The inverse quaternion as an output parameter. Returns the magnitude of the quaternion components. The magnitude of the quaternion components. Returns the squared magnitude of the quaternion components. The squared magnitude of the quaternion components. Performs a linear blend between two quaternions. Source . Source . The blend amount where 0 returns and 1 . The result of linear blending between two quaternions. Performs a linear blend between two quaternions. Source . Source . The blend amount where 0 returns and 1 . The result of linear blending between two quaternions as an output parameter. Performs a spherical linear blend between two quaternions. Source . Source . The blend amount where 0 returns and 1 . The result of spherical linear blending between two quaternions. Performs a spherical linear blend between two quaternions. Source . Source . The blend amount where 0 returns and 1 . The result of spherical linear blending between two quaternions as an output parameter. Creates a new that contains subtraction of one from another. Source . Source . The result of the quaternion subtraction. Creates a new that contains subtraction of one from another. Source . Source . The result of the quaternion subtraction as an output parameter. Creates a new that contains a multiplication of two quaternions. Source . Source . The result of the quaternion multiplication. Creates a new that contains a multiplication of and a scalar. Source . Scalar value. The result of the quaternion multiplication with a scalar. Creates a new that contains a multiplication of and a scalar. Source . Scalar value. The result of the quaternion multiplication with a scalar as an output parameter. Creates a new that contains a multiplication of two quaternions. Source . Source . The result of the quaternion multiplication as an output parameter. Flips the sign of the all the quaternion components. Source . The result of the quaternion negation. Flips the sign of the all the quaternion components. Source . The result of the quaternion negation as an output parameter. Scales the quaternion magnitude to unit length. Scales the quaternion magnitude to unit length. Source . The unit length quaternion. Scales the quaternion magnitude to unit length. Source . The unit length quaternion an output parameter. Returns a representation of this in the format: {X:[] Y:[] Z:[] W:[]} A representation of this . Gets a representation for this object. A representation for this object. Adds two quaternions. Source on the left of the add sign. Source on the right of the add sign. Sum of the vectors. Divides a by the other . Source on the left of the div sign. Divisor on the right of the div sign. The result of dividing the quaternions. Compares whether two instances are equal. instance on the left of the equal sign. instance on the right of the equal sign. true if the instances are equal; false otherwise. Compares whether two instances are not equal. instance on the left of the not equal sign. instance on the right of the not equal sign. true if the instances are not equal; false otherwise. Multiplies two quaternions. Source on the left of the mul sign. Source on the right of the mul sign. Result of the quaternions multiplication. Multiplies the components of quaternion by a scalar. Source on the left of the mul sign. Scalar value on the right of the mul sign. Result of the quaternion multiplication with a scalar. Subtracts a from a . Source on the left of the sub sign. Source on the right of the sub sign. Result of the quaternion subtraction. Flips the sign of the all the quaternion components. Source on the right of the sub sign. The result of the quaternion negation. Returns a quaternion representing no rotation. Deconstruction method for . Receives the start position of the ray. Receives the direction of the ray. Describes a 2D-rectangle. The x coordinate of the top-left corner of this . The y coordinate of the top-left corner of this . The width of this . The height of this . Creates a new instance of struct, with the specified position, width, and height. The x coordinate of the top-left corner of the created . The y coordinate of the top-left corner of the created . The width of the created . The height of the created . Creates a new instance of struct, with the specified location and size. The x and y coordinates of the top-left corner of the created . The width and height of the created . Compares whether two instances are equal. instance on the left of the equal sign. instance on the right of the equal sign. true if the instances are equal; false otherwise. Compares whether two instances are not equal. instance on the left of the not equal sign. instance on the right of the not equal sign. true if the instances are not equal; false otherwise. Gets whether or not the provided coordinates lie within the bounds of this . The x coordinate of the point to check for containment. The y coordinate of the point to check for containment. true if the provided coordinates lie inside this ; false otherwise. Gets whether or not the provided coordinates lie within the bounds of this . The x coordinate of the point to check for containment. The y coordinate of the point to check for containment. true if the provided coordinates lie inside this ; false otherwise. Gets whether or not the provided lies within the bounds of this . The coordinates to check for inclusion in this . true if the provided lies inside this ; false otherwise. Gets whether or not the provided lies within the bounds of this . The coordinates to check for inclusion in this . true if the provided lies inside this ; false otherwise. As an output parameter. Gets whether or not the provided lies within the bounds of this . The coordinates to check for inclusion in this . true if the provided lies inside this ; false otherwise. Gets whether or not the provided lies within the bounds of this . The coordinates to check for inclusion in this . true if the provided lies inside this ; false otherwise. As an output parameter. Gets whether or not the provided lies within the bounds of this . The to check for inclusion in this . true if the provided 's bounds lie entirely inside this ; false otherwise. Gets whether or not the provided lies within the bounds of this . The to check for inclusion in this . true if the provided 's bounds lie entirely inside this ; false otherwise. As an output parameter. Compares whether current instance is equal to specified . The to compare. true if the instances are equal; false otherwise. Compares whether current instance is equal to specified . The to compare. true if the instances are equal; false otherwise. Gets the hash code of this . Hash code of this . Adjusts the edges of this by specified horizontal and vertical amounts. Value to adjust the left and right edges. Value to adjust the top and bottom edges. Adjusts the edges of this by specified horizontal and vertical amounts. Value to adjust the left and right edges. Value to adjust the top and bottom edges. Gets whether or not the other intersects with this rectangle. The other rectangle for testing. true if other intersects with this rectangle; false otherwise. Gets whether or not the other intersects with this rectangle. The other rectangle for testing. true if other intersects with this rectangle; false otherwise. As an output parameter. Creates a new that contains overlapping region of two other rectangles. The first . The second . Overlapping region of the two rectangles. Creates a new that contains overlapping region of two other rectangles. The first . The second . Overlapping region of the two rectangles as an output parameter. Changes the of this . The x coordinate to add to this . The y coordinate to add to this . Changes the of this . The x coordinate to add to this . The y coordinate to add to this . Changes the of this . The x and y components to add to this . Changes the of this . The x and y components to add to this . Returns a representation of this in the format: {X:[] Y:[] Width:[] Height:[]} representation of this . Creates a new that completely contains two other rectangles. The first . The second . The union of the two rectangles. Creates a new that completely contains two other rectangles. The first . The second . The union of the two rectangles as an output parameter. Deconstruction method for . Returns a with X=0, Y=0, Width=0, Height=0. Returns the x coordinate of the left edge of this . Returns the x coordinate of the right edge of this . Returns the y coordinate of the top edge of this . Returns the y coordinate of the bottom edge of this . Whether or not this has a and of 0, and a of (0, 0). The top-left coordinates of this . The width-height coordinates of this . A located in the center of this . If or is an odd number, the center point will be rounded down. This class is used for the game window's TextInput event as EventArgs. Returns an open stream to an exsiting file in the title storage area. The filepath relative to the title storage area. A open stream or null if the file is not found. Describes a 2D-vector. The x coordinate of this . The y coordinate of this . Constructs a 2d vector with X and Y from two values. The x coordinate in 2d-space. The y coordinate in 2d-space. Constructs a 2d vector with X and Y set to the same value. The x and y coordinates in 2d-space. Inverts values in the specified . Source on the right of the sub sign. Result of the inversion. Adds two vectors. Source on the left of the add sign. Source on the right of the add sign. Sum of the vectors. Subtracts a from a . Source on the left of the sub sign. Source on the right of the sub sign. Result of the vector subtraction. Multiplies the components of two vectors by each other. Source on the left of the mul sign. Source on the right of the mul sign. Result of the vector multiplication. Multiplies the components of vector by a scalar. Source on the left of the mul sign. Scalar value on the right of the mul sign. Result of the vector multiplication with a scalar. Multiplies the components of vector by a scalar. Scalar value on the left of the mul sign. Source on the right of the mul sign. Result of the vector multiplication with a scalar. Divides the components of a by the components of another . Source on the left of the div sign. Divisor on the right of the div sign. The result of dividing the vectors. Divides the components of a by a scalar. Source on the left of the div sign. Divisor scalar on the right of the div sign. The result of dividing a vector by a scalar. Compares whether two instances are equal. instance on the left of the equal sign. instance on the right of the equal sign. true if the instances are equal; false otherwise. Compares whether two instances are not equal. instance on the left of the not equal sign. instance on the right of the not equal sign. true if the instances are not equal; false otherwise. Performs vector addition on and . The first vector to add. The second vector to add. The result of the vector addition. Performs vector addition on and , storing the result of the addition in . The first vector to add. The second vector to add. The result of the vector addition. Creates a new that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 2d-triangle. The first vector of 2d-triangle. The second vector of 2d-triangle. The third vector of 2d-triangle. Barycentric scalar b2 which represents a weighting factor towards second vector of 2d-triangle. Barycentric scalar b3 which represents a weighting factor towards third vector of 2d-triangle. The cartesian translation of barycentric coordinates. Creates a new that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 2d-triangle. The first vector of 2d-triangle. The second vector of 2d-triangle. The third vector of 2d-triangle. Barycentric scalar b2 which represents a weighting factor towards second vector of 2d-triangle. Barycentric scalar b3 which represents a weighting factor towards third vector of 2d-triangle. The cartesian translation of barycentric coordinates as an output parameter. Creates a new that contains CatmullRom interpolation of the specified vectors. The first vector in interpolation. The second vector in interpolation. The third vector in interpolation. The fourth vector in interpolation. Weighting factor. The result of CatmullRom interpolation. Creates a new that contains CatmullRom interpolation of the specified vectors. The first vector in interpolation. The second vector in interpolation. The third vector in interpolation. The fourth vector in interpolation. Weighting factor. The result of CatmullRom interpolation as an output parameter. Clamps the specified value within a range. The value to clamp. The min value. The max value. The clamped value. Clamps the specified value within a range. The value to clamp. The min value. The max value. The clamped value as an output parameter. Returns the distance between two vectors. The first vector. The second vector. The distance between two vectors. Returns the distance between two vectors. The first vector. The second vector. The distance between two vectors as an output parameter. Returns the squared distance between two vectors. The first vector. The second vector. The squared distance between two vectors. Returns the squared distance between two vectors. The first vector. The second vector. The squared distance between two vectors as an output parameter. Divides the components of a by the components of another . Source . Divisor . The result of dividing the vectors. Divides the components of a by the components of another . Source . Divisor . The result of dividing the vectors as an output parameter. Divides the components of a by a scalar. Source . Divisor scalar. The result of dividing a vector by a scalar. Divides the components of a by a scalar. Source . Divisor scalar. The result of dividing a vector by a scalar as an output parameter. Returns a dot product of two vectors. The first vector. The second vector. The dot product of two vectors. Returns a dot product of two vectors. The first vector. The second vector. The dot product of two vectors as an output parameter. Compares whether current instance is equal to specified . The to compare. true if the instances are equal; false otherwise. Compares whether current instance is equal to specified . The to compare. true if the instances are equal; false otherwise. Gets the hash code of this . Hash code of this . Creates a new that contains hermite spline interpolation. The first position vector. The first tangent vector. The second position vector. The second tangent vector. Weighting factor. The hermite spline interpolation vector. Creates a new that contains hermite spline interpolation. The first position vector. The first tangent vector. The second position vector. The second tangent vector. Weighting factor. The hermite spline interpolation vector as an output parameter. Returns the length of this . The length of this . Returns the squared length of this . The squared length of this . Creates a new that contains linear interpolation of the specified vectors. The first vector. The second vector. Weighting value(between 0.0 and 1.0). The result of linear interpolation of the specified vectors. Creates a new that contains linear interpolation of the specified vectors. The first vector. The second vector. Weighting value(between 0.0 and 1.0). The result of linear interpolation of the specified vectors as an output parameter. Creates a new that contains linear interpolation of the specified vectors. Uses on MathHelper for the interpolation. Less efficient but more precise compared to . See remarks section of on MathHelper for more info. The first vector. The second vector. Weighting value(between 0.0 and 1.0). The result of linear interpolation of the specified vectors. Creates a new that contains linear interpolation of the specified vectors. Uses on MathHelper for the interpolation. Less efficient but more precise compared to . See remarks section of on MathHelper for more info. The first vector. The second vector. Weighting value(between 0.0 and 1.0). The result of linear interpolation of the specified vectors as an output parameter. Creates a new that contains a maximal values from the two vectors. The first vector. The second vector. The with maximal values from the two vectors. Creates a new that contains a maximal values from the two vectors. The first vector. The second vector. The with maximal values from the two vectors as an output parameter. Creates a new that contains a minimal values from the two vectors. The first vector. The second vector. The with minimal values from the two vectors. Creates a new that contains a minimal values from the two vectors. The first vector. The second vector. The with minimal values from the two vectors as an output parameter. Creates a new that contains a multiplication of two vectors. Source . Source . The result of the vector multiplication. Creates a new that contains a multiplication of two vectors. Source . Source . The result of the vector multiplication as an output parameter. Creates a new that contains a multiplication of and a scalar. Source . Scalar value. The result of the vector multiplication with a scalar. Creates a new that contains a multiplication of and a scalar. Source . Scalar value. The result of the multiplication with a scalar as an output parameter. Creates a new that contains the specified vector inversion. Source . The result of the vector inversion. Creates a new that contains the specified vector inversion. Source . The result of the vector inversion as an output parameter. Turns this to a unit vector with the same direction. Creates a new that contains a normalized values from another vector. Source . Unit vector. Creates a new that contains a normalized values from another vector. Source . Unit vector as an output parameter. Creates a new that contains reflect vector of the given vector and normal. Source . Reflection normal. Reflected vector. Creates a new that contains reflect vector of the given vector and normal. Source . Reflection normal. Reflected vector as an output parameter. Creates a new that contains cubic interpolation of the specified vectors. Source . Source . Weighting value. Cubic interpolation of the specified vectors. Creates a new that contains cubic interpolation of the specified vectors. Source . Source . Weighting value. Cubic interpolation of the specified vectors as an output parameter. Creates a new that contains subtraction of on from a another. Source . Source . The result of the vector subtraction. Creates a new that contains subtraction of on from a another. Source . Source . The result of the vector subtraction as an output parameter. Returns a representation of this in the format: {X:[] Y:[]} A representation of this . Gets a representation for this object. A representation for this object. Creates a new that contains a transformation of 2d-vector by the specified . Source . The transformation . Transformed . Creates a new that contains a transformation of 2d-vector by the specified . Source . The transformation . Transformed as an output parameter. Creates a new that contains a transformation of 2d-vector by the specified , representing the rotation. Source . The which contains rotation transformation. Transformed . Creates a new that contains a transformation of 2d-vector by the specified , representing the rotation. Source . The which contains rotation transformation. Transformed as an output parameter. Apply transformation on vectors within array of by the specified and places the results in an another array. Source array. The starting index of transformation in the source array. The transformation . Destination array. The starting index in the destination array, where the first should be written. The number of vectors to be transformed. Apply transformation on vectors within array of by the specified and places the results in an another array. Source array. The starting index of transformation in the source array. The which contains rotation transformation. Destination array. The starting index in the destination array, where the first should be written. The number of vectors to be transformed. Apply transformation on all vectors within array of by the specified and places the results in an another array. Source array. The transformation . Destination array. Apply transformation on all vectors within array of by the specified and places the results in an another array. Source array. The which contains rotation transformation. Destination array. Creates a new that contains a transformation of the specified normal by the specified . Source which represents a normal vector. The transformation . Transformed normal. Creates a new that contains a transformation of the specified normal by the specified . Source which represents a normal vector. The transformation . Transformed normal as an output parameter. Apply transformation on normals within array of by the specified and places the results in an another array. Source array. The starting index of transformation in the source array. The transformation . Destination array. The starting index in the destination array, where the first should be written. The number of normals to be transformed. Apply transformation on all normals within array of by the specified and places the results in an another array. Source array. The transformation . Destination array. Deconstruction method for . Returns a with components 0, 0. Returns a with components 1, 1. Returns a with components 1, 0. Returns a with components 0, 1. Describes a 3D-vector. The x coordinate of this . The y coordinate of this . The z coordinate of this . Constructs a 3d vector with X, Y and Z from three values. The x coordinate in 3d-space. The y coordinate in 3d-space. The z coordinate in 3d-space. Constructs a 3d vector with X, Y and Z set to the same value. The x, y and z coordinates in 3d-space. Constructs a 3d vector with X, Y from and Z from a scalar. The x and y coordinates in 3d-space. The z coordinate in 3d-space. Performs vector addition on and . The first vector to add. The second vector to add. The result of the vector addition. Performs vector addition on and , storing the result of the addition in . The first vector to add. The second vector to add. The result of the vector addition. Creates a new that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 3d-triangle. The first vector of 3d-triangle. The second vector of 3d-triangle. The third vector of 3d-triangle. Barycentric scalar b2 which represents a weighting factor towards second vector of 3d-triangle. Barycentric scalar b3 which represents a weighting factor towards third vector of 3d-triangle. The cartesian translation of barycentric coordinates. Creates a new that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 3d-triangle. The first vector of 3d-triangle. The second vector of 3d-triangle. The third vector of 3d-triangle. Barycentric scalar b2 which represents a weighting factor towards second vector of 3d-triangle. Barycentric scalar b3 which represents a weighting factor towards third vector of 3d-triangle. The cartesian translation of barycentric coordinates as an output parameter. Creates a new that contains CatmullRom interpolation of the specified vectors. The first vector in interpolation. The second vector in interpolation. The third vector in interpolation. The fourth vector in interpolation. Weighting factor. The result of CatmullRom interpolation. Creates a new that contains CatmullRom interpolation of the specified vectors. The first vector in interpolation. The second vector in interpolation. The third vector in interpolation. The fourth vector in interpolation. Weighting factor. The result of CatmullRom interpolation as an output parameter. Clamps the specified value within a range. The value to clamp. The min value. The max value. The clamped value. Clamps the specified value within a range. The value to clamp. The min value. The max value. The clamped value as an output parameter. Computes the cross product of two vectors. The first vector. The second vector. The cross product of two vectors. Computes the cross product of two vectors. The first vector. The second vector. The cross product of two vectors as an output parameter. Returns the distance between two vectors. The first vector. The second vector. The distance between two vectors. Returns the distance between two vectors. The first vector. The second vector. The distance between two vectors as an output parameter. Returns the squared distance between two vectors. The first vector. The second vector. The squared distance between two vectors. Returns the squared distance between two vectors. The first vector. The second vector. The squared distance between two vectors as an output parameter. Divides the components of a by the components of another . Source . Divisor . The result of dividing the vectors. Divides the components of a by a scalar. Source . Divisor scalar. The result of dividing a vector by a scalar. Divides the components of a by a scalar. Source . Divisor scalar. The result of dividing a vector by a scalar as an output parameter. Divides the components of a by the components of another . Source . Divisor . The result of dividing the vectors as an output parameter. Returns a dot product of two vectors. The first vector. The second vector. The dot product of two vectors. Returns a dot product of two vectors. The first vector. The second vector. The dot product of two vectors as an output parameter. Compares whether current instance is equal to specified . The to compare. true if the instances are equal; false otherwise. Compares whether current instance is equal to specified . The to compare. true if the instances are equal; false otherwise. Gets the hash code of this . Hash code of this . Creates a new that contains hermite spline interpolation. The first position vector. The first tangent vector. The second position vector. The second tangent vector. Weighting factor. The hermite spline interpolation vector. Creates a new that contains hermite spline interpolation. The first position vector. The first tangent vector. The second position vector. The second tangent vector. Weighting factor. The hermite spline interpolation vector as an output parameter. Returns the length of this . The length of this . Returns the squared length of this . The squared length of this . Creates a new that contains linear interpolation of the specified vectors. The first vector. The second vector. Weighting value(between 0.0 and 1.0). The result of linear interpolation of the specified vectors. Creates a new that contains linear interpolation of the specified vectors. The first vector. The second vector. Weighting value(between 0.0 and 1.0). The result of linear interpolation of the specified vectors as an output parameter. Creates a new that contains linear interpolation of the specified vectors. Uses on MathHelper for the interpolation. Less efficient but more precise compared to . See remarks section of on MathHelper for more info. The first vector. The second vector. Weighting value(between 0.0 and 1.0). The result of linear interpolation of the specified vectors. Creates a new that contains linear interpolation of the specified vectors. Uses on MathHelper for the interpolation. Less efficient but more precise compared to . See remarks section of on MathHelper for more info. The first vector. The second vector. Weighting value(between 0.0 and 1.0). The result of linear interpolation of the specified vectors as an output parameter. Creates a new that contains a maximal values from the two vectors. The first vector. The second vector. The with maximal values from the two vectors. Creates a new that contains a maximal values from the two vectors. The first vector. The second vector. The with maximal values from the two vectors as an output parameter. Creates a new that contains a minimal values from the two vectors. The first vector. The second vector. The with minimal values from the two vectors. Creates a new that contains a minimal values from the two vectors. The first vector. The second vector. The with minimal values from the two vectors as an output parameter. Creates a new that contains a multiplication of two vectors. Source . Source . The result of the vector multiplication. Creates a new that contains a multiplication of and a scalar. Source . Scalar value. The result of the vector multiplication with a scalar. Creates a new that contains a multiplication of and a scalar. Source . Scalar value. The result of the multiplication with a scalar as an output parameter. Creates a new that contains a multiplication of two vectors. Source . Source . The result of the vector multiplication as an output parameter. Creates a new that contains the specified vector inversion. Source . The result of the vector inversion. Creates a new that contains the specified vector inversion. Source . The result of the vector inversion as an output parameter. Turns this to a unit vector with the same direction. Creates a new that contains a normalized values from another vector. Source . Unit vector. Creates a new that contains a normalized values from another vector. Source . Unit vector as an output parameter. Creates a new that contains reflect vector of the given vector and normal. Source . Reflection normal. Reflected vector. Creates a new that contains reflect vector of the given vector and normal. Source . Reflection normal. Reflected vector as an output parameter. Creates a new that contains cubic interpolation of the specified vectors. Source . Source . Weighting value. Cubic interpolation of the specified vectors. Creates a new that contains cubic interpolation of the specified vectors. Source . Source . Weighting value. Cubic interpolation of the specified vectors as an output parameter. Creates a new that contains subtraction of on from a another. Source . Source . The result of the vector subtraction. Creates a new that contains subtraction of on from a another. Source . Source . The result of the vector subtraction as an output parameter. Returns a representation of this in the format: {X:[] Y:[] Z:[]} A representation of this . Creates a new that contains a transformation of 3d-vector by the specified . Source . The transformation . Transformed . Creates a new that contains a transformation of 3d-vector by the specified . Source . The transformation . Transformed as an output parameter. Creates a new that contains a transformation of 3d-vector by the specified , representing the rotation. Source . The which contains rotation transformation. Transformed . Creates a new that contains a transformation of 3d-vector by the specified , representing the rotation. Source . The which contains rotation transformation. Transformed as an output parameter. Apply transformation on vectors within array of by the specified and places the results in an another array. Source array. The starting index of transformation in the source array. The transformation . Destination array. The starting index in the destination array, where the first should be written. The number of vectors to be transformed. Apply transformation on vectors within array of by the specified and places the results in an another array. Source array. The starting index of transformation in the source array. The which contains rotation transformation. Destination array. The starting index in the destination array, where the first should be written. The number of vectors to be transformed. Apply transformation on all vectors within array of by the specified and places the results in an another array. Source array. The transformation . Destination array. Apply transformation on all vectors within array of by the specified and places the results in an another array. Source array. The which contains rotation transformation. Destination array. Creates a new that contains a transformation of the specified normal by the specified . Source which represents a normal vector. The transformation . Transformed normal. Creates a new that contains a transformation of the specified normal by the specified . Source which represents a normal vector. The transformation . Transformed normal as an output parameter. Apply transformation on normals within array of by the specified and places the results in an another array. Source array. The starting index of transformation in the source array. The transformation . Destination array. The starting index in the destination array, where the first should be written. The number of normals to be transformed. Apply transformation on all normals within array of by the specified and places the results in an another array. Source array. The transformation . Destination array. Deconstruction method for . Compares whether two instances are equal. instance on the left of the equal sign. instance on the right of the equal sign. true if the instances are equal; false otherwise. Compares whether two instances are not equal. instance on the left of the not equal sign. instance on the right of the not equal sign. true if the instances are not equal; false otherwise. Adds two vectors. Source on the left of the add sign. Source on the right of the add sign. Sum of the vectors. Inverts values in the specified . Source on the right of the sub sign. Result of the inversion. Subtracts a from a . Source on the left of the sub sign. Source on the right of the sub sign. Result of the vector subtraction. Multiplies the components of two vectors by each other. Source on the left of the mul sign. Source on the right of the mul sign. Result of the vector multiplication. Multiplies the components of vector by a scalar. Source on the left of the mul sign. Scalar value on the right of the mul sign. Result of the vector multiplication with a scalar. Multiplies the components of vector by a scalar. Scalar value on the left of the mul sign. Source on the right of the mul sign. Result of the vector multiplication with a scalar. Divides the components of a by the components of another . Source on the left of the div sign. Divisor on the right of the div sign. The result of dividing the vectors. Divides the components of a by a scalar. Source on the left of the div sign. Divisor scalar on the right of the div sign. The result of dividing a vector by a scalar. Returns a with components 0, 0, 0. Returns a with components 1, 1, 1. Returns a with components 1, 0, 0. Returns a with components 0, 1, 0. Returns a with components 0, 0, 1. Returns a with components 0, 1, 0. Returns a with components 0, -1, 0. Returns a with components 1, 0, 0. Returns a with components -1, 0, 0. Returns a with components 0, 0, -1. Returns a with components 0, 0, 1. Describes a 4D-vector. The x coordinate of this . The y coordinate of this . The z coordinate of this . The w coordinate of this . Constructs a 3d vector with X, Y, Z and W from four values. The x coordinate in 4d-space. The y coordinate in 4d-space. The z coordinate in 4d-space. The w coordinate in 4d-space. Constructs a 3d vector with X and Z from and Z and W from the scalars. The x and y coordinates in 4d-space. The z coordinate in 4d-space. The w coordinate in 4d-space. Constructs a 3d vector with X, Y, Z from and W from a scalar. The x, y and z coordinates in 4d-space. The w coordinate in 4d-space. Constructs a 4d vector with X, Y, Z and W set to the same value. The x, y, z and w coordinates in 4d-space. Performs vector addition on and . The first vector to add. The second vector to add. The result of the vector addition. Performs vector addition on and , storing the result of the addition in . The first vector to add. The second vector to add. The result of the vector addition. Creates a new that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 4d-triangle. The first vector of 4d-triangle. The second vector of 4d-triangle. The third vector of 4d-triangle. Barycentric scalar b2 which represents a weighting factor towards second vector of 4d-triangle. Barycentric scalar b3 which represents a weighting factor towards third vector of 4d-triangle. The cartesian translation of barycentric coordinates. Creates a new that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 4d-triangle. The first vector of 4d-triangle. The second vector of 4d-triangle. The third vector of 4d-triangle. Barycentric scalar b2 which represents a weighting factor towards second vector of 4d-triangle. Barycentric scalar b3 which represents a weighting factor towards third vector of 4d-triangle. The cartesian translation of barycentric coordinates as an output parameter. Creates a new that contains CatmullRom interpolation of the specified vectors. The first vector in interpolation. The second vector in interpolation. The third vector in interpolation. The fourth vector in interpolation. Weighting factor. The result of CatmullRom interpolation. Creates a new that contains CatmullRom interpolation of the specified vectors. The first vector in interpolation. The second vector in interpolation. The third vector in interpolation. The fourth vector in interpolation. Weighting factor. The result of CatmullRom interpolation as an output parameter. Clamps the specified value within a range. The value to clamp. The min value. The max value. The clamped value. Clamps the specified value within a range. The value to clamp. The min value. The max value. The clamped value as an output parameter. Returns the distance between two vectors. The first vector. The second vector. The distance between two vectors. Returns the distance between two vectors. The first vector. The second vector. The distance between two vectors as an output parameter. Returns the squared distance between two vectors. The first vector. The second vector. The squared distance between two vectors. Returns the squared distance between two vectors. The first vector. The second vector. The squared distance between two vectors as an output parameter. Divides the components of a by the components of another . Source . Divisor . The result of dividing the vectors. Divides the components of a by a scalar. Source . Divisor scalar. The result of dividing a vector by a scalar. Divides the components of a by a scalar. Source . Divisor scalar. The result of dividing a vector by a scalar as an output parameter. Divides the components of a by the components of another . Source . Divisor . The result of dividing the vectors as an output parameter. Returns a dot product of two vectors. The first vector. The second vector. The dot product of two vectors. Returns a dot product of two vectors. The first vector. The second vector. The dot product of two vectors as an output parameter. Compares whether current instance is equal to specified . The to compare. true if the instances are equal; false otherwise. Compares whether current instance is equal to specified . The to compare. true if the instances are equal; false otherwise. Gets the hash code of this . Hash code of this . Creates a new that contains hermite spline interpolation. The first position vector. The first tangent vector. The second position vector. The second tangent vector. Weighting factor. The hermite spline interpolation vector. Creates a new that contains hermite spline interpolation. The first position vector. The first tangent vector. The second position vector. The second tangent vector. Weighting factor. The hermite spline interpolation vector as an output parameter. Returns the length of this . The length of this . Returns the squared length of this . The squared length of this . Creates a new that contains linear interpolation of the specified vectors. The first vector. The second vector. Weighting value(between 0.0 and 1.0). The result of linear interpolation of the specified vectors. Creates a new that contains linear interpolation of the specified vectors. The first vector. The second vector. Weighting value(between 0.0 and 1.0). The result of linear interpolation of the specified vectors as an output parameter. Creates a new that contains linear interpolation of the specified vectors. Uses on MathHelper for the interpolation. Less efficient but more precise compared to . See remarks section of on MathHelper for more info. The first vector. The second vector. Weighting value(between 0.0 and 1.0). The result of linear interpolation of the specified vectors. Creates a new that contains linear interpolation of the specified vectors. Uses on MathHelper for the interpolation. Less efficient but more precise compared to . See remarks section of on MathHelper for more info. The first vector. The second vector. Weighting value(between 0.0 and 1.0). The result of linear interpolation of the specified vectors as an output parameter. Creates a new that contains a maximal values from the two vectors. The first vector. The second vector. The with maximal values from the two vectors. Creates a new that contains a maximal values from the two vectors. The first vector. The second vector. The with maximal values from the two vectors as an output parameter. Creates a new that contains a minimal values from the two vectors. The first vector. The second vector. The with minimal values from the two vectors. Creates a new that contains a minimal values from the two vectors. The first vector. The second vector. The with minimal values from the two vectors as an output parameter. Creates a new that contains a multiplication of two vectors. Source . Source . The result of the vector multiplication. Creates a new that contains a multiplication of and a scalar. Source . Scalar value. The result of the vector multiplication with a scalar. Creates a new that contains a multiplication of and a scalar. Source . Scalar value. The result of the multiplication with a scalar as an output parameter. Creates a new that contains a multiplication of two vectors. Source . Source . The result of the vector multiplication as an output parameter. Creates a new that contains the specified vector inversion. Source . The result of the vector inversion. Creates a new that contains the specified vector inversion. Source . The result of the vector inversion as an output parameter. Turns this to a unit vector with the same direction. Creates a new that contains a normalized values from another vector. Source . Unit vector. Creates a new that contains a normalized values from another vector. Source . Unit vector as an output parameter. Creates a new that contains cubic interpolation of the specified vectors. Source . Source . Weighting value. Cubic interpolation of the specified vectors. Creates a new that contains cubic interpolation of the specified vectors. Source . Source . Weighting value. Cubic interpolation of the specified vectors as an output parameter. Creates a new that contains subtraction of on from a another. Source . Source . The result of the vector subtraction. Creates a new that contains subtraction of on from a another. Source . Source . The result of the vector subtraction as an output parameter. Creates a new that contains a transformation of 2d-vector by the specified . Source . The transformation . Transformed . Creates a new that contains a transformation of 2d-vector by the specified . Source . The which contains rotation transformation. Transformed . Creates a new that contains a transformation of 3d-vector by the specified . Source . The transformation . Transformed . Creates a new that contains a transformation of 3d-vector by the specified . Source . The which contains rotation transformation. Transformed . Creates a new that contains a transformation of 4d-vector by the specified . Source . The transformation . Transformed . Creates a new that contains a transformation of 4d-vector by the specified . Source . The which contains rotation transformation. Transformed . Creates a new that contains a transformation of 2d-vector by the specified . Source . The transformation . Transformed as an output parameter. Creates a new that contains a transformation of 2d-vector by the specified . Source . The which contains rotation transformation. Transformed as an output parameter. Creates a new that contains a transformation of 3d-vector by the specified . Source . The transformation . Transformed as an output parameter. Creates a new that contains a transformation of 3d-vector by the specified . Source . The which contains rotation transformation. Transformed as an output parameter. Creates a new that contains a transformation of 4d-vector by the specified . Source . The transformation . Transformed as an output parameter. Creates a new that contains a transformation of 4d-vector by the specified . Source . The which contains rotation transformation. Transformed as an output parameter. Apply transformation on vectors within array of by the specified and places the results in an another array. Source array. The starting index of transformation in the source array. The transformation . Destination array. The starting index in the destination array, where the first should be written. The number of vectors to be transformed. Apply transformation on vectors within array of by the specified and places the results in an another array. Source array. The starting index of transformation in the source array. The which contains rotation transformation. Destination array. The starting index in the destination array, where the first should be written. The number of vectors to be transformed. Apply transformation on all vectors within array of by the specified and places the results in an another array. Source array. The transformation . Destination array. Apply transformation on all vectors within array of by the specified and places the results in an another array. Source array. The which contains rotation transformation. Destination array. Returns a representation of this in the format: {X:[] Y:[] Z:[] W:[]} A representation of this . Deconstruction method for . Inverts values in the specified . Source on the right of the sub sign. Result of the inversion. Compares whether two instances are equal. instance on the left of the equal sign. instance on the right of the equal sign. true if the instances are equal; false otherwise. Compares whether two instances are not equal. instance on the left of the not equal sign. instance on the right of the not equal sign. true if the instances are not equal; false otherwise. Adds two vectors. Source on the left of the add sign. Source on the right of the add sign. Sum of the vectors. Subtracts a from a . Source on the left of the sub sign. Source on the right of the sub sign. Result of the vector subtraction. Multiplies the components of two vectors by each other. Source on the left of the mul sign. Source on the right of the mul sign. Result of the vector multiplication. Multiplies the components of vector by a scalar. Source on the left of the mul sign. Scalar value on the right of the mul sign. Result of the vector multiplication with a scalar. Multiplies the components of vector by a scalar. Scalar value on the left of the mul sign. Source on the right of the mul sign. Result of the vector multiplication with a scalar. Divides the components of a by the components of another . Source on the left of the div sign. Divisor on the right of the div sign. The result of dividing the vectors. Divides the components of a by a scalar. Source on the left of the div sign. Divisor scalar on the right of the div sign. The result of dividing a vector by a scalar. Returns a with components 0, 0, 0, 0. Returns a with components 1, 1, 1, 1. Returns a with components 1, 0, 0, 0. Returns a with components 0, 1, 0, 0. Returns a with components 0, 0, 1, 0. Returns a with components 0, 0, 0, 1. Represents how many channels are used in the audio data. Single channel. Two channels. Represents a 3D audio emitter. Used to simulate 3D audio effects. Initializes a new AudioEmitter instance. Gets or sets a scale applied to the Doppler effect between the AudioEmitter and an AudioListener. Defaults to 1.0 A value of 1.0 leaves the Doppler effect unmodified. Gets or sets the emitter's forward vector. Defaults to Vector3.Forward. (new Vector3(0, 0, -1)) Used with AudioListener.Velocity to calculate Doppler values. The Forward and Up values must be orthonormal. Gets or sets the position of this emitter. Gets or sets the emitter's Up vector. Defaults to Vector3.Up. (new Vector3(0, -1, 1)). The Up and Forward vectors must be orthonormal. Gets or sets the emitter's velocity vector. Defaults to Vector3.Zero. This value is only used when calculating Doppler values. Represents a 3D audio listener. Used when simulating 3D Audio. Gets or sets the listener's forward vector. Defaults to Vector3.Forward. (new Vector3(0, 0, -1)) Used with AudioListener.Velocity and AudioEmitter.Velocity to calculate Doppler values. The Forward and Up vectors must be orthonormal. Gets or sets the listener's position. Defaults to Vector3.Zero. Gets or sets the listener's up vector.. Defaults to Vector3.Up (New Vector3(0, -1, 0)). Used with AudioListener.Velocity and AudioEmitter.Velocity to calculate Doppler values. The values of the Forward and Up vectors must be orthonormal. Gets or sets the listener's velocity vector. Defaults to Vector3.Zero. Scaled by DopplerScale to calculate the Doppler effect value applied to a Cue. This value is only used to calculate Doppler values. A for which the audio buffer is provided by the game at run time. Represents a single instance of a playing, paused, or stopped sound. SoundEffectInstances are created through SoundEffect.CreateInstance() and used internally by SoundEffect.Play() Releases unmanaged resources and performs other cleanup operations before the is reclaimed by garbage collection. Applies 3D positioning to the SoundEffectInstance using a single listener. Data about the listener. Data about the source of emission. Applies 3D positioning to the SoundEffectInstance using multiple listeners. Data about each listener. Data about the source of emission. Pauses playback of a SoundEffectInstance. Paused instances can be resumed with SoundEffectInstance.Play() or SoundEffectInstance.Resume(). Plays or resumes a SoundEffectInstance. Throws an exception if more sounds are playing than the platform allows. Resumes playback for a SoundEffectInstance. Only has effect on a SoundEffectInstance in a paused state. Immediately stops playing a SoundEffectInstance. Stops playing a SoundEffectInstance, either immediately or as authored. Determined whether the sound stops immediately, or after playing its release phase and/or transitions. Stopping a sound with the immediate argument set to false will allow it to play any release phases, such as fade, before coming to a stop. Releases the resources held by this . Releases the resources held by this . If set to true, Dispose was called explicitly. If the disposing parameter is true, the Dispose method was called explicitly. This means that managed objects referenced by this instance should be disposed or released as required. If the disposing parameter is false, Dispose was called by the finalizer and no managed objects should be touched because we do not know if they are still valid or not at that time. Unmanaged resources should always be released. Enables or Disables whether the SoundEffectInstance should repeat after playback. This value has no effect on an already playing sound. Gets or sets the pan, or speaker balance.. Pan value ranging from -1.0 (left speaker) to 0.0 (centered), 1.0 (right speaker). Values outside of this range will throw an exception. Gets or sets the pitch adjustment. Pitch adjustment, ranging from -1.0 (down an octave) to 0.0 (no change) to 1.0 (up an octave). Values outside of this range will throw an Exception. Gets or sets the volume of the SoundEffectInstance. Volume, ranging from 0.0 (silence) to 1.0 (full volume). Volume during playback is scaled by SoundEffect.MasterVolume. This is the volume relative to SoundEffect.MasterVolume. Before playback, this Volume property is multiplied by SoundEffect.MasterVolume when determining the final mix volume. Gets the SoundEffectInstance's current playback state. Indicates whether the object is disposed. Sample rate, in Hertz (Hz). Number of channels (mono or stereo). Returns the duration of an audio buffer of the specified size, based on the settings of this instance. Size of the buffer, in bytes. The playback length of the buffer. Returns the size, in bytes, of a buffer of the specified duration, based on the settings of this instance. The playback length of the buffer. The data size of the buffer, in bytes. Plays or resumes the DynamicSoundEffectInstance. Pauses playback of the DynamicSoundEffectInstance. Resumes playback of the DynamicSoundEffectInstance. Immediately stops playing the DynamicSoundEffectInstance. Calling this also releases all queued buffers. Stops playing the DynamicSoundEffectInstance. If the parameter is false, this call has no effect. Calling this also releases all queued buffers. When set to false, this call has no effect. Queues an audio buffer for playback. The buffer length must conform to alignment requirements for the audio format. The buffer containing PCM audio data. Queues an audio buffer for playback. The buffer length must conform to alignment requirements for the audio format. The buffer containing PCM audio data. The starting position of audio data. The amount of bytes to use. This value has no effect on DynamicSoundEffectInstance. It may not be set. Returns the number of audio buffers queued for playback. The event that occurs when the number of queued audio buffers is less than or equal to 2. This event may occur when is called or during playback when a buffer is completed. Handles the buffer events of all DynamicSoundEffectInstance instances. Updates buffer queues of the currently playing instances. XNA posts events always on the main thread. The exception thrown when the system attempts to play more SoundEffectInstances than allotted. Most platforms have a hard limit on how many sounds can be played simultaneously. This exception is thrown when that limit is exceeded. The exception thrown when no audio hardware is present, or driver issues are detected. A message describing the error. A message describing the error. The exception that is the underlying cause of the current exception. If not null, the current exception is raised in a try/catch block that handled the innerException. Represents a loaded sound resource. A SoundEffect represents the buffer used to hold audio data and metadata. SoundEffectInstances are used to play from SoundEffects. Multiple SoundEffectInstance objects can be created and played from the same SoundEffect object. The only limit on the number of loaded SoundEffects is restricted by available memory. When a SoundEffect is disposed, all SoundEffectInstances created from it will become invalid. SoundEffect.Play() can be used for 'fire and forget' sounds. If advanced playback controls like volume or pitch is required, use SoundEffect.CreateInstance(). Create a sound effect. The buffer with the sound data. The sound data sample rate in hertz. The number of channels in the sound data. This only supports uncompressed 16bit PCM wav data. Create a sound effect. The buffer with the sound data. The offset to the start of the sound data in bytes. The length of the sound data in bytes. The sound data sample rate in hertz. The number of channels in the sound data. The position where the sound should begin looping in samples. The duration of the sound data loop in samples. This only supports uncompressed 16bit PCM wav data. Releases unmanaged resources and performs other cleanup operations before the is reclaimed by garbage collection. Creates a new SoundEffectInstance for this SoundEffect. A new SoundEffectInstance for this SoundEffect. Creating a SoundEffectInstance before calling SoundEffectInstance.Play() allows you to access advanced playback features, such as volume, pitch, and 3D positioning. Creates a new SoundEffect object based on the specified data stream. A stream containing the wave data. A new SoundEffect object. The stream must point to the head of a valid wave file in the RIFF bitstream format. The formats supported are: 8-bit unsigned PCM 16-bit signed PCM 24-bit signed PCM 32-bit IEEE float PCM MS-ADPCM 4-bit compressed IMA/ADPCM (IMA4) 4-bit compressed Returns the duration for 16-bit PCM audio. The length of the audio data in bytes. Sample rate, in Hertz (Hz). Must be between 8000 Hz and 48000 Hz Number of channels in the audio data. The duration of the audio data. Returns the data size in bytes for 16bit PCM audio. The total duration of the audio data. Sample rate, in Hertz (Hz), of audio data. Must be between 8,000 and 48,000 Hz. Number of channels in the audio data. The size in bytes of a single sample of audio data. Gets an internal SoundEffectInstance and plays it. True if a SoundEffectInstance was successfully played, false if not. Play returns false if more SoundEffectInstances are currently playing then the platform allows. To loop a sound or apply 3D effects, call SoundEffect.CreateInstance() and SoundEffectInstance.Play() instead. SoundEffectInstances used by SoundEffect.Play() are pooled internally. Gets an internal SoundEffectInstance and plays it with the specified volume, pitch, and panning. True if a SoundEffectInstance was successfully created and played, false if not. Volume, ranging from 0.0 (silence) to 1.0 (full volume). Volume during playback is scaled by SoundEffect.MasterVolume. Pitch adjustment, ranging from -1.0 (down an octave) to 0.0 (no change) to 1.0 (up an octave). Panning, ranging from -1.0 (left speaker) to 0.0 (centered), 1.0 (right speaker). Play returns false if more SoundEffectInstances are currently playing then the platform allows. To apply looping or simulate 3D audio, call SoundEffect.CreateInstance() and SoundEffectInstance.Play() instead. SoundEffectInstances used by SoundEffect.Play() are pooled internally. Returns a sound effect instance from the pool or null if none are available. Releases the resources held by this . Releases the resources held by this . If set to true, Dispose was called explicitly. If the disposing parameter is true, the Dispose method was called explicitly. This means that managed objects referenced by this instance should be disposed or released as required. If the disposing parameter is false, Dispose was called by the finalizer and no managed objects should be touched because we do not know if they are still valid or not at that time. Unmanaged resources should always be released. Initializes XAudio. Gets the duration of the SoundEffect. Gets or sets the asset name of the SoundEffect. Gets or sets the master volume scale applied to all SoundEffectInstances. Each SoundEffectInstance has its own Volume property that is independent to SoundEffect.MasterVolume. During playback SoundEffectInstance.Volume is multiplied by SoundEffect.MasterVolume. This property is used to adjust the volume on all current and newly created SoundEffectInstances. The volume of an individual SoundEffectInstance can be adjusted on its own. Gets or sets the scale of distance calculations. DistanceScale defaults to 1.0 and must be greater than 0.0. Higher values reduce the rate of falloff between the sound and listener. Gets or sets the scale of Doppler calculations applied to sounds. DopplerScale defaults to 1.0 and must be greater or equal to 0.0 Affects the relative velocity of emitters and listeners. Higher values more dramatically shift the pitch for the given relative velocity of the emitter and listener. Returns the speed of sound used when calculating the Doppler effect.. Defaults to 343.5. Value is measured in meters per second. Has no effect on distance attenuation. Indicates whether the object is disposed. Add the specified instance to the pool if it is a pooled instance and removes it from the list of playing instances. The SoundEffectInstance Adds the SoundEffectInstance to the list of playing instances. The SoundEffectInstance to add to the playing list. Returns a pooled SoundEffectInstance if one is available, or allocates a new SoundEffectInstance if the pool is empty. The SoundEffectInstance. Iterates the list of playing instances, returning them to the pool if they have stopped playing. Iterates the list of playing instances, stop them and return them to the pool if they are instances of the given SoundEffect. The SoundEffect Gets a value indicating whether the platform has capacity for more sounds to be played at this time. true if more sounds can be played; otherwise, false. Described the playback state of a SoundEffectInstance. The SoundEffectInstance is currently playing. The SoundEffectInstance is currently paused. The SoundEffectInstance is currently stopped. Microphone state. Provides microphones capture features. Provides microphones capture features. Returns the friendly name of the microphone. Returns the duration based on the size of the buffer (assuming 16-bit PCM data). Size, in bytes TimeSpan of the duration. Returns the size, in bytes, of the array required to hold the specified duration of 16-bit PCM data. TimeSpan of the duration of the sample. Size, in bytes, of the buffer. Starts microphone capture. Stops microphone capture. Gets the latest available data from the microphone. Buffer, in bytes, of the captured data (16-bit PCM). The buffer size, in bytes, of the captured data. Gets the latest available data from the microphone. Buffer, in bytes, of the captured data (16-bit PCM). Byte offset. Amount, in bytes. The buffer size, in bytes, of the captured data. Gets or sets the capture buffer duration. This value must be greater than 100 milliseconds, lower than 1000 milliseconds, and must be 10 milliseconds aligned (BufferDuration % 10 == 10). Determines if the microphone is a wired headset. Note: XNA could know if a headset microphone was plugged in an Xbox 360 controller but MonoGame can't. Hence, this is always true on mobile platforms, and always false otherwise. Returns the sample rate of the captured audio. Note: default value is 44100hz Returns the state of the Microphone. Returns all compatible microphones. Returns the default microphone. Event fired when the audio data are available. The exception thrown when no audio hardware is present, or driver issues are detected. A message describing the error. A message describing the error. The exception that is the underlying cause of the current exception. If not null, the current exception is raised in a try/catch block that handled the innerException. Provides functionality for manipulating multiple sounds at a time. Pauses all associated sounds. Resumes all associated paused sounds. Stops all associated sounds. Determines whether two AudioCategory instances are equal. First AudioCategory instance to compare. Second AudioCategory instance to compare. true if the objects are equal or false if they aren't. Determines whether two AudioCategory instances are not equal. First AudioCategory instance to compare. Second AudioCategory instance to compare. true if the objects are not equal or false if they are. Determines whether two AudioCategory instances are equal. AudioCategory to compare with this instance. true if the objects are equal or false if they aren't Determines whether two AudioCategory instances are equal. Object to compare with this instance. true if the objects are equal or false if they aren't. Gets the hash code for this instance. Hash code for this object. Returns the name of this AudioCategory Friendly name of the AudioCategory Gets the category's friendly name. Class used to create and manipulate code audio objects. The current content version. Path to a XACT settings file. Path to a XACT settings file. Determines how many milliseconds the engine will look ahead when determing when to transition to another sound. A string that specifies the audio renderer to use. For the best results, use a lookAheadTime of 250 milliseconds or greater. Performs periodic work required by the audio engine. Must be called at least once per frame. Returns an audio category by name. Friendly name of the category to get. The AudioCategory with a matching name. Throws an exception if not found. Gets the value of a global variable. Friendly name of the variable. float value of the queried variable. A global variable has global scope. It can be accessed by all code within a project. Sets the value of a global variable. Friendly name of the variable. Value of the global variable. Disposes the AudioEngine. This event is triggered when the AudioEngine is disposed. Is true if the AudioEngine has been disposed. Controls how Cue objects should cease playback when told to stop. Stop normally, playing any pending release phases or transitions. Immediately stops the cue, ignoring any pending release phases or transitions. Manages the playback of a sound or set of sounds. Cues are comprised of one or more sounds. Cues also define specific properties such as pitch or volume. Cues are referenced through SoundBank objects. Pauses playback. Requests playback of a prepared or preparing Cue. Calling Play when the Cue already is playing can result in an InvalidOperationException. Resumes playback of a paused Cue. Stops playback of a Cue. Specifies if the sound should play any pending release phases or transitions before stopping. Sets the value of a cue-instance variable based on its friendly name. Friendly name of the variable to set. Value to assign to the variable. The friendly name is a value set from the designer. Gets a cue-instance variable value based on its friendly name. Friendly name of the variable. Value of the variable. Cue-instance variables are useful when multiple instantiations of a single cue (and its associated sounds) are required (for example, a "car" cue where there may be more than one car at any given time). While a global variable allows multiple audio elements to be controlled in unison, a cue instance variable grants discrete control of each instance of a cue, even for each copy of the same cue. The friendly name is a value set from the designer. Updates the simulated 3D Audio settings calculated between an AudioEmitter and AudioListener. The listener to calculate. The emitter to calculate. This must be called before Play(). Calling this method automatically converts the sound to monoaural and sets the speaker mix for any sound played by this cue to a value calculated with the listener's and emitter's positions. Any stereo information in the sound will be discarded. Disposes the Cue. Indicates whether or not the cue is currently paused. IsPlaying and IsPaused both return true if a cue is paused while playing. Indicates whether or not the cue is currently playing. IsPlaying and IsPaused both return true if a cue is paused while playing. Indicates whether or not the cue is currently stopped. Gets the friendly name of the cue. The friendly name is a value set from the designer. This event is triggered when the Cue is disposed. Is true if the Cue has been disposed. Represents a collection of Cues. AudioEngine that will be associated with this sound bank. Path to a .xsb SoundBank file. Returns a pooled Cue object. Friendly name of the cue to get. a unique Cue object from a pool. Cue instances are unique, even when sharing the same name. This allows multiple instances to simultaneously play. Plays a cue. Name of the cue to play. Plays a cue with static 3D positional information. Commonly used for short lived effects. To dynamically change the 3D positional information on a cue over time use and . The name of the cue to play. The listener state. The cue emitter state. Disposes the SoundBank. Is true if the SoundBank has any live Cues in use. This event is triggered when the SoundBank is disposed. Is true if the SoundBank has been disposed. Represents a collection of wave files. Instance of the AudioEngine to associate this wave bank with. Path to the .xwb file to load. This constructor immediately loads all wave data into memory at once. Instance of the AudioEngine to associate this wave bank with. Path to the .xwb to stream from. DVD sector-aligned offset within the wave bank data file. Stream packet size, in sectors, to use for each stream. The minimum value is 2. This constructor streams wave data as needed. Note that packetsize is in sectors, which is 2048 bytes. AudioEngine.Update() must be called at least once before using data from a streaming wave bank. Disposes the WaveBank. This event is triggered when the WaveBank is disposed. Is true if the WaveBank has been disposed. Set the combined volume scale from the parent objects. The volume scale. Set the volume for the clip. The volume level. Virtual property to allow a derived ContentManager to have it's assets reloaded External reference reader, provided for compatibility with XNA Framework built content Creates an instance of the attribute. Returns the overriden XML element name or the default "Item". Returns true if the default CollectionItemName value was overridden. This is used to specify the XML element name to use for each item in a collection. Creates an instance of the attribute. The XML element name to use for each item in the collection. The XML element name to use for each item in the collection. This is used to specify the type to use when deserializing this object at runtime. Creates an instance of the attribute. The name of the type to use at runtime. The name of the type to use at runtime. This is used to specify the version when deserializing this object at runtime. Creates an instance of the attribute. The version passed to the type at runtime. The version passed to the type at runtime. Removes Version, Culture and PublicKeyToken from a type string. Supports multiple generic types (e.g. Dictionary<TKey,TValue>) and nested generic types (e.g. List<List<int>>). A A Adds the type creator. Type string. Create function. Defines the buffers for clearing when calling operation. Color buffer. Depth buffer. Stencil buffer. Defines the color channels for render target blending operations. No channels selected. Red channel selected. Green channel selected. Blue channel selected. Alpha channel selected. All channels selected. Defines the faces in a cube map for the class. Positive X face in the cube map. Negative X face in the cube map. Positive Y face in the cube map. Negative Y face in the cube map. Positive Z face in the cube map. Negative Z face in the cube map. The settings used in creation of the graphics device. See . The graphics adapter on which the graphics device will be created. This is only valid on desktop systems where multiple graphics adapters are possible. Defaults to . The requested graphics device feature set. The settings that define how graphics will be presented to the display. Used to initialize and control the presentation of the graphics device. The default back buffer width. The default back buffer height. Associates this graphics device manager to a game instances. The game instance to attach. This populates a GraphicsDeviceInformation instance and invokes PreparingDeviceSettings to allow users to change the settings. Then returns that GraphicsDeviceInformation. Throws NullReferenceException if users set GraphicsDeviceInformation.PresentationParameters to null. Applies any pending property changes to the graphics device. Toggles between windowed and fullscreen modes. Note that on platforms that do not support windowed modes this has no affect. The profile which determines the graphics feature level. Returns the graphics device for this manager. Indicates the desire to switch into fullscreen mode. When called at startup this will automatically set fullscreen mode during initialization. If set after startup you must call ApplyChanges() for the fullscreen mode to be changed. Note that for some platforms that do not support windowed modes this property has no affect. Gets or sets the boolean which defines how window switches from windowed to fullscreen state. "Hard" mode(true) is slow to switch, but more effecient for performance, while "soft" mode(false) is vice versa. The default value is true. Indicates the desire for a multisampled back buffer. When called at startup this will automatically set the MSAA mode during initialization. If set after startup you must call ApplyChanges() for the MSAA mode to be changed. Indicates the desired back buffer color format. When called at startup this will automatically set the format during initialization. If set after startup you must call ApplyChanges() for the format to be changed. Indicates the desired back buffer height in pixels. When called at startup this will automatically set the height during initialization. If set after startup you must call ApplyChanges() for the height to be changed. Indicates the desired back buffer width in pixels. When called at startup this will automatically set the width during initialization. If set after startup you must call ApplyChanges() for the width to be changed. Indicates the desired depth-stencil buffer format. The depth-stencil buffer format defines the scene depth precision and stencil bits available for effects during rendering. When called at startup this will automatically set the format during initialization. If set after startup you must call ApplyChanges() for the format to be changed. Indicates the desire for vsync when presenting the back buffer. Vsync limits the frame rate of the game to the monitor referesh rate to prevent screen tearing. When called at startup this will automatically set the vsync mode during initialization. If set after startup you must call ApplyChanges() for the vsync mode to be changed. Indicates the desired allowable display orientations when the device is rotated. This property only applies to mobile platforms with automatic display rotation. When called at startup this will automatically apply the supported orientations during initialization. If set after startup you must call ApplyChanges() for the supported orientations to be changed. A snapshot of rendering statistics from to be used for runtime debugging and profiling. Returns the difference between two sets of metrics. Source on the left of the sub sign. Source on the right of the sub sign. Difference between two sets of metrics. Returns the combination of two sets of metrics. Source on the left of the add sign. Source on the right of the add sign. Combination of two sets of metrics. Number of times Clear was called. Number of times Draw was called. Number of times the pixel shader was changed on the GPU. Number of rendered primitives. Number of sprites and text characters rendered via . Number of times a target was changed on the GPU. Number of times a texture was changed on the GPU. Number of times the vertex shader was changed on the GPU. Built-in effect that supports alpha testing. Called before the device is reset. Allows graphics resources to invalidate their state so they can be recreated after the device reset. Warning: This may be called after a call to Dispose() up until the resource is garbage collected. The method that derived classes should override to implement disposing of managed and native resources. True if managed objects should be disposed. Native resources should always be released regardless of the value of the disposing parameter. Clone the source into this existing object. Note this is not overloaded in derived classes on purpose. This is only a reason this exists is for caching effects. The source effect to clone from. Returns a deep copy of the effect where immutable types are shared and mutable data is duplicated. See "Cloning an Effect" in MSDN: http://msdn.microsoft.com/en-us/library/windows/desktop/ff476138(v=vs.85).aspx The cloned effect. The current MonoGame Effect file format versions used to detect old packaged content. We should avoid supporting old versions for very long if at all as users should be rebuilding content when packaging their game. The MonoGame Effect file format header identifier ("MGFX"). The common effect fog rendering parameters. The floating point fog color. Used to toggle the rendering of fog. The world space distance from the camera at which fogging is fully applied. FogEnd should be greater than FogStart. If FogEnd and FogStart are the same value everything is fully fogged. The world space distance from the camera at which fogging begins. FogStart should be less than FogEnd. If FogEnd and FogStart are the same value everything is fully fogged. Creates a new AlphaTestEffect with default parameter settings. Creates a new AlphaTestEffect by cloning parameter settings from an existing instance. Creates a clone of the current AlphaTestEffect instance. Looks up shortcut references to our effect parameters. Lazily computes derived parameter values immediately before applying the effect. Gets or sets the world matrix. Gets or sets the view matrix. Gets or sets the projection matrix. Gets or sets the material diffuse color (range 0 to 1). Gets or sets the material alpha. Gets or sets the fog enable flag. Gets or sets the fog start distance. Gets or sets the fog end distance. Gets or sets the fog color. Gets or sets the current texture. Gets or sets whether vertex color is enabled. Gets or sets the alpha compare function (default Greater). Gets or sets the reference alpha value (default 0). Built-in effect that supports optional texturing, vertex coloring, fog, and lighting. The common effect light rendering parameters. Initializes the lights to the standard key/fill/back lighting rig. The floating point ambient light color. Returns the first directional light. Returns the second directional light. Returns the third directional light. Toggles the rendering of lighting. Creates a new BasicEffect with default parameter settings. Creates a new BasicEffect by cloning parameter settings from an existing instance. Creates a clone of the current BasicEffect instance. Looks up shortcut references to our effect parameters. Lazily computes derived parameter values immediately before applying the effect. Gets or sets the world matrix. Gets or sets the view matrix. Gets or sets the projection matrix. Gets or sets the material diffuse color (range 0 to 1). Gets or sets the material emissive color (range 0 to 1). Gets or sets the material specular color (range 0 to 1). Gets or sets the material specular power. Gets or sets the material alpha. Gets or sets the per-pixel lighting prefer flag. Gets or sets whether texturing is enabled. Gets or sets the current texture. Gets or sets whether vertex color is enabled. Built-in effect that supports two-layer multitexturing. Creates a new DualTextureEffect with default parameter settings. Creates a new DualTextureEffect by cloning parameter settings from an existing instance. Creates a clone of the current DualTextureEffect instance. Looks up shortcut references to our effect parameters. Lazily computes derived parameter values immediately before applying the effect. Gets or sets the world matrix. Gets or sets the view matrix. Gets or sets the projection matrix. Gets or sets the material diffuse color (range 0 to 1). Gets or sets the material alpha. Gets or sets the fog enable flag. Gets or sets the fog start distance. Gets or sets the fog end distance. Gets or sets the fog color. Gets or sets the current base texture. Gets or sets the current overlay texture. Gets or sets whether vertex color is enabled. Track which effect parameters need to be recomputed during the next OnApply. Helper code shared between the various built-in effects. Sets up the standard key/fill/back lighting rig. Lazily recomputes the world+view+projection matrix and fog vector based on the current effect parameter settings. Sets a vector which can be dotted with the object space vertex position to compute fog amount. Lazily recomputes the world inverse transpose matrix and eye position based on the current effect parameter settings. Sets the diffuse/emissive/alpha material color parameters. Defines classes for effect parameters and shader constants. Scalar class type. Vector class type. Matrix class type. Class type for textures, shaders or strings. Structure class type. The next state key used when an effect parameter is updated by any of the 'set' methods. The current state key which is used to detect if the parameter value has been changed. Property referenced by the DebuggerDisplayAttribute. Defines types for effect parameters and shader constants. Pointer to void type. Boolean type. Any non-zero will be true; false otherwise. 32-bit integer type. Float type. String type. Any texture type. 1D-texture type. 2D-texture type. 3D-texture type. Cubic texture type. Internal helper for accessing the bytecode for stock effects. Built-in effect that supports environment mapping. Creates a new EnvironmentMapEffect with default parameter settings. Creates a new EnvironmentMapEffect by cloning parameter settings from an existing instance. Creates a clone of the current EnvironmentMapEffect instance. Sets up the standard key/fill/back lighting rig. Looks up shortcut references to our effect parameters. Lazily computes derived parameter values immediately before applying the effect. Gets or sets the world matrix. Gets or sets the view matrix. Gets or sets the projection matrix. Gets or sets the material diffuse color (range 0 to 1). Gets or sets the material emissive color (range 0 to 1). Gets or sets the material alpha. Gets or sets the ambient light color (range 0 to 1). Gets the first directional light. Gets the second directional light. Gets the third directional light. Gets or sets the fog enable flag. Gets or sets the fog start distance. Gets or sets the fog end distance. Gets or sets the fog color. Gets or sets the current texture. Gets or sets the current environment map texture. Gets or sets the amount of the environment map RGB that will be blended over the base texture. Range 0 to 1, default 1. If set to zero, the RGB channels of the environment map will completely ignored (but the environment map alpha may still be visible if EnvironmentMapSpecular is greater than zero). Gets or sets the amount of the environment map alpha channel that will be added to the base texture. Range 0 to 1, default 0. This can be used to implement cheap specular lighting, by encoding one or more specular highlight patterns into the environment map alpha channel, then setting EnvironmentMapSpecular to the desired specular light color. Gets or sets the Fresnel factor used for the environment map blending. Higher values make the environment map only visible around the silhouette edges of the object, while lower values make it visible everywhere. Setting this property to 0 disables Fresnel entirely, making the environment map equally visible regardless of view angle. The default is 1. Fresnel only affects the environment map RGB (the intensity of which is controlled by EnvironmentMapAmount). The alpha contribution (controlled by EnvironmentMapSpecular) is not affected by the Fresnel setting. This effect requires lighting, so we explicitly implement IEffectLights.LightingEnabled, and do not allow turning it off. Built-in effect for rendering skinned character models. Sets an array of skinning bone transform matrices. Gets a copy of the current skinning bone transform matrices. Creates a new SkinnedEffect with default parameter settings. Creates a new SkinnedEffect by cloning parameter settings from an existing instance. Creates a clone of the current SkinnedEffect instance. Sets up the standard key/fill/back lighting rig. Looks up shortcut references to our effect parameters. Lazily computes derived parameter values immediately before applying the effect. Gets or sets the world matrix. Gets or sets the view matrix. Gets or sets the projection matrix. Gets or sets the material diffuse color (range 0 to 1). Gets or sets the material emissive color (range 0 to 1). Gets or sets the material specular color (range 0 to 1). Gets or sets the material specular power. Gets or sets the material alpha. Gets or sets the per-pixel lighting prefer flag. Gets or sets the ambient light color (range 0 to 1). Gets the first directional light. Gets the second directional light. Gets the third directional light. Gets or sets the fog enable flag. Gets or sets the fog start distance. Gets or sets the fog end distance. Gets or sets the fog color. Gets or sets the current texture. Gets or sets the number of skinning weights to evaluate for each vertex (1, 2, or 4). This effect requires lighting, so we explicitly implement IEffectLights.LightingEnabled, and do not allow turning it off. The default effect used by SpriteBatch. Creates a new SpriteEffect. Creates a new SpriteEffect by cloning parameter settings from an existing instance. Creates a clone of the current SpriteEffect instance. Looks up shortcut references to our effect parameters. Lazily computes derived parameter values immediately before applying the effect. Queries for support of the requested render target format on the adaptor. The graphics profile. The requested surface format. The requested depth stencil format. The requested multisample count. Set to the best format supported by the adaptor for the requested surface format. Set to the best format supported by the adaptor for the requested depth stencil format. Set to the best count supported by the adaptor for the requested multisample count. True if the requested format is supported by the adaptor. False if one or more of the values was changed. Used to request creation of the reference graphics device, or the default hardware accelerated device (when set to false). This only works on DirectX platforms where a reference graphics device is available and must be defined before the graphics device is created. It defaults to false. Used to request creation of a specific kind of driver. These values only work on DirectX platforms and must be defined before the graphics device is created. by default. Used to request the graphics device should be created with debugging features enabled. Returns true if the is widescreen. Common widescreen modes include 16:9, 16:10 and 2:1. Defines the driver type for graphics adapter. Usable only on DirectX platforms for now. Hardware device been used for rendering. Maximum speed and performance. Emulates the hardware device on CPU. Slowly, only for testing. Useful when acceleration does not work. Provides information about the capabilities of the current graphics device. A very useful thread for investigating GL extenion names http://stackoverflow.com/questions/3881197/opengl-es-2-0-extensions-on-android-devices Whether the device fully supports non power-of-two textures, including mip maps and wrap modes other than CLAMP_TO_EDGE Whether the device supports anisotropic texture filtering Gets the support for DXT1 Gets the support for S3TC (DXT1, DXT3, DXT5) Gets the support for PVRTC Gets the support for ETC1 Gets the support for ATITC True, if sRGB is supported. On Direct3D platforms, this is always true. On OpenGL platforms, it is true if both framebuffer sRGB and texture sRGB are supported. True, if the underlying platform supports floating point textures. For Direct3D platforms this is always true. For OpenGL Desktop platforms it is always true. For OpenGL Mobile platforms it requires `GL_EXT_color_buffer_float`. If the requested format is not supported an NotSupportedException will be thrown. True, if the underlying platform supports half floating point textures. For Direct3D platforms this is always true. For OpenGL Desktop platforms it is always true. For OpenGL Mobile platforms it requires `GL_EXT_color_buffer_half_float`. If the requested format is not supported an NotSupportedException will be thrown. Gets the max texture anisotropy. This value typically lies between 0 and 16, where 0 means anisotropic filtering is not supported. Attempt to dequeue a debugging message from the graphics subsystem. When running on a graphics device with debugging enabled, this allows you to retrieve subsystem-specific (e.g. DirectX, OpenGL, etc.) debugging messages including information about improper usage of shaders and APIs. The graphics debugging message if retrieved, null otherwise. True if a graphics debugging message was retrieved, false otherwise. The active vertex shader. The active pixel shader. The cache of effects from unique byte streams. Initializes a new instance of the class. The graphics adapter. The graphics profile. The presentation options. is . Trigger the DeviceResetting event Currently internal to allow the various platforms to send the event at the appropriate time. Trigger the DeviceReset event to allow games to be notified of a device reset. Currently internal to allow the various platforms to send the event at the appropriate time. Draw geometry by indexing into the vertex buffer. The type of primitives in the index buffer. Used to offset the vertex range indexed from the vertex buffer. This is unused and remains here only for XNA API compatibility. This is unused and remains here only for XNA API compatibility. The index within the index buffer to start drawing from. The number of primitives to render from the index buffer. Note that minVertexIndex and numVertices are unused in MonoGame and will be ignored. Draw geometry by indexing into the vertex buffer. The type of primitives in the index buffer. Used to offset the vertex range indexed from the vertex buffer. The index within the index buffer to start drawing from. The number of primitives to render from the index buffer. Draw primitives of the specified type from the data in an array of vertices without indexing. The type of the vertices. The type of primitives to draw with the vertices. An array of vertices to draw. The index in the array of the first vertex that should be rendered. The number of primitives to draw. The will be found by getting from an instance of and cached for subsequent calls. Draw primitives of the specified type from the data in the given array of vertices without indexing. The type of the vertices. The type of primitives to draw with the vertices. An array of vertices to draw. The index in the array of the first vertex that should be rendered. The number of primitives to draw. The layout of the vertices. Draw primitives of the specified type from the currently bound vertexbuffers without indexing. The type of primitives to draw. Index of the vertex to start at. The number of primitives to draw. Draw primitives of the specified type by indexing into the given array of vertices with 16-bit indices. The type of the vertices. The type of primitives to draw with the vertices. An array of vertices to draw. The index in the array of the first vertex to draw. The index in the array of indices of the first index to use The number of primitives to draw. The number of vertices to draw. The index data. The will be found by getting from an instance of and cached for subsequent calls. All indices in the vertex buffer are interpreted relative to the specified . For example a value of zero in the array of indices points to the vertex at index in the array of vertices. Draw primitives of the specified type by indexing into the given array of vertices with 16-bit indices. The type of the vertices. The type of primitives to draw with the vertices. An array of vertices to draw. The index in the array of the first vertex to draw. The index in the array of indices of the first index to use The number of primitives to draw. The number of vertices to draw. The index data. The layout of the vertices. All indices in the vertex buffer are interpreted relative to the specified . For example a value of zero in the array of indices points to the vertex at index in the array of vertices. Draw primitives of the specified type by indexing into the given array of vertices with 32-bit indices. The type of the vertices. The type of primitives to draw with the vertices. An array of vertices to draw. The index in the array of the first vertex to draw. The index in the array of indices of the first index to use The number of primitives to draw. The number of vertices to draw. The index data. The will be found by getting from an instance of and cached for subsequent calls. All indices in the vertex buffer are interpreted relative to the specified . For example a value of zero in the array of indices points to the vertex at index in the array of vertices. Draw primitives of the specified type by indexing into the given array of vertices with 32-bit indices. The type of the vertices. The type of primitives to draw with the vertices. An array of vertices to draw. The index in the array of the first vertex to draw. The index in the array of indices of the first index to use The number of primitives to draw. The number of vertices to draw. The index data. The layout of the vertices. All indices in the vertex buffer are interpreted relative to the specified . For example value of zero in the array of indices points to the vertex at index in the array of vertices. Draw instanced geometry from the bound vertex buffers and index buffer. The type of primitives in the index buffer. Used to offset the vertex range indexed from the vertex buffer. This is unused and remains here only for XNA API compatibility. This is unused and remains here only for XNA API compatibility. The index within the index buffer to start drawing from. The number of primitives in a single instance. The number of instances to render. Note that minVertexIndex and numVertices are unused in MonoGame and will be ignored. Draw instanced geometry from the bound vertex buffers and index buffer. The type of primitives in the index buffer. Used to offset the vertex range indexed from the vertex buffer. The index within the index buffer to start drawing from. The number of primitives in a single instance. The number of instances to render. Draw geometry with data from multiple bound vertex streams at different frequencies. Gets the Pixel data of what is currently drawn on screen. The format is whatever the current format of the backbuffer is. A byte[] of size (ViewPort.Width * ViewPort.Height * 4) Create graphics device specific resources. Get highest multisample quality level for specified format and multisample count. Returns 0 if multisampling is not supported for input parameters. The texture format. The number of samples during multisampling. Higher than zero if multiSampleCount is supported. Zero if multiSampleCount is not supported. Sends queued-up commands in the command buffer to the graphics processing unit (GPU). The rendering information for debugging and profiling. The metrics are reset every frame after draw within . Access debugging APIs for the graphics subsystem. The color used as blend factor when alpha blending. When only changing BlendFactor, use this rather than to only update BlendFactor so the whole BlendState does not have to be updated. Returns a handle to internal device object. Valid only on DirectX platforms. For usage, convert this to SharpDX.Direct3D11.Device. Describes the status of the . The device is normal. The device has been lost. The device has not been reset. Defines a set of graphic capabilities. Use a limited set of graphic features and capabilities, allowing the game to support the widest variety of devices. Use the largest available set of graphic features and capabilities to target devices, that have more enhanced graphic capabilities. Represents a render target. Gets the for the specified array slice. The array slice. The . For texture cubes: The array slice is the index of the cube map face. Gets the . The . Can be . Gets the width of the render target in pixels The width of the render target in pixels. Gets the height of the render target in pixels The height of the render target in pixels. Gets the usage mode of the render target. The usage mode of the render target. Represents a set of bones associated with a model. Finds a bone with a given name if it exists in the collection. The name of the bone to find. The bone named boneName, if found. true if the bone was found Returns a ModelMeshCollection.Enumerator that can iterate through a ModelMeshCollection. Retrieves a ModelBone from the collection, given the name of the bone. The name of the bone to retrieve. Provides the ability to iterate through the bones in an ModelMeshCollection. Advances the enumerator to the next element of the ModelMeshCollection. Immediately releases the unmanaged resources used by this object. Gets the current element in the ModelMeshCollection. Transform of this node from the root of the model not from the parent A basic 3D model with per mesh parent bones. Constructs a model. A valid reference to . The collection of bones. The collection of meshes. is null. is null. is null. Draws the model meshes. The world transform. The view transform. The projection transform. Copies bone transforms relative to all parent bones of the each bone from this model to a given array. The array receiving the transformed bones. Copies bone transforms relative to bone from a given array to this model. The array of prepared bone transform data. is null. is invalid. Copies bone transforms relative to bone from this model to a given array. The array receiving the transformed bones. is null. is invalid. A collection of objects which describe how each mesh in the mesh collection for this model relates to its parent mesh. A collection of objects which compose the model. Each in a model may be moved independently and may be composed of multiple materials identified as objects. Root bone for this model. Custom attached object. Skinning data is example of attached object for model. Represents a collection of ModelMesh objects. Finds a mesh with a given name if it exists in the collection. The name of the mesh to find. The mesh named meshName, if found. true if a mesh was found Returns a ModelMeshCollection.Enumerator that can iterate through a ModelMeshCollection. Retrieves a ModelMesh from the collection, given the name of the mesh. The name of the mesh to retrieve. Provides the ability to iterate through the bones in an ModelMeshCollection. Advances the enumerator to the next element of the ModelMeshCollection. Immediately releases the unmanaged resources used by this object. Gets the current element in the ModelMeshCollection. Initializes a new instance of the class. The graphics device. is . The current graphics profile does not support occlusion queries. Begins the occlusion query. is called again before calling . Ends the occlusion query. is called before calling . Gets a value indicating whether the occlusion query has completed. if the occlusion query has completed; otherwise, . Gets the number of visible pixels. The number of visible pixels. The occlusion query has not yet completed. Check before reading the result! Packed vector type containing a single 8 bit normalized W values that is ranging from 0 to 1. Creates a new instance of Alpha8. The alpha component Gets the packed vector in float format. The packed vector in Vector3 format Sets the packed vector from a Vector4. Vector containing the components. Gets the packed vector in Vector4 format. The packed vector in Vector4 format Compares an object with the packed vector. The object to compare. True if the object is equal to the packed vector. Compares another Alpha8 packed vector with the packed vector. The Alpha8 packed vector to compare. True if the packed vectors are equal. Gets a string representation of the packed vector. A string representation of the packed vector. Gets a hash code of the packed vector. The hash code for the packed vector. Gets and sets the packed value. Packed vector type containing unsigned normalized values ranging from 0 to 1. The x and z components use 5 bits, and the y component uses 6 bits. Creates a new instance of Bgr565. The x component The y component The z component Creates a new instance of Bgr565. Vector containing the components for the packed vector. Gets the packed vector in Vector3 format. The packed vector in Vector3 format Sets the packed vector from a Vector4. Vector containing the components. Gets the packed vector in Vector4 format. The packed vector in Vector4 format Compares an object with the packed vector. The object to compare. true if the object is equal to the packed vector. Compares another Bgr565 packed vector with the packed vector. The Bgr565 packed vector to compare. true if the packed vectors are equal. Gets a string representation of the packed vector. A string representation of the packed vector. Gets a hash code of the packed vector. The hash code for the packed vector. Gets and sets the packed value. Packed vector type containing unsigned normalized values, ranging from 0 to 1, using 4 bits each for x, y, z, and w. Creates a new instance of Bgra4444. The x component The y component The z component The w component Creates a new instance of Bgra4444. Vector containing the components for the packed vector. Gets the packed vector in Vector4 format. The packed vector in Vector4 format Sets the packed vector from a Vector4. Vector containing the components. Compares an object with the packed vector. The object to compare. true if the object is equal to the packed vector. Compares another Bgra4444 packed vector with the packed vector. The Bgra4444 packed vector to compare. true if the packed vectors are equal. Gets a string representation of the packed vector. A string representation of the packed vector. Gets a hash code of the packed vector. The hash code for the packed vector. Gets and sets the packed value. Packed vector type containing unsigned normalized values ranging from 0 to 1. The x , y and z components use 5 bits, and the w component uses 1 bit. Creates a new instance of Bgra5551. The x component The y component The z component The w component Creates a new instance of Bgra5551. Vector containing the components for the packed vector. Gets the packed vector in Vector4 format. The packed vector in Vector4 format Sets the packed vector from a Vector4. Vector containing the components. Compares an object with the packed vector. The object to compare. True if the object is equal to the packed vector. Compares another Bgra5551 packed vector with the packed vector. The Bgra5551 packed vector to compare. True if the packed vectors are equal. Gets a string representation of the packed vector. A string representation of the packed vector. Gets a hash code of the packed vector. The hash code for the packed vector. Gets and sets the packed value. Packed vector type containing four 8-bit unsigned integer values, ranging from 0 to 255. Initializes a new instance of the Byte4 class. A vector containing the initial values for the components of the Byte4 structure. Initializes a new instance of the Byte4 class. Initial value for the x component. Initial value for the y component. Initial value for the z component. Initial value for the w component. Compares the current instance of a class to another instance to determine whether they are different. The object to the left of the equality operator. The object to the right of the equality operator. true if the objects are different; false otherwise. Compares the current instance of a class to another instance to determine whether they are the same. The object to the left of the equality operator. The object to the right of the equality operator. true if the objects are the same; false otherwise. Returns a value that indicates whether the current instance is equal to a specified object. The object with which to make the comparison. true if the current instance is equal to the specified object; false otherwise. Returns a value that indicates whether the current instance is equal to a specified object. The object with which to make the comparison. true if the current instance is equal to the specified object; false otherwise. Gets the hash code for the current instance. Hash code for the instance. Returns a string representation of the current instance. String that represents the object. Packs a vector into a uint. The vector containing the values to pack. The ulong containing the packed values. Sets the packed representation from a Vector4. The vector to create the packed representation from. Expands the packed representation into a Vector4. The expanded vector. Directly gets or sets the packed representation of the value. The packed representation of the value. Packed vector type containing four 16-bit floating-point values. Initializes a new instance of the HalfVector4 structure. Initial value for the x component. Initial value for the y component. Initial value for the z component. Initial value for the q component. Initializes a new instance of the HalfVector4 structure. A vector containing the initial values for the components of the HalfVector4 structure. Sets the packed representation from a Vector4. The vector to create the packed representation from. Packs a vector into a ulong. The vector containing the values to pack. The ulong containing the packed values. Expands the packed representation into a Vector4. The expanded vector. Returns a string representation of the current instance. String that represents the object. Gets the hash code for the current instance. Hash code for the instance. Returns a value that indicates whether the current instance is equal to a specified object. The object with which to make the comparison. true if the current instance is equal to the specified object; false otherwise. Returns a value that indicates whether the current instance is equal to a specified object. The object with which to make the comparison. true if the current instance is equal to the specified object; false otherwise. Compares the current instance of a class to another instance to determine whether they are the same. The object to the left of the equality operator. The object to the right of the equality operator. true if the objects are the same; false otherwise. Compares the current instance of a class to another instance to determine whether they are different. The object to the left of the equality operator. The object to the right of the equality operator. true if the objects are different; false otherwise. Directly gets or sets the packed representation of the value. The packed representation of the value. Packed vector type containing two 16-bit unsigned normalized values ranging from 0 to 1. Creates a new instance of Rg32. The x component The y component Creates a new instance of Rg32. Vector containing the components for the packed vector. Gets the packed vector in Vector2 format. The packed vector in Vector2 format Sets the packed vector from a Vector4. Vector containing the components. Gets the packed vector in Vector4 format. The packed vector in Vector4 format Compares an object with the packed vector. The object to compare. True if the object is equal to the packed vector. Compares another Rg32 packed vector with the packed vector. The Rg32 packed vector to compare. True if the packed vectors are equal. Gets a string representation of the packed vector. A string representation of the packed vector. Gets a hash code of the packed vector. The hash code for the packed vector. Gets and sets the packed value. Packed vector type containing four 16-bit unsigned normalized values ranging from 0 to 1. Creates a new instance of Rgba64. The x component The y component The z component The w component Creates a new instance of Rgba64. Vector containing the components for the packed vector. Gets the packed vector in Vector4 format. The packed vector in Vector4 format Sets the packed vector from a Vector4. Vector containing the components. Compares an object with the packed vector. The object to compare. True if the object is equal to the packed vector. Compares another Rgba64 packed vector with the packed vector. The Rgba64 packed vector to compare. True if the packed vectors are equal. Gets a string representation of the packed vector. A string representation of the packed vector. Gets a hash code of the packed vector. The hash code for the packed vector. Gets and sets the packed value. Packed vector type containing unsigned normalized values ranging from 0 to 1. The x, y and z components use 10 bits, and the w component uses 2 bits. Creates a new instance of Rgba1010102. The x component The y component The z component The w component Creates a new instance of Rgba1010102. Vector containing the components for the packed vector. Gets the packed vector in Vector4 format. The packed vector in Vector4 format Sets the packed vector from a Vector4. Vector containing the components. Compares an object with the packed vector. The object to compare. True if the object is equal to the packed vector. Compares another Rgba1010102 packed vector with the packed vector. The Rgba1010102 packed vector to compare. True if the packed vectors are equal. Gets a string representation of the packed vector. A string representation of the packed vector. Gets a hash code of the packed vector. The hash code for the packed vector. Gets and sets the packed value. Packed vector type containing four 16-bit signed integer values. Initializes a new instance of the Short4 class. A vector containing the initial values for the components of the Short4 structure. Initializes a new instance of the Short4 class. Initial value for the x component. Initial value for the y component. Initial value for the z component. Initial value for the w component. Compares the current instance of a class to another instance to determine whether they are different. The object to the left of the equality operator. The object to the right of the equality operator. true if the objects are different; false otherwise. Compares the current instance of a class to another instance to determine whether they are the same. The object to the left of the equality operator. The object to the right of the equality operator. true if the objects are the same; false otherwise. Returns a value that indicates whether the current instance is equal to a specified object. The object with which to make the comparison. true if the current instance is equal to the specified object; false otherwise. Returns a value that indicates whether the current instance is equal to a specified object. The object with which to make the comparison. true if the current instance is equal to the specified object; false otherwise. Gets the hash code for the current instance. Hash code for the instance. Returns a string representation of the current instance. String that represents the object. Packs a vector into a ulong. The vector containing the values to pack. The ulong containing the packed values. Sets the packed representation from a Vector4. The vector to create the packed representation from. Expands the packed representation into a Vector4. The expanded vector. Directly gets or sets the packed representation of the value. The packed representation of the value. Create a instance with default values for all properties. Reset all properties to their default values. Create a copy of this instance. Get or set the format of the back buffer. Get or set the height of the back buffer. Get or set the width of the back buffer. Get the bounds of the back buffer. Get or set the handle of the window that will present the back buffer. Get or set the depth stencil format for the back buffer. Get or set a value indicating if we are in full screen mode. If true the will do a mode switch when going to full screen mode. If false it will instead do a soft full screen by maximizing the window and making it borderless. Get or set the multisample count for the back buffer. Get or set the presentation interval. Get or set the display orientation. Get or set the RenderTargetUsage for the back buffer. Determines if the back buffer is cleared when it is set as the render target by the . target. Defines how updates the game window. Equivalent to . The driver waits for the vertical retrace period, before updating window client area. Present operations are not affected more frequently than the screen refresh rate. The driver waits for the vertical retrace period, before updating window client area. Present operations are not affected more frequently than every second screen refresh. The driver updates the window client area immediately. Present operations might be affected immediately. There is no limit for framerate. Gets the handle to a shared resource. The handle of the shared resource, or if the texture was not created as a shared resource. Gets a unique identifier of this texture for sorting purposes. For example, this value is used by when drawing with . The value is an implementation detail and may change between application launches or MonoGame versions. It is only guaranteed to stay consistent during application lifetime. Creates a new texture of the given size Creates a new texture of a given size with a surface format and optional mipmaps Creates a new texture array of a given size with a surface format and optional mipmaps. Throws ArgumentException if the current GraphicsDevice can't work with texture arrays Creates a new texture of a given size with a surface format and optional mipmaps. Changes the pixels of the texture Throws ArgumentNullException if data is null Throws ArgumentException if arraySlice is greater than 0, and the GraphicsDevice does not support texture arrays Layer of the texture to modify Index inside the texture array Area to modify New data for the texture Start position of data Changes the pixels of the texture Layer of the texture to modify Area to modify New data for the texture Start position of data Changes the texture's pixels New data for the texture Start position of data Changes the texture's pixels New data for the texture Retrieves the contents of the texture Throws ArgumentException if data is null, data.length is too short or if arraySlice is greater than 0 and the GraphicsDevice doesn't support texture arrays Layer of the texture Index inside the texture array Area of the texture to retrieve Destination array for the data Starting index of data where to write the pixel data Number of pixels to read Retrieves the contents of the texture Throws ArgumentException if data is null, data.length is too short or if arraySlice is greater than 0 and the GraphicsDevice doesn't support texture arrays Layer of the texture Area of the texture Destination array for the texture data First position in data where to write the pixel data Number of pixels to read Retrieves the contents of the texture Throws ArgumentException if data is null, data.length is too short or if arraySlice is greater than 0 and the GraphicsDevice doesn't support texture arrays Destination array for the texture data First position in data where to write the pixel data Number of pixels to read Retrieves the contents of the texture Throws ArgumentException if data is null, data.length is too short or if arraySlice is greater than 0 and the GraphicsDevice doesn't support texture arrays Destination array for the texture data Creates a Texture2D from a stream, supported formats bmp, gif, jpg, png, tif and dds (only for simple textures). May work with other formats, but will not work with tga files. The graphics device where the texture will be created. The stream from which to read the image data. The texture created from the image stream. Note that different image decoders may generate slight differences between platforms, but perceptually the images should be identical. This call does not premultiply the image alpha, but areas of zero alpha will result in black color data. Converts the texture to a JPG image Destination for the image Converts the texture to a PNG image Destination for the image Gets the dimensions of the texture Gets the width of the texture in pixels. Gets the height of the texture in pixels. Allows child class to specify the surface type, eg: a swap chain. Gets a copy of 3D texture data, specifying a mipmap level, source box, start index, and number of elements. The type of the elements in the array. Mipmap level. Position of the left side of the box on the x-axis. Position of the top of the box on the y-axis. Position of the right side of the box on the x-axis. Position of the bottom of the box on the y-axis. Position of the front of the box on the z-axis. Position of the back of the box on the z-axis. Array of data. Index of the first element to get. Number of elements to get. Gets a copy of 3D texture data, specifying a start index and number of elements. The type of the elements in the array. Array of data. Index of the first element to get. Number of elements to get. Gets a copy of 3D texture data. The type of the elements in the array. Array of data. Represents a texture cube that can be used as a render target. Gets a copy of cube texture data specifying a cubemap face. The cube map face. The data. Gets the width and height of the cube map face in pixels. The width and height of a cube map face in pixels. Initializes a new instance of the class. The graphics device. The width and height of a texture cube face in pixels. to generate a full mipmap chain; otherwise . The preferred format of the surface. The preferred format of the depth-stencil buffer. Initializes a new instance of the class. The graphics device. The width and height of a texture cube face in pixels. to generate a full mipmap chain; otherwise . The preferred format of the surface. The preferred format of the depth-stencil buffer. The preferred number of multisample locations. The usage mode of the render target. Gets the depth-stencil buffer format of this render target. The format of the depth-stencil buffer. Gets the number of multisample locations. The number of multisample locations. Gets the usage mode of this render target. The usage mode of the render target. Defines if the previous content in a render target is preserved when it set on the graphics device. The render target content will not be preserved. The render target content will be preserved even if it is slow or requires extra memory. The render target content might be preserved if the platform can do so without a penalty in performance or memory usage. The newly created resource object. The name of the destroyed resource. The resource manager tag of the destroyed resource. Mark all the sampler slots as dirty. Defines how vertex or index buffer data will be flushed during a SetData operation. The SetData can overwrite the portions of existing data. The SetData will discard the entire buffer. A pointer to a new memory area is returned and rendering from the previous area do not stall. The SetData operation will not overwrite existing data. This allows the driver to return immediately from a SetData operation and continue rendering. Returns the platform specific shader profile identifier. A hash value which can be used to compare shaders. Helper class for drawing text strings and sprites in one or more optimized batches. Constructs a . The , which will be used for sprite rendering. Thrown when is null. Begins a new sprite and text batch with the specified render state. The drawing order for sprite and text drawing. by default. State of the blending. Uses if null. State of the sampler. Uses if null. State of the depth-stencil buffer. Uses if null. State of the rasterization. Uses if null. A custom to override the default sprite effect. Uses default sprite effect if null. An optional matrix used to transform the sprite geometry. Uses if null. Thrown if is called next time without previous . This method uses optional parameters. The Begin should be called before drawing commands, and you cannot call it again before subsequent . Flushes all batched text and sprites to the screen. This command should be called after and drawing commands. Submit a sprite for drawing in the current batch. A texture. The drawing location on screen or null if is used. The drawing bounds on screen or null if is used. An optional region on the texture which will be rendered. If null - draws full texture. An optional center of rotation. Uses if null. An optional rotation of this sprite. 0 by default. An optional scale vector. Uses if null. An optional color mask. Uses if null. The optional drawing modificators. by default. An optional depth of the layer of this sprite. 0 by default. Throwns if both and been used. This overload uses optional parameters. This overload requires only one of and been used. Submit a sprite for drawing in the current batch. A texture. The drawing location on screen. An optional region on the texture which will be rendered. If null - draws full texture. A color mask. A rotation of this sprite. Center of the rotation. 0,0 by default. A scaling of this sprite. Modificators for drawing. Can be combined. A depth of the layer of this sprite. Submit a sprite for drawing in the current batch. A texture. The drawing location on screen. An optional region on the texture which will be rendered. If null - draws full texture. A color mask. A rotation of this sprite. Center of the rotation. 0,0 by default. A scaling of this sprite. Modificators for drawing. Can be combined. A depth of the layer of this sprite. Submit a sprite for drawing in the current batch. A texture. The drawing bounds on screen. An optional region on the texture which will be rendered. If null - draws full texture. A color mask. A rotation of this sprite. Center of the rotation. 0,0 by default. Modificators for drawing. Can be combined. A depth of the layer of this sprite. Submit a sprite for drawing in the current batch. A texture. The drawing location on screen. An optional region on the texture which will be rendered. If null - draws full texture. A color mask. Submit a sprite for drawing in the current batch. A texture. The drawing bounds on screen. An optional region on the texture which will be rendered. If null - draws full texture. A color mask. Submit a sprite for drawing in the current batch. A texture. The drawing location on screen. A color mask. Submit a sprite for drawing in the current batch. A texture. The drawing bounds on screen. A color mask. Submit a text string of sprites for drawing in the current batch. A font. The text which will be drawn. The drawing location on screen. A color mask. Submit a text string of sprites for drawing in the current batch. A font. The text which will be drawn. The drawing location on screen. A color mask. A rotation of this string. Center of the rotation. 0,0 by default. A scaling of this string. Modificators for drawing. Can be combined. A depth of the layer of this string. Submit a text string of sprites for drawing in the current batch. A font. The text which will be drawn. The drawing location on screen. A color mask. A rotation of this string. Center of the rotation. 0,0 by default. A scaling of this string. Modificators for drawing. Can be combined. A depth of the layer of this string. Submit a text string of sprites for drawing in the current batch. A font. The text which will be drawn. The drawing location on screen. A color mask. Submit a text string of sprites for drawing in the current batch. A font. The text which will be drawn. The drawing location on screen. A color mask. A rotation of this string. Center of the rotation. 0,0 by default. A scaling of this string. Modificators for drawing. Can be combined. A depth of the layer of this string. Submit a text string of sprites for drawing in the current batch. A font. The text which will be drawn. The drawing location on screen. A color mask. A rotation of this string. Center of the rotation. 0,0 by default. A scaling of this string. Modificators for drawing. Can be combined. A depth of the layer of this string. Immediately releases the unmanaged resources used by this object. true to release both managed and unmanaged resources; false to release only unmanaged resources. This class handles the queueing of batch items into the GPU by creating the triangle tesselations that are used to draw the sprite textures. This class supports int.MaxValue number of sprites to be batched and will process them into short.MaxValue groups (strided by 6 for the number of vertices sent to the GPU). Initialization size for the batch item list and queue. The maximum number of batch items that can be processed per iteration Initialization size for the vertex array, in batch units. The list of batch items to process. Index pointer to the next available SpriteBatchItem in _batchItemList. The target graphics device. Vertex index array. The values in this array never change. Reuse a previously allocated SpriteBatchItem from the item pool. if there is none available grow the pool and initialize new items. Resize and recreate the missing indices for the index and vertex position color buffers. Sorts the batch items and then groups batch drawing into maximal allowed batch sets that do not overflow the 16 bit array indices for vertices. The type of depth sorting desired for the rendering. The custom effect to apply to the drawn geometry Sends the triangle list to the graphics device. Here is where the actual drawing starts. Start index of vertices to draw. Not used except to compute the count of vertices to draw. End index of vertices to draw. Not used except to compute the count of vertices to draw. The custom effect to apply to the geometry The texture to draw. Defines sprite visual options for mirroring. No options specified. Render the sprite reversed along the X axis. Render the sprite reversed along the Y axis. Initializes a new instance of the class. The font texture. The rectangles in the font texture containing letters. The cropping rectangles, which are applied to the corresponding glyphBounds to calculate the bounds of the actual character. The characters. The line spacing (the distance from baseline to baseline) of the font. The spacing (tracking) between characters in the font. The letters kernings(X - left side bearing, Y - width and Z - right side bearing). The character that will be substituted when a given character is not included in the font. Returns a copy of the dictionary containing the glyphs in this SpriteFont. A new Dictionary containing all of the glyphs inthis SpriteFont Can be used to calculate character bounds when implementing custom SpriteFont rendering. Returns the size of a string when rendered in this font. The text to measure. The size, in pixels, of 'text' when rendered in this font. Returns the size of the contents of a StringBuilder when rendered in this font. The text to measure. The size, in pixels, of 'text' when rendered in this font. All the glyphs in this SpriteFont. Gets the texture that this SpriteFont draws from. Can be used to implement custom rendering of a SpriteFont Gets a collection of the characters in the font. Gets or sets the character that will be substituted when a given character is not included in the font. Gets or sets the line spacing (the distance from baseline to baseline) of the font. Gets or sets the spacing (tracking) between characters in the font. Struct that defines the spacing, Kerning, and bounds of a character. Provides the data necessary to implement custom SpriteFont rendering. The char associated with this glyph. Rectangle in the font texture where this letter exists. Cropping applied to the BoundsInTexture to calculate the bounds of the actual character. The amount of space between the left side ofthe character and its first pixel in the X dimention. The amount of space between the right side of the character and its last pixel in the X dimention. Width of the character before kerning is applied. Width of the character before kerning is applied. Defines sprite sort rendering options. All sprites are drawing when invokes, in order of draw call sequence. Depth is ignored. Each sprite is drawing at individual draw call, instead of . Depth is ignored. Same as , except sprites are sorted by texture prior to drawing. Depth is ignored. Same as , except sprites are sorted by depth in back-to-front order prior to drawing. Same as , except sprites are sorted by depth in front-to-back order prior to drawing. Defines a blend mode. Each component of the color is multiplied by {1, 1, 1, 1}. Each component of the color is multiplied by {0, 0, 0, 0}. Each component of the color is multiplied by the source color. {Rs, Gs, Bs, As}, where Rs, Gs, Bs, As are color source values. Each component of the color is multiplied by the inverse of the source color. {1 − Rs, 1 − Gs, 1 − Bs, 1 − As}, where Rs, Gs, Bs, As are color source values. Each component of the color is multiplied by the alpha value of the source. {As, As, As, As}, where As is the source alpha value. Each component of the color is multiplied by the inverse of the alpha value of the source. {1 − As, 1 − As, 1 − As, 1 − As}, where As is the source alpha value. Each component color is multiplied by the destination color. {Rd, Gd, Bd, Ad}, where Rd, Gd, Bd, Ad are color destination values. Each component of the color is multiplied by the inversed destination color. {1 − Rd, 1 − Gd, 1 − Bd, 1 − Ad}, where Rd, Gd, Bd, Ad are color destination values. Each component of the color is multiplied by the alpha value of the destination. {Ad, Ad, Ad, Ad}, where Ad is the destination alpha value. Each component of the color is multiplied by the inversed alpha value of the destination. {1 − Ad, 1 − Ad, 1 − Ad, 1 − Ad}, where Ad is the destination alpha value. Each component of the color is multiplied by a constant in the . Each component of the color is multiplied by a inversed constant in the . Each component of the color is multiplied by either the alpha of the source color, or the inverse of the alpha of the source color, whichever is greater. {f, f, f, 1}, where f = min(As, 1 − As), where As is the source alpha value. Defines a function for color blending. The function will adds destination to the source. (srcColor * srcBlend) + (destColor * destBlend) The function will subtracts destination from source. (srcColor * srcBlend) − (destColor * destBlend) The function will subtracts source from destination. (destColor * destBlend) - (srcColor * srcBlend) The function will extracts minimum of the source and destination. min((srcColor * srcBlend),(destColor * destBlend)) The function will extracts maximum of the source and destination. max((srcColor * srcBlend),(destColor * destBlend)) Returns the target specific blend state. The 0 to 3 target blend state index. A target blend state. The color used as blend factor when alpha blending. is set to this value when this is bound to a GraphicsDevice. Enables use of the per-target blend states. The comparison function used for depth, stencil, and alpha tests. Always passes the test. Never passes the test. Passes the test when the new pixel value is less than current pixel value. Passes the test when the new pixel value is less than or equal to current pixel value. Passes the test when the new pixel value is equal to current pixel value. Passes the test when the new pixel value is greater than or equal to current pixel value. Passes the test when the new pixel value is greater than current pixel value. Passes the test when the new pixel value does not equal to current pixel value. Defines a culling mode for faces in rasterization process. Do not cull faces. Cull faces with clockwise order. Cull faces with counter clockwise order. Defines formats for depth-stencil buffer. Depth-stencil buffer will not be created. 16-bit depth buffer. 24-bit depth buffer. Equivalent of for DirectX platforms. 32-bit depth-stencil buffer. Where 24-bit depth and 8-bit for stencil used. Defines options for filling the primitive. Draw solid faces for each primitive. Draw lines for each primitive. When using comparison sampling, also set to . Defines stencil buffer operations. Does not update the stencil buffer entry. Sets the stencil buffer entry to 0. Replaces the stencil buffer entry with a reference value. Increments the stencil buffer entry, wrapping to 0 if the new value exceeds the maximum value. Decrements the stencil buffer entry, wrapping to the maximum value if the new value is less than 0. Increments the stencil buffer entry, clamping to the maximum value. Decrements the stencil buffer entry, clamping to 0. Inverts the bits in the stencil buffer entry. Defines modes for addressing texels using texture coordinates that are outside of the range of 0.0 to 1.0. Texels outside range will form the tile at every integer junction. Texels outside range will be set to color of 0.0 or 1.0 texel. Same as but tiles will also flipped at every integer junction. Texels outside range will be set to the border color. Defines filtering types for texture sampler. Use linear filtering. Use point filtering. Use anisotropic filtering. Use linear filtering to shrink or expand, and point filtering between mipmap levels (mip). Use point filtering to shrink (minify) or expand (magnify), and linear filtering between mipmap levels. Use linear filtering to shrink, point filtering to expand, and linear filtering between mipmap levels. Use linear filtering to shrink, point filtering to expand, and point filtering between mipmap levels. Use point filtering to shrink, linear filtering to expand, and linear filtering between mipmap levels. Use point filtering to shrink, linear filtering to expand, and point filtering between mipmap levels. Filtering modes for texture samplers. Defines types of surface formats. Unsigned 32-bit ARGB pixel format for store 8 bits per channel. Unsigned 16-bit BGR pixel format for store 5 bits for blue, 6 bits for green, and 5 bits for red. Unsigned 16-bit BGRA pixel format where 5 bits reserved for each color and last bit is reserved for alpha. Unsigned 16-bit BGRA pixel format for store 4 bits per channel. DXT1. Texture format with compression. Surface dimensions must be a multiple 4. DXT3. Texture format with compression. Surface dimensions must be a multiple 4. DXT5. Texture format with compression. Surface dimensions must be a multiple 4. Signed 16-bit bump-map format for store 8 bits for u and v data. Signed 32-bit bump-map format for store 8 bits per channel. Unsigned 32-bit RGBA pixel format for store 10 bits for each color and 2 bits for alpha. Unsigned 32-bit RG pixel format using 16 bits per channel. Unsigned 64-bit RGBA pixel format using 16 bits per channel. Unsigned A 8-bit format for store 8 bits to alpha channel. IEEE 32-bit R float format for store 32 bits to red channel. IEEE 64-bit RG float format for store 32 bits per channel. IEEE 128-bit RGBA float format for store 32 bits per channel. Float 16-bit R format for store 16 bits to red channel. Float 32-bit RG format for store 16 bits per channel. Float 64-bit ARGB format for store 16 bits per channel. Float pixel format for high dynamic range data. For compatibility with WPF D3DImage. For compatibility with WPF D3DImage. Unsigned 32-bit RGBA sRGB pixel format that supports 8 bits per channel. Unsigned 32-bit sRGB pixel format that supports 8 bits per channel. 8 bits are unused. Unsigned 32-bit sRGB pixel format that supports 8 bits per channel. DXT1. sRGB texture format with compression. Surface dimensions must be a multiple of 4. DXT3. sRGB texture format with compression. Surface dimensions must be a multiple of 4. DXT5. sRGB texture format with compression. Surface dimensions must be a multiple of 4. PowerVR texture compression format (iOS and Android). PowerVR texture compression format (iOS and Android). PowerVR texture compression format (iOS and Android). PowerVR texture compression format (iOS and Android). Ericcson Texture Compression (Android) DXT1 version where 1-bit alpha is used. ATC/ATITC compression (Android) ATC/ATITC compression (Android) A swap chain used for rendering to a secondary GameWindow. This is an extension and not part of stock XNA. It is currently implemented for Windows and DirectX only. Displays the contents of the active back buffer to the screen. Marks all texture slots as dirty. A usage hint for optimizing memory placement of graphics buffers. No special usage. The buffer will not be readable and will be optimized for rendering and writing. Gets the relevant IndexElementSize enum value for the given type. The graphics device. The type to use for the index buffer The IndexElementSize enum value that matches the type The GraphicsDevice is resetting, so GPU resources must be recreated. Special offset used internally by GraphicsDevice.DrawUserXXX() methods. The GraphicsDevice is resetting, so GPU resources must be recreated. Get the vertex data froom this VertexBuffer. The struct you want to fill. The offset to the first element in the vertex buffer in bytes. An array of T's to be filled. The index to start filling the data array. The number of T's to get. The size of how a vertex buffer element should be interpreted. Note that this pulls data from VRAM into main memory and because of that is a very expensive operation. It is often a better idea to keep a copy of the data in main memory.

Using this operation it is easy to get certain vertex elements from a VertexBuffer.

For example to get the texture coordinates from a VertexBuffer of you can call GetData(4 * 3, data, elementCount, 20). 'data'should be an array of in this example. The offsetInBytes is the number of bytes taken up by the of the vertex. For vertexStride we pass the size of a .

Sets the vertex buffer data, specifying the index at which to start copying from the source data array, the number of elements to copy from the source data array, and how far apart elements from the source data array should be when they are copied into the vertex buffer. Type of elements in the data array. Offset in bytes from the beginning of the vertex buffer to the start of the copied data. Data array. Index at which to start copying from . Must be within the array bounds. Number of elements to copy from . The combination of and must be within the array bounds. Specifies how far apart, in bytes, elements from should be when they are copied into the vertex buffer. In almost all cases this should be sizeof(T), to create a tightly-packed vertex buffer. If you specify sizeof(T), elements from will be copied into the vertex buffer with no padding between each element. If you specify a value greater than sizeof(T), elements from will be copied into the vertex buffer with padding between each element. If you specify 0 for this parameter, it will be treated as if you had specified sizeof(T). With the exception of 0, you must specify a value greater than or equal to sizeof(T). If T is VertexPositionTexture, but you want to set only the position component of the vertex data, you would call this method as follows: Vector3[] positions = new Vector3[numVertices]; vertexBuffer.SetData(0, positions, 0, numVertices, vertexBuffer.VertexDeclaration.VertexStride); Continuing from the previous example, if you want to set only the texture coordinate component of the vertex data, you would call this method as follows (note the use of : Vector2[] texCoords = new Vector2[numVertices]; vertexBuffer.SetData(12, texCoords, 0, numVertices, vertexBuffer.VertexDeclaration.VertexStride); If you provide a byte[] in the parameter, then you should almost certainly set to 1, to avoid leaving any padding between the byte values when they are copied into the vertex buffer. Sets the vertex buffer data, specifying the index at which to start copying from the source data array, and the number of elements to copy from the source data array. This is the same as calling with offsetInBytes equal to 0, and vertexStride equal to sizeof(T). Type of elements in the data array. Data array. Index at which to start copying from . Must be within the array bounds. Number of elements to copy from . The combination of and must be within the array bounds. Sets the vertex buffer data. This is the same as calling with offsetInBytes and startIndex equal to 0, elementCount equal to data.Length, and vertexStride equal to sizeof(T). Type of elements in the data array. Data array. Special offset used internally by GraphicsDevice.DrawUserXXX() methods. Immutable version of . Can be used as a key in the . Stores the vertex layout (input elements) for the input assembler stage. In the DirectX version the input layouts are cached in a dictionary. The is used as the key in the dictionary and therefore needs to implement . Two instance are considered equal if the vertex layouts are structurally identical. Initializes a new instance of the class. The maximum number of vertex buffer slots. Initializes a new instance of the class. The array for storing vertex declarations. The array for storing instance frequencies. The number of used slots. Determines whether the specified is equal to this instance. The object to compare with the current object. if the specified is equal to this instance; otherwise, . Determines whether the specified is equal to this instance. The object to compare with the current object. if the specified is equal to this instance; otherwise, . Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Compares two instances to determine whether they are the same. The first instance. The second instance. if the and are the same; otherwise, . Compares two instances to determine whether they are different. The first instance. The second instance. if the and are the different; otherwise, . Gets or sets the number of used input slots. The number of used input slots. Initializes a new instance of the class. The vertex declarations per resource slot. The instance frequencies per resource slot. The specified arrays are stored internally - the arrays are not copied. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Defines size for index in and . 16-bit short/ushort value been used. 32-bit int/uint value been used. Caches DirectX input layouts for the input assembler stage. Initializes a new instance of the class. The graphics device. The byte code of the vertex shader. Releases all resources used by an instance of the class. This method calls the virtual method, passing in , and then suppresses finalization of the instance. Releases the unmanaged resources used by an instance of the class and optionally releases the managed resources. to release both managed and unmanaged resources; to release only unmanaged resources. Gets or create the DirectX input layout for the specified vertex buffers. The vertex buffers. The DirectX input layout. Gets a more helpful message for the SharpDX invalid arg error. The input elements. The exception message. Defines how vertex data is ordered. Renders the specified vertices as a sequence of isolated triangles. Each group of three vertices defines a separate triangle. Back-face culling is affected by the current winding-order render state. Renders the vertices as a triangle strip. The back-face culling flag is flipped automatically on even-numbered triangles. Renders the vertices as a list of isolated straight line segments; the count may be any positive integer. Renders the vertices as a single polyline; the count may be any positive integer. Defines how a vertex buffer is bound to the graphics device for rendering. Creates an instance of . The vertex buffer to bind. Creates an instance of . The vertex buffer to bind. The index of the first vertex in the vertex buffer to use. Creates an instance of VertexBufferBinding. The vertex buffer to bind. The index of the first vertex in the vertex buffer to use. The number of instances to draw using the same per-instance data before advancing in the buffer by one element. This value must be 0 for an element that contains per-vertex data and greater than 0 for per-instance data. is . or is invalid. Gets the vertex buffer. The vertex buffer. Gets the index of the first vertex in the vertex buffer to use. The index of the first vertex in the vertex buffer to use. Gets the number of instances to draw using the same per-instance data before advancing in the buffer by one element. The number of instances to draw using the same per-instance data before advancing in the buffer by one element. This value must be 0 for an element that contains per-vertex data and greater than 0 for per-instance data. Stores the vertex buffers to be bound to the input assembler stage. Initializes a new instance of the class. The maximum number of vertex buffer slots. Clears the vertex buffer slots. if the input layout was changed; otherwise, . Binds the specified vertex buffer to the first input slot. The vertex buffer. The offset (in vertices) from the beginning of the vertex buffer to the first vertex to use. if the input layout was changed; otherwise, . Binds the the specified vertex buffers to the input slots. The vertex buffer bindings. if the input layout was changed; otherwise, . Gets vertex buffer bound to the specified input slots. The vertex buffer binding. Gets vertex buffers bound to the input slots. The vertex buffer bindings. Creates an that can be used as a key in the . The . Helper class which ensures we only lookup a vertex declaration for a particular type once. A vertex structure which implements IVertexType. Defines per-vertex data of a vertex buffer. implements and can be used as a key in a dictionary. Two vertex declarations are considered equal if the vertices are structurally equivalent, i.e. the vertex elements and the vertex stride are identical. (The properties and are ignored in and !) Initializes a new instance of the class. The vertex elements. is or empty. Initializes a new instance of the class. The size of a vertex (including padding) in bytes. The vertex elements. is or empty. Returns the VertexDeclaration for Type. A value type which implements the IVertexType interface. The VertexDeclaration. Prefer to use VertexDeclarationCache when the declaration lookup can be performed with a templated type. Gets a copy of the vertex elements. A copy of the vertex elements. Determines whether the specified is equal to this instance. The object to compare with the current object. if the specified is equal to this instance; otherwise, . Determines whether the specified is equal to this instance. The object to compare with the current object. if the specified is equal to this instance; otherwise, . Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Compares two instances to determine whether they are the same. The first instance. The second instance. if the and are the same; otherwise, . Compares two instances to determine whether they are different. The first instance. The second instance. if the and are the different; otherwise, . Gets the internal vertex elements array. The internal vertex elements array. Gets the size of a vertex (including padding) in bytes. The size of a vertex (including padding) in bytes. Defines a single element in a vertex. Initializes a new instance of the struct. The offset in bytes from the beginning of the stream to the vertex element. The element format. The HLSL semantic of the element in the vertex shader input-signature. The semantic index, which is required if the semantic is used for more than one vertex element. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Returns a that represents this instance. A that represents this instance. Determines whether the specified is equal to this instance. The object to compare with the current object. if the specified is equal to this instance; otherwise, . Determines whether the specified is equal to this instance. The object to compare with the current object. if the specified is equal to this instance; otherwise, . Compares two instances to determine whether they are the same. The first instance. The second instance. if the and are the same; otherwise, . Compares two instances to determine whether they are different. The first instance. The second instance. if the and are the different; otherwise, . Gets the DirectX . The input resource slot. The number of instances to draw using the same per-instance data before advancing in the buffer by one element. This value must be 0 for an element that contains per-vertex data. . Unknown vertex element format or usage! Gets or sets the offset in bytes from the beginning of the stream to the vertex element. The offset in bytes. Gets or sets the data format. The data format. Gets or sets the HLSL semantic of the element in the vertex shader input. The HLSL semantic of the element in the vertex shader input. Gets or sets the semantic index. The semantic index, which is required if the semantic is used for more than one vertex element. Usage indices in a vertex declaration usually start with 0. When multiple vertex buffers are bound to the input assembler stage (see ), MonoGame internally adjusts the usage indices based on the order in which the vertex buffers are bound. Defines vertex element formats. Single 32-bit floating point number. Two component 32-bit floating point number. Three component 32-bit floating point number. Four component 32-bit floating point number. Four component, packed unsigned byte, mapped to 0 to 1 range. Four component unsigned byte. Two component signed 16-bit integer. Four component signed 16-bit integer. Normalized, two component signed 16-bit integer. Normalized, four component signed 16-bit integer. Two component 16-bit floating point number. Four component 16-bit floating point number. Defines usage for vertex elements. Position data. Color data. Texture coordinate data or can be used for user-defined data. Normal data. Binormal data. Tangent data. Blending indices data. Blending weight data. Depth data. Fog data. Point size data. Usable for drawing point sprites. Sampler data for specifies the displacement value to look up. Single, positive float value, specifies a tessellation factor used in the tessellation unit to control the rate of tessellation. Describes the view bounds for render-target surface. Constructs a viewport from the given values. The will be 0.0 and will be 1.0. The x coordinate of the upper-left corner of the view bounds in pixels. The y coordinate of the upper-left corner of the view bounds in pixels. The width of the view bounds in pixels. The height of the view bounds in pixels. Constructs a viewport from the given values. The x coordinate of the upper-left corner of the view bounds in pixels. The y coordinate of the upper-left corner of the view bounds in pixels. The width of the view bounds in pixels. The height of the view bounds in pixels. The lower limit of depth. The upper limit of depth. Creates a new instance of struct. A that defines the location and size of the in a render target. Projects a from world space into screen space. The to project. The projection . The view . The world . Unprojects a from screen space into world space. Note source.Z must be less than or equal to MaxDepth. The to unproject. The projection . The view . The world . Returns a representation of this in the format: {X:[] Y:[] Width:[] Height:[] MinDepth:[] MaxDepth:[]} A representation of this . The height of the bounds in pixels. The upper limit of depth of this viewport. The lower limit of depth of this viewport. The width of the bounds in pixels. The y coordinate of the beginning of this viewport. The x coordinate of the beginning of this viewport. Gets the aspect ratio of this , which is width / height. Gets or sets a boundary of this . Returns the subset of the viewport that is guaranteed to be visible on a lower quality display. Defines the buttons on gamepad. Directional pad up. Directional pad down. Directional pad left. Directional pad right. START button. BACK button. Left stick button (pressing the left stick). Right stick button (pressing the right stick). Left bumper (shoulder) button. Right bumper (shoulder) button. Big button. A button. B button. X button. Y button. Left stick is towards the left. Right trigger. Left trigger. Right stick is towards up. Right stick is towards down. Right stick is towards the right. Right stick is towards the left. Left stick is towards up. Left stick is towards down. Left stick is towards the right. Defines a button state for buttons of mouse, gamepad or joystick. The button is released. The button is pressed. Supports querying the game controllers and setting the vibration motors. Returns the capabilites of the connected controller. Player index for the controller you want to query. The capabilites of the controller. Returns the capabilites of the connected controller. Index for the controller you want to query. The capabilites of the controller. Gets the current state of a game pad controller with an independent axes dead zone. Player index for the controller you want to query. The state of the controller. Gets the current state of a game pad controller with an independent axes dead zone. Index for the controller you want to query. The state of the controller. Gets the current state of a game pad controller, using a specified dead zone on analog stick positions. Player index for the controller you want to query. Enumerated value that specifies what dead zone type to use. The state of the controller. Gets the current state of a game pad controller, using a specified dead zone on analog stick positions. Index for the controller you want to query. Enumerated value that specifies what dead zone type to use. The state of the controller. Gets the current state of a game pad controller, using a specified dead zone on analog stick positions. Player index for the controller you want to query. Enumerated value that specifies what dead zone type to use for the left stick. Enumerated value that specifies what dead zone type to use for the right stick. The state of the controller. Gets the current state of a game pad controller, using a specified dead zone on analog stick positions. Index for the controller you want to query. Enumerated value that specifies what dead zone type to use for the left stick. Enumerated value that specifies what dead zone type to use for the right stick. The state of the controller. Sets the vibration motor speeds on the controller device if supported. Player index that identifies the controller to set. The speed of the left motor, between 0.0 and 1.0. This motor is a low-frequency motor. The speed of the right motor, between 0.0 and 1.0. This motor is a high-frequency motor. Returns true if the vibration motors were set. Sets the vibration motor speeds on the controller device if supported. Index for the controller you want to query. The speed of the left motor, between 0.0 and 1.0. This motor is a low-frequency motor. The speed of the right motor, between 0.0 and 1.0. This motor is a high-frequency motor. Returns true if the vibration motors were set. The maximum number of game pads supported on this system. Attempting to access a gamepad index higher than this number will result in an being thrown by the API. A struct that represents the current button states for the controller. Determines whether two specified instances of are equal. The first object to compare. The second object to compare. true if and are equal; otherwise, false. Determines whether two specified instances of are not equal. The first object to compare. The second object to compare. true if and are not equal; otherwise, false. Returns a value indicating whether this instance is equal to a specified object. An object to compare to this instance. true if is a and has the same value as this instance; otherwise, false. Serves as a hash function for a object. A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a hash table. Returns a that represents the current . A that represents the current . Gets a value indicating if the button A is pressed. if the button A is pressed; otherwise, . Gets a value indicating if the button B is pressed. if the button B is pressed; otherwise, . Gets a value indicating if the button Back is pressed. if the button Back is pressed; otherwise, . Gets a value indicating if the button X is pressed. if the button X is pressed; otherwise, . Gets a value indicating if the button Y is pressed. if the button Y is pressed; otherwise, . Gets a value indicating if the button Start is pressed. if the button Start is pressed; otherwise, . Gets a value indicating if the left shoulder button is pressed. if the left shoulder button is pressed; otherwise, . Gets a value indicating if the left stick button is pressed. if the left stick button is pressed; otherwise, . Gets a value indicating if the right shoulder button is pressed. if the right shoulder button is pressed; otherwise, . Gets a value indicating if the right stick button is pressed. if the right stick button is pressed; otherwise, . Gets a value indicating if the guide button is pressed. if the guide button is pressed; otherwise, . A stuct that represents the controller capabilities. Determines whether a specified instance of is equal to another specified . The first to compare. The second to compare. true if left and right are equal; otherwise, false. Determines whether a specified instance of is not equal to another specified . The first to compare. The second to compare. true if left and right are not equal; otherwise, false. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Serves as a hash function for a object. A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a hash table. Returns a that represents the current . A that represents the current . Gets a value indicating if the controller is connected. true if it is connected; otherwise, false. Gets the gamepad display name. This property is not available in XNA. String representing the display name of the gamepad. Gets the unique identifier of the gamepad. This property is not available in XNA. String representing the unique identifier of the gamepad. Gets a value indicating whether the controller has the button A. true if it has the button A; otherwise, false. Gets a value indicating whether the controller has the button Back. true if it has the button Back; otherwise, false. Gets a value indicating whether the controller has the button B. true if it has the button B; otherwise, false. Gets a value indicating whether the controller has the directional pad down button. true if it has the directional pad down button; otherwise, false. Gets a value indicating whether the controller has the directional pad left button. true if it has the directional pad left button; otherwise, false. Gets a value indicating whether the controller has the directional pad right button. true if it has the directional pad right button; otherwise, false. Gets a value indicating whether the controller has the directional pad up button. true if it has the directional pad up button; otherwise, false. Gets a value indicating whether the controller has the left shoulder button. true if it has the left shoulder button; otherwise, false. Gets a value indicating whether the controller has the left stick button. true if it has the left stick button; otherwise, false. Gets a value indicating whether the controller has the right shoulder button. true if it has the right shoulder button; otherwise, false. Gets a value indicating whether the controller has the right stick button. true if it has the right stick button; otherwise, false. Gets a value indicating whether the controller has the button Start. true if it has the button Start; otherwise, false. Gets a value indicating whether the controller has the button X. true if it has the button X; otherwise, false. Gets a value indicating whether the controller has the button Y. true if it has the button Y; otherwise, false. Gets a value indicating whether the controller has the guide button. true if it has the guide button; otherwise, false. Gets a value indicating whether the controller has X axis for the left stick (thumbstick) button. true if it has X axis for the left stick (thumbstick) button; otherwise, false. Gets a value indicating whether the controller has Y axis for the left stick (thumbstick) button. true if it has Y axis for the left stick (thumbstick) button; otherwise, false. Gets a value indicating whether the controller has X axis for the right stick (thumbstick) button. true if it has X axis for the right stick (thumbstick) button; otherwise, false. Gets a value indicating whether the controller has Y axis for the right stick (thumbstick) button. true if it has Y axis for the right stick (thumbstick) button; otherwise, false. Gets a value indicating whether the controller has the left trigger button. true if it has the left trigger button; otherwise, false. Gets a value indicating whether the controller has the right trigger button. true if it has the right trigger button; otherwise, false. Gets a value indicating whether the controller has the left vibration motor. true if it has the left vibration motor; otherwise, false. Gets a value indicating whether the controller has the right vibration motor. true if it has the right vibration motor; otherwise, false. Gets a value indicating whether the controller has a microphone. true if it has a microphone; otherwise, false. Gets the type of the controller. A representing the controller type.. Specifies a type of dead zone processing to apply to Xbox 360 Controller analog sticks when calling GetState. The values of each stick are not processed and are returned by GetState as "raw" values. This is best if you intend to implement your own dead zone processing. The X and Y positions of each stick are compared against the dead zone independently. This setting is the default when calling GetState. The combined X and Y position of each stick is compared to the dead zone. This provides better control than IndependentAxes when the stick is used as a two-dimensional control surface, such as when controlling a character's view in a first-person game. Initializes a new instance of the struct. Current state of directional pad up. Current state of directional pad down. Current state of directional pad left. Current state of directional pad right. Determines whether two specified instances of are equal. The first object to compare. The second object to compare. true if and are equal; otherwise, false. Determines whether two specified instances of are not equal. The first object to compare. The second object to compare. true if and are not equal; otherwise, false. Returns a value indicating whether this instance is equal to a specified object. An object to compare to this instance. true if is a and has the same value as this instance; otherwise, false. Serves as a hash function for a object. A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a hash table. Returns a that represents the current in a format of 0000 where each number represents a boolean value of each respecting object property: Left, Up, Right, Down. A that represents the current . Gets a value indicating wethever down is pressed on the directional pad. if the down button is pressed; otherwise, . Gets a value indicating wethever left is pressed on the directional pad. if the left button is pressed; otherwise, . Gets a value indicating wethever right is pressed on the directional pad. if the right button is pressed; otherwise, . Gets a value indicating wethever up is pressed on the directional pad. if the up button is pressed; otherwise, . Represents specific information about the state of the controller, including the current state of buttons and sticks. This is implemented as a partial struct to allow for individual platforms to offer additional data without separate state queries to GamePad. The default initialized gamepad state. Initializes a new instance of the struct using the specified GamePadThumbSticks, GamePadTriggers, GamePadButtons, and GamePadDPad. Initial thumbstick state. Initial trigger state.. Initial button state. Initial directional pad state. Initializes a new instance of the struct using the specified stick, trigger, and button values. Left stick value. Each axis is clamped between −1.0 and 1.0. Right stick value. Each axis is clamped between −1.0 and 1.0. Left trigger value. This value is clamped between 0.0 and 1.0. Right trigger value. This value is clamped between 0.0 and 1.0. Button(s) to initialize as pressed. Initializes a new instance of the struct using the specified stick, trigger, and button values. Left stick value. Each axis is clamped between −1.0 and 1.0. Right stick value. Each axis is clamped between −1.0 and 1.0. Left trigger value. This value is clamped between 0.0 and 1.0. Right trigger value. This value is clamped between 0.0 and 1.0. Array of Buttons to initialize as pressed. Gets the button mask along with 'virtual buttons' like LeftThumbstickLeft. Determines whether specified input device buttons are pressed in this GamePadState. true, if button was pressed, false otherwise. Buttons to query. Specify a single button, or combine multiple buttons using a bitwise OR operation. Determines whether specified input device buttons are released (not pressed) in this GamePadState. true, if button was released (not pressed), false otherwise. Buttons to query. Specify a single button, or combine multiple buttons using a bitwise OR operation. Determines whether a specified instance of is equal to another specified . The first to compare. The second to compare. true if left and right are equal; otherwise, false. Determines whether a specified instance of is not equal to another specified . The first to compare. The second to compare. true if left and right are not equal; otherwise, false. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Serves as a hash function for a object. A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a hash table. Returns a that represents the current . A that represents the current . Gets a value indicating if the controller is connected. true if it is connected; otherwise, false. Gets the packet number associated with this state. The packet number. Gets a structure that identifies what buttons on the controller are pressed. The buttons structure. Gets a structure that identifies what directions of the directional pad on the controller are pressed. The directional pad structure. Gets a structure that indicates the position of the controller sticks (thumbsticks). The thumbsticks position. Gets a structure that identifies the position of triggers on the controller. Positions of the triggers. A struct that represents the current stick (thumbstick) states for the controller. Determines whether two specified instances of are equal. The first object to compare. The second object to compare. true if and are equal; otherwise, false. Determines whether two specified instances of are not equal. The first object to compare. The second object to compare. true if and are not equal; otherwise, false. Returns a value indicating whether this instance is equal to a specified object. An object to compare to this instance. true if is a and has the same value as this instance; otherwise, false. Serves as a hash function for a object. A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a hash table. Returns a that represents the current . A that represents the current . Gets a value indicating the position of the left stick (thumbstick). A indicating the current position of the left stick (thumbstick). Gets a value indicating the position of the right stick (thumbstick). A indicating the current position of the right stick (thumbstick). A struct that countains information on the left and the right trigger buttons. Initializes a new instance of the struct. The position of the left trigger, the value will get clamped between 0.0f and 1.0f. The position of the right trigger, the value will get clamped between 0.0f and 1.0f. Determines whether two specified instances of are equal. The first object to compare. The second object to compare. true if and are equal; otherwise, false. Determines whether two specified instances of are not equal. The first object to compare. The second object to compare. true if and are not equal; otherwise, false. Returns a value indicating whether this instance is equal to a specified object. An object to compare to this instance. true if is a and has the same value as this instance; otherwise, false. Serves as a hash function for a object. A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a hash table. Returns a that represents the current . A that represents the current . Gets the position of the left trigger. A value from 0.0f to 1.0f representing left trigger. Gets the position of the right trigger. A value from 0.0f to 1.0f representing right trigger. Defines a type of gamepad. Unknown. GamePad is the XBOX controller. GamePad is a wheel. GamePad is an arcade stick. GamePad is a flight stick. GamePad is a dance pad. GamePad is a guitar. GamePad is an alternate guitar. GamePad is a drum kit. GamePad is a big button pad. Allows interaction with joysticks. Unlike the number of Buttons/Axes/DPads is not limited. Gets the capabilites of the joystick. Index of the joystick you want to access. The capabilites of the joystick. Gets the current state of the joystick. Index of the joystick you want to access. The state of the joystick. Gets a value indicating whether the current platform supports reading raw joystick data. true if the current platform supports reading raw joystick data; otherwise, false. Describes joystick capabilities. Determines whether a specified instance of is equal to another specified . The first to compare. The second to compare. true if left and right are equal; otherwise, false. Determines whether a specified instance of is not equal to another specified . The first to compare. The second to compare. true if left and right are not equal; otherwise, false. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Serves as a hash function for a object. A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a hash table. Returns a that represents the current . A that represents the current . Gets a value indicating whether the joystick is connected. true if the joystick is connected; otherwise, false. Gets the unique identifier of the joystick. String representing the unique identifier of the joystick. Gets a value indicating if the joystick is a gamepad. true if the joystick is a gamepad; otherwise, false. Gets the axis count. The number of axes that the joystick possesses. Gets the button count. The number of buttons that the joystick possesses. Gets the hat count. The number of hats/dpads that the joystick possesses. Describes joystick hat state. Determines whether a specified instance of is equal to another specified . The first to compare. The second to compare. true if left and right are equal; otherwise, false. Determines whether a specified instance of is not equal to another specified . The first to compare. The second to compare. true if left and right are not equal; otherwise, false. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Serves as a hash function for a object. A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a hash table. Returns a that represents the current in a format of 0000 where each number represents a boolean value of each respecting object property: Left, Up, Right, Down. A that represents the current . Gets if joysticks hat "down" is pressed. if the button is pressed otherwise, . Gets if joysticks hat "left" is pressed. if the button is pressed otherwise, . Gets if joysticks hat "right" is pressed. if the button is pressed otherwise, . Gets if joysticks hat "up" is pressed. if the button is pressed otherwise, . Describes current joystick state. Determines whether a specified instance of is equal to another specified . The first to compare. The second to compare. true if left and right are equal; otherwise, false. Determines whether a specified instance of is not equal to another specified . The first to compare. The second to compare. true if left and right are not equal; otherwise, false. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Serves as a hash function for a object. A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a hash table. Returns a that represents the current . A that represents the current . Gets a value indicating whether the joystick is connected. true if the joystick is connected; otherwise, false. Gets the joystick axis values. An array list of ints that indicate axis values. Gets the joystick button values. An array list of ButtonState that indicate button values. Gets the joystick hat values. An array list of that indicate hat values. Allows getting keystrokes from keyboard. Returns the current keyboard state. Current keyboard state. Returns the current keyboard state for a given player. Player index of the keyboard. Current keyboard state. Displays the keyboard input interface asynchronously. Title of the dialog box. Description of the dialog box. Default text displayed in the input area. If password mode is enabled, the characters entered are not displayed. Text entered by the player. Null if back was used. Thrown when the message box is already visible var name = await KeyboardInput.Show("Name", "What's your name?", "Player"); Hides the keyboard input interface and returns the parameter as the result of Result to return Thrown when the keyboard input is not visible var nameTask = KeyboardInput.Show("Name", "What's your name?", "Player"); KeyboardInput.Cancel("John Doe"); var name = await nameTask; Holds the state of keystrokes by a keyboard. Initializes a new instance of the class. List of keys to be flagged as pressed on initialization. Caps Lock state. Num Lock state. Initializes a new instance of the class. List of keys to be flagged as pressed on initialization. Gets whether given key is currently being pressed. The key to query. true if the key is pressed; false otherwise. Gets whether given key is currently being not pressed. The key to query. true if the key is not pressed; false otherwise. Returns an array of values holding keys that are currently being pressed. The keys that are currently being pressed. Gets the hash code for instance. Hash code of the object. Compares whether two instances are equal. instance to the left of the equality operator. instance to the right of the equality operator. true if the instances are equal; false otherwise. Compares whether two instances are not equal. instance to the left of the inequality operator. instance to the right of the inequality operator. true if the instances are different; false otherwise. Compares whether current instance is equal to specified object. The to compare. true if the provided instance is same with current; false otherwise. Gets the current state of the Caps Lock key. Gets the current state of the Num Lock key. Returns the state of a specified key. The key to query. The state of the key. Defines the keys on a keyboard. Reserved. BACKSPACE key. TAB key. ENTER key. CAPS LOCK key. ESC key. SPACEBAR key. PAGE UP key. PAGE DOWN key. END key. HOME key. LEFT ARROW key. UP ARROW key. RIGHT ARROW key. DOWN ARROW key. SELECT key. PRINT key. EXECUTE key. PRINT SCREEN key. INS key. DEL key. HELP key. Used for miscellaneous characters; it can vary by keyboard. Used for miscellaneous characters; it can vary by keyboard. Used for miscellaneous characters; it can vary by keyboard. Used for miscellaneous characters; it can vary by keyboard. Used for miscellaneous characters; it can vary by keyboard. Used for miscellaneous characters; it can vary by keyboard. Used for miscellaneous characters; it can vary by keyboard. Used for miscellaneous characters; it can vary by keyboard. Used for miscellaneous characters; it can vary by keyboard. Used for miscellaneous characters; it can vary by keyboard. A key. B key. C key. D key. E key. F key. G key. H key. I key. J key. K key. L key. M key. N key. O key. P key. Q key. R key. S key. T key. U key. V key. W key. X key. Y key. Z key. Left Windows key. Right Windows key. Applications key. Computer Sleep key. Numeric keypad 0 key. Numeric keypad 1 key. Numeric keypad 2 key. Numeric keypad 3 key. Numeric keypad 4 key. Numeric keypad 5 key. Numeric keypad 6 key. Numeric keypad 7 key. Numeric keypad 8 key. Numeric keypad 9 key. Multiply key. Add key. Separator key. Subtract key. Decimal key. Divide key. F1 key. F2 key. F3 key. F4 key. F5 key. F6 key. F7 key. F8 key. F9 key. F10 key. F11 key. F12 key. F13 key. F14 key. F15 key. F16 key. F17 key. F18 key. F19 key. F20 key. F21 key. F22 key. F23 key. F24 key. NUM LOCK key. SCROLL LOCK key. Left SHIFT key. Right SHIFT key. Left CONTROL key. Right CONTROL key. Left ALT key. Right ALT key. Browser Back key. Browser Forward key. Browser Refresh key. Browser Stop key. Browser Search key. Browser Favorites key. Browser Start and Home key. Volume Mute key. Volume Down key. Volume Up key. Next Track key. Previous Track key. Stop Media key. Play/Pause Media key. Start Mail key. Select Media key. Start Application 1 key. Start Application 2 key. The OEM Semicolon key on a US standard keyboard. For any country/region, the '+' key. For any country/region, the ',' key. For any country/region, the '-' key. For any country/region, the '.' key. The OEM question mark key on a US standard keyboard. The OEM tilde key on a US standard keyboard. The OEM open bracket key on a US standard keyboard. The OEM pipe key on a US standard keyboard. The OEM close bracket key on a US standard keyboard. The OEM singled/double quote key on a US standard keyboard. Used for miscellaneous characters; it can vary by keyboard. The OEM angle bracket or backslash key on the RT 102 key keyboard. IME PROCESS key. Attn key. CrSel key. ExSel key. Erase EOF key. Play key. Zoom key. PA1 key. CLEAR key. Green ChatPad key. Orange ChatPad key. PAUSE key. IME Convert key. IME NoConvert key. Kana key on Japanese keyboards. Kanji key on Japanese keyboards. OEM Auto key. OEM Copy key. OEM Enlarge Window key. Identifies the state of a keyboard key. Key is released. Key is pressed. Displays the message box interface asynchronously. Title of the message box. Description of the message box. Captions of the message box buttons. Up to three supported. Index of button selected by the player. Null if back was used. Thrown when the message box is already visible var color = await MessageBox.Show("Color", "What's your favorite color?", new[] { "Red", "Green", "Blue" }); Hides the message box interface and returns the parameter as the result of Result to return Thrown when the message box is not visible var colorTask = MessageBox.Show("Color", "What's your favorite color?", new[] { "Red", "Green", "Blue" }); MessageBox.Cancel(0); var color = await colorTask; Allows reading position and button click information from mouse. This API is an extension to XNA. Gets mouse state information that includes position and button presses for the provided window Current state of the mouse. Gets mouse state information that includes position and button presses for the primary window Current state of the mouse. Sets mouse cursor's relative position to game-window. Relative horizontal position of the cursor. Relative vertical position of the cursor. Sets the cursor image to the specified MouseCursor. Mouse cursor to use for the cursor image. Gets or sets the window handle for current mouse processing. Describes a mouse cursor. Creates a mouse cursor from the specified texture. Texture to use as the cursor image. X cordinate of the image that will be used for mouse position. Y cordinate of the image that will be used for mouse position. Gets the default arrow cursor. Gets the cursor that appears when the mouse is over text editing regions. Gets the waiting cursor that appears while the application/system is busy. Gets the crosshair ("+") cursor. Gets the cross between Arrow and Wait cursors. Gets the northwest/southeast ("\") cursor. Gets the northeast/southwest ("/") cursor. Gets the horizontal west/east ("-") cursor. Gets the vertical north/south ("|") cursor. Gets the size all cursor which points in all directions. Gets the cursor that points that something is invalid, usually a cross. Gets the hand cursor, usually used for web links. Represents a mouse state with cursor position and button press information. Initializes a new instance of the MouseState. Horizontal position of the mouse in relation to the window. Vertical position of the mouse in relation to the window. Mouse scroll wheel's value. Left mouse button's state. Middle mouse button's state. Right mouse button's state. XBUTTON1's state. XBUTTON2's state. Normally should be used to get mouse current state. The constructor is provided for simulating mouse input. Initializes a new instance of the MouseState. Horizontal position of the mouse in relation to the window. Vertical position of the mouse in relation to the window. Mouse scroll wheel's value. Left mouse button's state. Middle mouse button's state. Right mouse button's state. XBUTTON1's state. XBUTTON2's state. Mouse horizontal scroll wheel's value. Normally should be used to get mouse current state. The constructor is provided for simulating mouse input. Compares whether two MouseState instances are equal. MouseState instance on the left of the equal sign. MouseState instance on the right of the equal sign. true if the instances are equal; false otherwise. Compares whether two MouseState instances are not equal. MouseState instance on the left of the equal sign. MouseState instance on the right of the equal sign. true if the objects are not equal; false otherwise. Compares whether current instance is equal to specified object. The MouseState to compare. Gets the hash code for MouseState instance. Hash code of the object. Gets horizontal position of the cursor in relation to the window. Gets vertical position of the cursor in relation to the window. Gets cursor position. Gets state of the left mouse button. Gets state of the middle mouse button. Gets state of the right mouse button. Returns cumulative scroll wheel value since the game start. Returns the cumulative horizontal scroll wheel value since the game start Gets state of the XButton1. Gets state of the XButton2. Represents data from a multi-touch gesture over a span of time. Initializes a new . Gets the type of the gesture. Gets the starting time for this multi-touch gesture sample. Gets the position of the first touch-point in the gesture sample. Gets the position of the second touch-point in the gesture sample. Gets the delta information for the first touch-point in the gesture sample. Gets the delta information for the second touch-point in the gesture sample. Enumuration of values that represent different gestures that can be processed by . No gestures. The user touched a single point. States completion of a drag gesture(VerticalDrag, HorizontalDrag, or FreeDrag). No position or delta information is available for this sample. States that a touch was combined with a quick swipe. Flicks does not contain position information. The velocity of it can be read from The use touched a point and then performed a free-form drag. The use touched a single point for approximately one second. As this is a single event, it will not be contionusly fired while the user is holding the touch-point. The user touched the screen and performed either left to right or right to left drag gesture. The user either converged or diverged two touch-points on the screen which is like a two-finger drag. When this gesture-type is enabled and two fingers are down, it takes precedence over drag gestures. An in-progress pinch operation was completed. No position or delta information is available for this sample. The user tapped the device twice which is always preceded by a Tap gesture. If the time between two touchs are long enough, insted two seperate single Tap gestures will be generated. The user touched the screen and performed either top to bottom or bottom to top drag gesture. Provides state information for a touch screen enabled device. Initializes a new instance of the with a pre-determined set of touch locations. Array of items to initialize with. Returns specified by ID. Returns the index of the first occurrence of specified item in the collection. to query. Inserts a item into the indicated position. The position to insert into. The item to insert. Removes the item at specified index. Index of the item that will be removed from collection. Adds a to the collection. The item to be added. Clears all the items in collection. Returns true if specified item exists in the collection, false otherwise./> The item to query for. Returns true if queried item is found, false otherwise. Copies the collection to specified array starting from the given index. The array to copy items. The starting index of the copy operation. Removes the specified item from the collection. The item to remove. Returns an enumerator for the . Enumerable list of objects. Returns an enumerator for the . Enumerable list of objects. Returns an enumerator for the . Enumerable list of objects. States if a touch screen is available. States if touch collection is read only. Gets or sets the item at the specified index of the collection. Position of the item. Returns the number of items that exist in the collection. Provides the ability to iterate through the TouchLocations in an TouchCollection. Advances the enumerator to the next element of the TouchCollection. Immediately releases the unmanaged resources used by this object. Gets the current element in the TouchCollection. Attributes True if this touch was pressed and released on the same frame. In this case we will keep it around for the user to get by GetState that frame. However if they do not call GetState that frame, this touch will be forgotten. Helper for assigning an invalid touch location. Returns a copy of the touch with the state changed to moved. The new touch location. Updates the touch location using the new event. The next event for this touch location. Holds the possible state information for a touch location.. This touch location position is invalid. Typically, you will encounter this state when a new touch location attempts to get the previous state of itself. This touch location position was updated or pressed at the same position. This touch location position is new. This touch location position was released. Allows retrieval of information from Touch Panel device. Gets the current state of the touch panel. Returns the next available gesture on touch panel device. The window handle of the touch panel. Purely for Xna compatibility. Gets or sets the display height of the touch panel. Gets or sets the display orientation of the touch panel. Gets or sets the display width of the touch panel. Gets or sets enabled gestures. Returns true if a touch gesture is available. Allows retrieval of capabilities information from touch panel device. Returns true if a device is available for use. Returns the maximum number of touch locations tracked by the touch panel device. The reserved touchId for all mouse touch points. Maximum distance a touch location can wiggle and not be considered to have moved. The current touch state. The current gesture state. The positional scale to apply to touch input. The current size of the display. The next touch location identifier. The value 1 is reserved for the mouse touch point. The mapping between platform specific touch ids and the touch ids we assign to touch locations. Returns capabilities of touch panel device. Age all the touches, so any that were Pressed become Moved, and any that were Released are removed Apply the given new touch to the state. If it is a Pressed it will be added as a new touch, otherwise we update the existing touch it matches This will release all touch locations. It should only be called on platforms where touch state is reset all at once. Returns the next available gesture on touch panel device. The pinch touch locations. If true the pinch touch locations are valid and a pinch gesture has begun. Used to disable emitting of tap gestures. Used to disable emitting of hold gestures. The current timestamp that we use for setting the timestamp of new TouchLocations The window handle of the touch panel. Purely for Xna compatibility. Gets or sets the display height of the touch panel. Gets or sets the display orientation of the touch panel. Gets or sets the display width of the touch panel. Gets or sets enabled gestures. Returns true if a touch gesture is available. Immediately releases the unmanaged resources used by this object. Returns the stream that contains the album art image data. Returns the stream that contains the album thumbnail image data. Returns a String representation of this Album. Gets the hash code for this instance. Gets the duration of the Album. Gets the Genre of the Album. Gets a value indicating whether the Album has associated album art. Gets a value indicating whether the object is disposed. Gets the name of the Album. Gets a SongCollection that contains the songs on the album. Immediately releases the unmanaged resources used by this object. Gets the number of Album objects in the AlbumCollection. Gets a value indicating whether the object is disposed. Gets the Album at the specified index in the AlbumCollection. Index of the Album to get. Immediately releases the unmanaged resources used by this object. Returns a String representation of the Artist. Gets the hash code for this instance. Gets the AlbumCollection for the Artist. Gets a value indicating whether the object is disposed. Gets the name of the Artist. Gets the SongCollection for the Artist. Immediately releases the unmanaged resources used by this object. Returns a String representation of the Genre. Gets the hash code for this instance. Gets the AlbumCollection for the Genre. Gets a value indicating whether the object is disposed. Gets the name of the Genre. Gets the SongCollection for the Genre. Load the contents of MediaLibrary. This blocking call might take up to a few minutes depending on the platform and the size of the user's music library. Callback that reports back the progress of the music library loading in percents (0-100). This class provides a way for the MediaManager to be initialised exactly once, regardless of how many different places need it, and which is called first. Ensures that the MediaManager has been initialised. Must be called from UI thread. Ensures that the MediaManager has been shutdown. Must be called from UI thread. Play clears the current playback queue, and then queues up the specified song for playback. Playback starts immediately at the beginning of the song. Play clears the current playback queue, and then queues up the specified song for playback. Playback starts immediately at the given position of the song. Returns a song that can be played via . The name for the song. See . The path to the song file. Gets the Album on which the Song appears. Gets the Artist of the Song. Gets the Genre of the Song. Type of sounds in a video This video contains only music. This video contains only dialog. This video contains music and dialog. Represents a video. I actually think this is a file PATH... Gets the duration of the Video. Gets the frame rate of this video. Gets the height of this video, in pixels. Gets the VideoSoundtrackType for this video. Gets the width of this video, in pixels. Retrieves a Texture2D containing the current frame of video being played. The current frame of video. Thrown if no video is set on the player Thrown if the platform was unable to get a texture in a reasonable amount of time. Often the platform specific media code is running in a different thread or process. Note: This may be a change from XNA behaviour Pauses the currently playing video. Plays a Video. Video to play. Resumes a paused video. Stops playing a video. Immediately releases the unmanaged resources used by this object. Gets a value that indicates whether the object is disposed. Gets a value that indicates whether the player is playing video in a loop. Gets or sets the muted setting for the video player. Gets the play position within the currently playing video. Gets the media playback state, MediaState. Gets the Video that is currently playing. Video player volume, from 0.0f (silence) to 1.0f (full volume relative to the current device volume). Compute a hash from a byte array. Modified FNV Hash in C# http://stackoverflow.com/a/468084 Compute a hash from the content of a stream and restore the position. Modified FNV Hash in C# http://stackoverflow.com/a/468084 Combines the filePath and relativeFile based on relativeFile being a file in the same location as filePath. Relative directory operators (..) are also resolved "A\B\C.txt","D.txt" becomes "A\B\D.txt" "A\B\C.txt","..\D.txt" becomes "A\D.txt" Path to the file we are starting from Relative location of another file to resolve the path to Returns the Assembly of a Type Returns true if the given type represents a non-object type that is not abstract. Returns true if the get method of the given property exist and are public. Note that we allow a getter-only property to be serialized (and deserialized), *if* CanDeserializeIntoExistingObject is true for the property type. Returns true if the given type can be assigned the given value Returns true if the given type can be assigned a value with the given object type Fallback handler for Marshal.SizeOf(type) Generics handler for Marshal.SizeOf Returns the current timer resolution in milliseconds Sleeps as long as possible without exceeding the specified period Represents a Zlib stream for compression or decompression. The ZlibStream is a Decorator on a . It adds ZLIB compression or decompression to any stream. Using this stream, applications can compress or decompress data via stream Read() and Write() operations. Either compression or decompression can occur through either reading or writing. The compression format used is ZLIB, which is documented in IETF RFC 1950, "ZLIB Compressed Data Format Specification version 3.3". This implementation of ZLIB always uses DEFLATE as the compression method. (see IETF RFC 1951, "DEFLATE Compressed Data Format Specification version 1.3.") The ZLIB format allows for varying compression methods, window sizes, and dictionaries. This implementation always uses the DEFLATE compression method, a preset dictionary, and 15 window bits by default. This class is similar to DeflateStream, except that it adds the RFC1950 header and trailer bytes to a compressed stream when compressing, or expects the RFC1950 header and trailer bytes when decompressing. It is also similar to the . Create a ZlibStream using the specified CompressionMode. When mode is CompressionMode.Compress, the ZlibStream will use the default compression level. The "captive" stream will be closed when the ZlibStream is closed. This example uses a ZlibStream to compress a file, and writes the compressed data to another file. using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) { using (var raw = System.IO.File.Create(fileToCompress + ".zlib")) { using (Stream compressor = new ZlibStream(raw, CompressionMode.Compress)) { byte[] buffer = new byte[WORKING_BUFFER_SIZE]; int n; while ((n= input.Read(buffer, 0, buffer.Length)) != 0) { compressor.Write(buffer, 0, n); } } } } Using input As Stream = File.OpenRead(fileToCompress) Using raw As FileStream = File.Create(fileToCompress & ".zlib") Using compressor As Stream = New ZlibStream(raw, CompressionMode.Compress) Dim buffer As Byte() = New Byte(4096) {} Dim n As Integer = -1 Do While (n <> 0) If (n > 0) Then compressor.Write(buffer, 0, n) End If n = input.Read(buffer, 0, buffer.Length) Loop End Using End Using End Using The stream which will be read or written. Indicates whether the ZlibStream will compress or decompress. Create a ZlibStream using the specified CompressionMode and the specified CompressionLevel. When mode is CompressionMode.Decompress, the level parameter is ignored. The "captive" stream will be closed when the ZlibStream is closed. This example uses a ZlibStream to compress data from a file, and writes the compressed data to another file. using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) { using (var raw = System.IO.File.Create(fileToCompress + ".zlib")) { using (Stream compressor = new ZlibStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression)) { byte[] buffer = new byte[WORKING_BUFFER_SIZE]; int n; while ((n= input.Read(buffer, 0, buffer.Length)) != 0) { compressor.Write(buffer, 0, n); } } } } Using input As Stream = File.OpenRead(fileToCompress) Using raw As FileStream = File.Create(fileToCompress & ".zlib") Using compressor As Stream = New ZlibStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression) Dim buffer As Byte() = New Byte(4096) {} Dim n As Integer = -1 Do While (n <> 0) If (n > 0) Then compressor.Write(buffer, 0, n) End If n = input.Read(buffer, 0, buffer.Length) Loop End Using End Using End Using The stream to be read or written while deflating or inflating. Indicates whether the ZlibStream will compress or decompress. A tuning knob to trade speed for effectiveness. Create a ZlibStream using the specified CompressionMode, and explicitly specify whether the captive stream should be left open after Deflation or Inflation. When mode is CompressionMode.Compress, the ZlibStream will use the default compression level. This constructor allows the application to request that the captive stream remain open after the deflation or inflation occurs. By default, after Close() is called on the stream, the captive stream is also closed. In some cases this is not desired, for example if the stream is a that will be re-read after compression. Specify true for the parameter to leave the stream open. See the other overloads of this constructor for example code. The stream which will be read or written. This is called the "captive" stream in other places in this documentation. Indicates whether the ZlibStream will compress or decompress. true if the application would like the stream to remain open after inflation/deflation. Create a ZlibStream using the specified CompressionMode and the specified CompressionLevel, and explicitly specify whether the stream should be left open after Deflation or Inflation. This constructor allows the application to request that the captive stream remain open after the deflation or inflation occurs. By default, after Close() is called on the stream, the captive stream is also closed. In some cases this is not desired, for example if the stream is a that will be re-read after compression. Specify true for the parameter to leave the stream open. When mode is CompressionMode.Decompress, the level parameter is ignored. This example shows how to use a ZlibStream to compress the data from a file, and store the result into another file. The filestream remains open to allow additional data to be written to it. using (var output = System.IO.File.Create(fileToCompress + ".zlib")) { using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) { using (Stream compressor = new ZlibStream(output, CompressionMode.Compress, CompressionLevel.BestCompression, true)) { byte[] buffer = new byte[WORKING_BUFFER_SIZE]; int n; while ((n= input.Read(buffer, 0, buffer.Length)) != 0) { compressor.Write(buffer, 0, n); } } } // can write additional data to the output stream here } Using output As FileStream = File.Create(fileToCompress & ".zlib") Using input As Stream = File.OpenRead(fileToCompress) Using compressor As Stream = New ZlibStream(output, CompressionMode.Compress, CompressionLevel.BestCompression, True) Dim buffer As Byte() = New Byte(4096) {} Dim n As Integer = -1 Do While (n <> 0) If (n > 0) Then compressor.Write(buffer, 0, n) End If n = input.Read(buffer, 0, buffer.Length) Loop End Using End Using ' can write additional data to the output stream here. End Using The stream which will be read or written. Indicates whether the ZlibStream will compress or decompress. true if the application would like the stream to remain open after inflation/deflation. A tuning knob to trade speed for effectiveness. This parameter is effective only when mode is CompressionMode.Compress. Dispose the stream. This may or may not result in a Close() call on the captive stream. See the constructors that have a leaveOpen parameter for more information. This method may be invoked in two distinct scenarios. If disposing == true, the method has been called directly or indirectly by a user's code, for example via the public Dispose() method. In this case, both managed and unmanaged resources can be referenced and disposed. If disposing == false, the method has been called by the runtime from inside the object finalizer and this method should not reference other objects; in that case only unmanaged resources must be referenced or disposed. indicates whether the Dispose method was invoked by user code. Flush the stream. Read data from the stream. If you wish to use the ZlibStream to compress data while reading, you can create a ZlibStream with CompressionMode.Compress, providing an uncompressed data stream. Then call Read() on that ZlibStream, and the data read will be compressed. If you wish to use the ZlibStream to decompress data while reading, you can create a ZlibStream with CompressionMode.Decompress, providing a readable compressed data stream. Then call Read() on that ZlibStream, and the data will be decompressed as it is read. A ZlibStream can be used for Read() or Write(), but not both. The buffer into which the read data should be placed. the offset within that data array to put the first byte read. the number of bytes to read. the number of bytes read Calling this method always throws a . The offset to seek to.... IF THIS METHOD ACTUALLY DID ANYTHING. The reference specifying how to apply the offset.... IF THIS METHOD ACTUALLY DID ANYTHING. nothing. This method always throws. Calling this method always throws a . The new value for the stream length.... IF THIS METHOD ACTUALLY DID ANYTHING. Write data to the stream. If you wish to use the ZlibStream to compress data while writing, you can create a ZlibStream with CompressionMode.Compress, and a writable output stream. Then call Write() on that ZlibStream, providing uncompressed data as input. The data sent to the output stream will be the compressed form of the data written. If you wish to use the ZlibStream to decompress data while writing, you can create a ZlibStream with CompressionMode.Decompress, and a writable output stream. Then call Write() on that stream, providing previously compressed data. The data sent to the output stream will be the decompressed form of the data written. A ZlibStream can be used for Read() or Write(), but not both. The buffer holding data to write to the stream. the offset within that data array to find the first byte to write. the number of bytes to write. Compress a string into a byte array using ZLIB. Uncompress it with . A string to compress. The string will first be encoded using UTF8, then compressed. The string in compressed form Compress a byte array into a new byte array using ZLIB. Uncompress it with . A buffer to compress. The data in compressed form Uncompress a ZLIB-compressed byte array into a single string. A buffer containing ZLIB-compressed data. The uncompressed string Uncompress a ZLIB-compressed byte array into a byte array. A buffer containing ZLIB-compressed data. The data in uncompressed form This property sets the flush behavior on the stream. Sorry, though, not sure exactly how to describe all the various settings. The size of the working buffer for the compression codec. The working buffer is used for all stream operations. The default size is 1024 bytes. The minimum size is 128 bytes. You may get better performance with a larger buffer. Then again, you might not. You would have to test it. Set this before the first call to Read() or Write() on the stream. If you try to set it afterwards, it will throw. Returns the total number of bytes input so far. Returns the total number of bytes output so far. Indicates whether the stream can be read. The return value depends on whether the captive stream supports reading. Indicates whether the stream supports Seek operations. Always returns false. Indicates whether the stream can be written. The return value depends on whether the captive stream supports writing. Reading this property always throws a . The position of the stream pointer. Setting this property always throws a . Reading will return the total bytes written out, if used in writing, or the total bytes read in, if used in reading. The count may refer to compressed bytes or uncompressed bytes, depending on how you've used the stream. A bunch of constants used in the Zlib interface. The maximum number of window bits for the Deflate algorithm. The default number of window bits for the Deflate algorithm. indicates everything is A-OK Indicates that the last operation reached the end of the stream. The operation ended in need of a dictionary. There was an error with the stream - not enough data, not open and readable, etc. There was an error with the data - not enough data, bad data, etc. There was an error with the working buffer. The size of the working buffer used in the ZlibCodec class. Defaults to 8192 bytes. The minimum size of the working buffer used in the ZlibCodec class. Currently it is 128 bytes. Encoder and Decoder for ZLIB and DEFLATE (IETF RFC1950 and RFC1951). This class compresses and decompresses data according to the Deflate algorithm and optionally, the ZLIB format, as documented in RFC 1950 - ZLIB and RFC 1951 - DEFLATE. The buffer from which data is taken. An index into the InputBuffer array, indicating where to start reading. The number of bytes available in the InputBuffer, starting at NextIn. Generally you should set this to InputBuffer.Length before the first Inflate() or Deflate() call. The class will update this number as calls to Inflate/Deflate are made. Total number of bytes read so far, through all calls to Inflate()/Deflate(). Buffer to store output data. An index into the OutputBuffer array, indicating where to start writing. The number of bytes available in the OutputBuffer, starting at NextOut. Generally you should set this to OutputBuffer.Length before the first Inflate() or Deflate() call. The class will update this number as calls to Inflate/Deflate are made. Total number of bytes written to the output so far, through all calls to Inflate()/Deflate(). used for diagnostics, when something goes wrong! The compression level to use in this codec. Useful only in compression mode. The number of Window Bits to use. This gauges the size of the sliding window, and hence the compression effectiveness as well as memory consumption. It's best to just leave this setting alone if you don't know what it is. The maximum value is 15 bits, which implies a 32k window. The compression strategy to use. This is only effective in compression. The theory offered by ZLIB is that different strategies could potentially produce significant differences in compression behavior for different data sets. Unfortunately I don't have any good recommendations for how to set it differently. When I tested changing the strategy I got minimally different compression performance. It's best to leave this property alone if you don't have a good feel for it. Or, you may want to produce a test harness that runs through the different strategy options and evaluates them on different file types. If you do that, let me know your results. Create a ZlibCodec. If you use this default constructor, you will later have to explicitly call InitializeInflate() or InitializeDeflate() before using the ZlibCodec to compress or decompress. Create a ZlibCodec that either compresses or decompresses. Indicates whether the codec should compress (deflate) or decompress (inflate). Initialize the inflation state. It is not necessary to call this before using the ZlibCodec to inflate data; It is implicitly called when you call the constructor. Z_OK if everything goes well. Initialize the inflation state with an explicit flag to govern the handling of RFC1950 header bytes. By default, the ZLIB header defined in RFC 1950 is expected. If you want to read a zlib stream you should specify true for expectRfc1950Header. If you have a deflate stream, you will want to specify false. It is only necessary to invoke this initializer explicitly if you want to specify false. whether to expect an RFC1950 header byte pair when reading the stream of data to be inflated. Z_OK if everything goes well. Initialize the ZlibCodec for inflation, with the specified number of window bits. The number of window bits to use. If you need to ask what that is, then you shouldn't be calling this initializer. Z_OK if all goes well. Initialize the inflation state with an explicit flag to govern the handling of RFC1950 header bytes. If you want to read a zlib stream you should specify true for expectRfc1950Header. In this case, the library will expect to find a ZLIB header, as defined in RFC 1950, in the compressed stream. If you will be reading a DEFLATE or GZIP stream, which does not have such a header, you will want to specify false. whether to expect an RFC1950 header byte pair when reading the stream of data to be inflated. The number of window bits to use. If you need to ask what that is, then you shouldn't be calling this initializer. Z_OK if everything goes well. Inflate the data in the InputBuffer, placing the result in the OutputBuffer. You must have set InputBuffer and OutputBuffer, NextIn and NextOut, and AvailableBytesIn and AvailableBytesOut before calling this method. private void InflateBuffer() { int bufferSize = 1024; byte[] buffer = new byte[bufferSize]; ZlibCodec decompressor = new ZlibCodec(); Console.WriteLine("\n============================================"); Console.WriteLine("Size of Buffer to Inflate: {0} bytes.", CompressedBytes.Length); MemoryStream ms = new MemoryStream(DecompressedBytes); int rc = decompressor.InitializeInflate(); decompressor.InputBuffer = CompressedBytes; decompressor.NextIn = 0; decompressor.AvailableBytesIn = CompressedBytes.Length; decompressor.OutputBuffer = buffer; // pass 1: inflate do { decompressor.NextOut = 0; decompressor.AvailableBytesOut = buffer.Length; rc = decompressor.Inflate(FlushType.None); if (rc != ZlibConstants.Z_OK && rc != ZlibConstants.Z_STREAM_END) throw new Exception("inflating: " + decompressor.Message); ms.Write(decompressor.OutputBuffer, 0, buffer.Length - decompressor.AvailableBytesOut); } while (decompressor.AvailableBytesIn > 0 || decompressor.AvailableBytesOut == 0); // pass 2: finish and flush do { decompressor.NextOut = 0; decompressor.AvailableBytesOut = buffer.Length; rc = decompressor.Inflate(FlushType.Finish); if (rc != ZlibConstants.Z_STREAM_END && rc != ZlibConstants.Z_OK) throw new Exception("inflating: " + decompressor.Message); if (buffer.Length - decompressor.AvailableBytesOut > 0) ms.Write(buffer, 0, buffer.Length - decompressor.AvailableBytesOut); } while (decompressor.AvailableBytesIn > 0 || decompressor.AvailableBytesOut == 0); decompressor.EndInflate(); } The flush to use when inflating. Z_OK if everything goes well. Ends an inflation session. Call this after successively calling Inflate(). This will cause all buffers to be flushed. After calling this you cannot call Inflate() without a intervening call to one of the InitializeInflate() overloads. Z_OK if everything goes well. I don't know what this does! Z_OK if everything goes well. Initialize the ZlibCodec for deflation operation. The codec will use the MAX window bits and the default level of compression. int bufferSize = 40000; byte[] CompressedBytes = new byte[bufferSize]; byte[] DecompressedBytes = new byte[bufferSize]; ZlibCodec compressor = new ZlibCodec(); compressor.InitializeDeflate(CompressionLevel.Default); compressor.InputBuffer = System.Text.ASCIIEncoding.ASCII.GetBytes(TextToCompress); compressor.NextIn = 0; compressor.AvailableBytesIn = compressor.InputBuffer.Length; compressor.OutputBuffer = CompressedBytes; compressor.NextOut = 0; compressor.AvailableBytesOut = CompressedBytes.Length; while (compressor.TotalBytesIn != TextToCompress.Length && compressor.TotalBytesOut < bufferSize) { compressor.Deflate(FlushType.None); } while (true) { int rc= compressor.Deflate(FlushType.Finish); if (rc == ZlibConstants.Z_STREAM_END) break; } compressor.EndDeflate(); Z_OK if all goes well. You generally don't need to check the return code. Initialize the ZlibCodec for deflation operation, using the specified CompressionLevel. The codec will use the maximum window bits (15) and the specified CompressionLevel. It will emit a ZLIB stream as it compresses. The compression level for the codec. Z_OK if all goes well. Initialize the ZlibCodec for deflation operation, using the specified CompressionLevel, and the explicit flag governing whether to emit an RFC1950 header byte pair. The codec will use the maximum window bits (15) and the specified CompressionLevel. If you want to generate a zlib stream, you should specify true for wantRfc1950Header. In this case, the library will emit a ZLIB header, as defined in RFC 1950, in the compressed stream. The compression level for the codec. whether to emit an initial RFC1950 byte pair in the compressed stream. Z_OK if all goes well. Initialize the ZlibCodec for deflation operation, using the specified CompressionLevel, and the specified number of window bits. The codec will use the specified number of window bits and the specified CompressionLevel. The compression level for the codec. the number of window bits to use. If you don't know what this means, don't use this method. Z_OK if all goes well. Initialize the ZlibCodec for deflation operation, using the specified CompressionLevel, the specified number of window bits, and the explicit flag governing whether to emit an RFC1950 header byte pair. The compression level for the codec. whether to emit an initial RFC1950 byte pair in the compressed stream. the number of window bits to use. If you don't know what this means, don't use this method. Z_OK if all goes well. Deflate one batch of data. You must have set InputBuffer and OutputBuffer before calling this method. private void DeflateBuffer(CompressionLevel level) { int bufferSize = 1024; byte[] buffer = new byte[bufferSize]; ZlibCodec compressor = new ZlibCodec(); Console.WriteLine("\n============================================"); Console.WriteLine("Size of Buffer to Deflate: {0} bytes.", UncompressedBytes.Length); MemoryStream ms = new MemoryStream(); int rc = compressor.InitializeDeflate(level); compressor.InputBuffer = UncompressedBytes; compressor.NextIn = 0; compressor.AvailableBytesIn = UncompressedBytes.Length; compressor.OutputBuffer = buffer; // pass 1: deflate do { compressor.NextOut = 0; compressor.AvailableBytesOut = buffer.Length; rc = compressor.Deflate(FlushType.None); if (rc != ZlibConstants.Z_OK && rc != ZlibConstants.Z_STREAM_END) throw new Exception("deflating: " + compressor.Message); ms.Write(compressor.OutputBuffer, 0, buffer.Length - compressor.AvailableBytesOut); } while (compressor.AvailableBytesIn > 0 || compressor.AvailableBytesOut == 0); // pass 2: finish and flush do { compressor.NextOut = 0; compressor.AvailableBytesOut = buffer.Length; rc = compressor.Deflate(FlushType.Finish); if (rc != ZlibConstants.Z_STREAM_END && rc != ZlibConstants.Z_OK) throw new Exception("deflating: " + compressor.Message); if (buffer.Length - compressor.AvailableBytesOut > 0) ms.Write(buffer, 0, buffer.Length - compressor.AvailableBytesOut); } while (compressor.AvailableBytesIn > 0 || compressor.AvailableBytesOut == 0); compressor.EndDeflate(); ms.Seek(0, SeekOrigin.Begin); CompressedBytes = new byte[compressor.TotalBytesOut]; ms.Read(CompressedBytes, 0, CompressedBytes.Length); } whether to flush all data as you deflate. Generally you will want to use Z_NO_FLUSH here, in a series of calls to Deflate(), and then call EndDeflate() to flush everything. Z_OK if all goes well. End a deflation session. Call this after making a series of one or more calls to Deflate(). All buffers are flushed. Z_OK if all goes well. Reset a codec for another deflation session. Call this to reset the deflation state. For example if a thread is deflating non-consecutive blocks, you can call Reset() after the Deflate(Sync) of the first block and before the next Deflate(None) of the second block. Z_OK if all goes well. Set the CompressionStrategy and CompressionLevel for a deflation session. the level of compression to use. the strategy to use for compression. Z_OK if all goes well. Set the dictionary to be used for either Inflation or Deflation. The dictionary bytes to use. Z_OK if all goes well. The Adler32 checksum on the data transferred through the codec so far. You probably don't need to look at this. Describes how to flush the current deflate operation. The different FlushType values are useful when using a Deflate in a streaming application. No flush at all. Closes the current block, but doesn't flush it to the output. Used internally only in hypothetical scenarios. This was supposed to be removed by Zlib, but it is still in use in some edge cases. Use this during compression to specify that all pending output should be flushed to the output buffer and the output should be aligned on a byte boundary. You might use this in a streaming communication scenario, so that the decompressor can get all input data available so far. When using this with a ZlibCodec, AvailableBytesIn will be zero after the call if enough output space has been provided before the call. Flushing will degrade compression and so it should be used only when necessary. Use this during compression to specify that all output should be flushed, as with FlushType.Sync, but also, the compression state should be reset so that decompression can restart from this point if previous compressed data has been damaged or if random access is desired. Using FlushType.Full too often can significantly degrade the compression. Signals the end of the compression/decompression stream. The compression level to be used when using a DeflateStream or ZlibStream with CompressionMode.Compress. None means that the data will be simply stored, with no change at all. If you are producing ZIPs for use on Mac OSX, be aware that archives produced with CompressionLevel.None cannot be opened with the default zip reader. Use a different CompressionLevel. Same as None. The fastest but least effective compression. A synonym for BestSpeed. A little slower, but better, than level 1. A little slower, but better, than level 2. A little slower, but better, than level 3. A little slower than level 4, but with better compression. The default compression level, with a good balance of speed and compression efficiency. A synonym for Default. Pretty good compression! Better compression than Level7! The "best" compression, where best means greatest reduction in size of the input data stream. This is also the slowest compression. A synonym for BestCompression. Describes options for how the compression algorithm is executed. Different strategies work better on different sorts of data. The strategy parameter can affect the compression ratio and the speed of compression but not the correctness of the compresssion. The default strategy is probably the best for normal data. The Filtered strategy is intended to be used most effectively with data produced by a filter or predictor. By this definition, filtered data consists mostly of small values with a somewhat random distribution. In this case, the compression algorithm is tuned to compress them better. The effect of Filtered is to force more Huffman coding and less string matching; it is a half-step between Default and HuffmanOnly. Using HuffmanOnly will force the compressor to do Huffman encoding only, with no string matching. An enum to specify the direction of transcoding - whether to compress or decompress. Used to specify that the stream should compress the data. Used to specify that the stream should decompress the data. A general purpose exception class for exceptions in the Zlib library. The ZlibException class captures exception information generated by the Zlib library. This ctor collects a message attached to the exception. the message for the exception. Performs an unsigned bitwise right shift with the specified number Number to operate on Ammount of bits to shift The resulting number from the shift operation Reads a number of characters from the current source TextReader and writes the data to the target array at the specified index. The source TextReader to read from Contains the array of characteres read from the source TextReader. The starting index of the target array. The maximum number of characters to read from the source TextReader. The number of characters read. The number will be less than or equal to count depending on the data available in the source TextReader. Returns -1 if the end of the stream is reached. Computes an Adler-32 checksum. The Adler checksum is similar to a CRC checksum, but faster to compute, though less reliable. It is used in producing RFC1950 compressed streams. The Adler checksum is a required part of the "ZLIB" standard. Applications will almost never need to use this class directly. Calculates the Adler32 checksum. This is used within ZLIB. You probably don't need to use this directly. To compute an Adler32 checksum on a byte array: var adler = Adler.Adler32(0, null, 0, 0); adler = Adler.Adler32(adler, buffer, index, length); Map from a distance to a distance code. No side effects. _dist_code[256] and _dist_code[257] are never used. A class for compressing and decompressing GZIP streams. The GZipStream is a Decorator on a . It adds GZIP compression or decompression to any stream. Like the System.IO.Compression.GZipStream in the .NET Base Class Library, the Ionic.Zlib.GZipStream can compress while writing, or decompress while reading, but not vice versa. The compression method used is GZIP, which is documented in IETF RFC 1952, "GZIP file format specification version 4.3". A GZipStream can be used to decompress data (through Read()) or to compress data (through Write()), but not both. If you wish to use the GZipStream to compress data, you must wrap it around a write-able stream. As you call Write() on the GZipStream, the data will be compressed into the GZIP format. If you want to decompress data, you must wrap the GZipStream around a readable stream that contains an IETF RFC 1952-compliant stream. The data will be decompressed as you call Read() on the GZipStream. Though the GZIP format allows data from multiple files to be concatenated together, this stream handles only a single segment of GZIP format, typically representing a single file. The last modified time for the GZIP stream. GZIP allows the storage of a last modified time with each GZIP entry. When compressing data, you can set this before the first call to Write(). When decompressing, you can retrieve this value any time after the first call to Read(). Create a GZipStream using the specified CompressionMode. When mode is CompressionMode.Compress, the GZipStream will use the default compression level. As noted in the class documentation, the CompressionMode (Compress or Decompress) also establishes the "direction" of the stream. A GZipStream with CompressionMode.Compress works only through Write(). A GZipStream with CompressionMode.Decompress works only through Read(). This example shows how to use a GZipStream to compress data. using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) { using (var raw = System.IO.File.Create(outputFile)) { using (Stream compressor = new GZipStream(raw, CompressionMode.Compress)) { byte[] buffer = new byte[WORKING_BUFFER_SIZE]; int n; while ((n= input.Read(buffer, 0, buffer.Length)) != 0) { compressor.Write(buffer, 0, n); } } } } Dim outputFile As String = (fileToCompress & ".compressed") Using input As Stream = File.OpenRead(fileToCompress) Using raw As FileStream = File.Create(outputFile) Using compressor As Stream = New GZipStream(raw, CompressionMode.Compress) Dim buffer As Byte() = New Byte(4096) {} Dim n As Integer = -1 Do While (n <> 0) If (n > 0) Then compressor.Write(buffer, 0, n) End If n = input.Read(buffer, 0, buffer.Length) Loop End Using End Using End Using This example shows how to use a GZipStream to uncompress a file. private void GunZipFile(string filename) { if (!filename.EndsWith(".gz)) throw new ArgumentException("filename"); var DecompressedFile = filename.Substring(0,filename.Length-3); byte[] working = new byte[WORKING_BUFFER_SIZE]; int n= 1; using (System.IO.Stream input = System.IO.File.OpenRead(filename)) { using (Stream decompressor= new Ionic.Zlib.GZipStream(input, CompressionMode.Decompress, true)) { using (var output = System.IO.File.Create(DecompressedFile)) { while (n !=0) { n= decompressor.Read(working, 0, working.Length); if (n > 0) { output.Write(working, 0, n); } } } } } } Private Sub GunZipFile(ByVal filename as String) If Not (filename.EndsWith(".gz)) Then Throw New ArgumentException("filename") End If Dim DecompressedFile as String = filename.Substring(0,filename.Length-3) Dim working(WORKING_BUFFER_SIZE) as Byte Dim n As Integer = 1 Using input As Stream = File.OpenRead(filename) Using decompressor As Stream = new Ionic.Zlib.GZipStream(input, CompressionMode.Decompress, True) Using output As Stream = File.Create(UncompressedFile) Do n= decompressor.Read(working, 0, working.Length) If n > 0 Then output.Write(working, 0, n) End IF Loop While (n > 0) End Using End Using End Using End Sub The stream which will be read or written. Indicates whether the GZipStream will compress or decompress. Create a GZipStream using the specified CompressionMode and the specified CompressionLevel. The CompressionMode (Compress or Decompress) also establishes the "direction" of the stream. A GZipStream with CompressionMode.Compress works only through Write(). A GZipStream with CompressionMode.Decompress works only through Read(). This example shows how to use a GZipStream to compress a file into a .gz file. using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) { using (var raw = System.IO.File.Create(fileToCompress + ".gz")) { using (Stream compressor = new GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression)) { byte[] buffer = new byte[WORKING_BUFFER_SIZE]; int n; while ((n= input.Read(buffer, 0, buffer.Length)) != 0) { compressor.Write(buffer, 0, n); } } } } Using input As Stream = File.OpenRead(fileToCompress) Using raw As FileStream = File.Create(fileToCompress & ".gz") Using compressor As Stream = New GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression) Dim buffer As Byte() = New Byte(4096) {} Dim n As Integer = -1 Do While (n <> 0) If (n > 0) Then compressor.Write(buffer, 0, n) End If n = input.Read(buffer, 0, buffer.Length) Loop End Using End Using End Using The stream to be read or written while deflating or inflating. Indicates whether the GZipStream will compress or decompress. A tuning knob to trade speed for effectiveness. Create a GZipStream using the specified CompressionMode, and explicitly specify whether the stream should be left open after Deflation or Inflation. This constructor allows the application to request that the captive stream remain open after the deflation or inflation occurs. By default, after Close() is called on the stream, the captive stream is also closed. In some cases this is not desired, for example if the stream is a memory stream that will be re-read after compressed data has been written to it. Specify true for the parameter to leave the stream open. The (Compress or Decompress) also establishes the "direction" of the stream. A GZipStream with CompressionMode.Compress works only through Write(). A GZipStream with CompressionMode.Decompress works only through Read(). The GZipStream will use the default compression level. If you want to specify the compression level, see . See the other overloads of this constructor for example code. The stream which will be read or written. This is called the "captive" stream in other places in this documentation. Indicates whether the GZipStream will compress or decompress. true if the application would like the base stream to remain open after inflation/deflation. Create a GZipStream using the specified CompressionMode and the specified CompressionLevel, and explicitly specify whether the stream should be left open after Deflation or Inflation. This constructor allows the application to request that the captive stream remain open after the deflation or inflation occurs. By default, after Close() is called on the stream, the captive stream is also closed. In some cases this is not desired, for example if the stream is a memory stream that will be re-read after compressed data has been written to it. Specify true for the parameter to leave the stream open. As noted in the class documentation, the CompressionMode (Compress or Decompress) also establishes the "direction" of the stream. A GZipStream with CompressionMode.Compress works only through Write(). A GZipStream with CompressionMode.Decompress works only through Read(). This example shows how to use a GZipStream to compress data. using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) { using (var raw = System.IO.File.Create(outputFile)) { using (Stream compressor = new GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression, true)) { byte[] buffer = new byte[WORKING_BUFFER_SIZE]; int n; while ((n= input.Read(buffer, 0, buffer.Length)) != 0) { compressor.Write(buffer, 0, n); } } } } Dim outputFile As String = (fileToCompress & ".compressed") Using input As Stream = File.OpenRead(fileToCompress) Using raw As FileStream = File.Create(outputFile) Using compressor As Stream = New GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression, True) Dim buffer As Byte() = New Byte(4096) {} Dim n As Integer = -1 Do While (n <> 0) If (n > 0) Then compressor.Write(buffer, 0, n) End If n = input.Read(buffer, 0, buffer.Length) Loop End Using End Using End Using The stream which will be read or written. Indicates whether the GZipStream will compress or decompress. true if the application would like the stream to remain open after inflation/deflation. A tuning knob to trade speed for effectiveness. Dispose the stream. This may or may not result in a Close() call on the captive stream. See the constructors that have a leaveOpen parameter for more information. This method may be invoked in two distinct scenarios. If disposing == true, the method has been called directly or indirectly by a user's code, for example via the internal Dispose() method. In this case, both managed and unmanaged resources can be referenced and disposed. If disposing == false, the method has been called by the runtime from inside the object finalizer and this method should not reference other objects; in that case only unmanaged resources must be referenced or disposed. indicates whether the Dispose method was invoked by user code. Flush the stream. Read and decompress data from the source stream. With a GZipStream, decompression is done through reading. byte[] working = new byte[WORKING_BUFFER_SIZE]; using (System.IO.Stream input = System.IO.File.OpenRead(_CompressedFile)) { using (Stream decompressor= new Ionic.Zlib.GZipStream(input, CompressionMode.Decompress, true)) { using (var output = System.IO.File.Create(_DecompressedFile)) { int n; while ((n= decompressor.Read(working, 0, working.Length)) !=0) { output.Write(working, 0, n); } } } } The buffer into which the decompressed data should be placed. the offset within that data array to put the first byte read. the number of bytes to read. the number of bytes actually read Calling this method always throws a . irrelevant; it will always throw! irrelevant; it will always throw! irrelevant! Calling this method always throws a . irrelevant; this method will always throw! Write data to the stream. If you wish to use the GZipStream to compress data while writing, you can create a GZipStream with CompressionMode.Compress, and a writable output stream. Then call Write() on that GZipStream, providing uncompressed data as input. The data sent to the output stream will be the compressed form of the data written. A GZipStream can be used for Read() or Write(), but not both. Writing implies compression. Reading implies decompression. The buffer holding data to write to the stream. the offset within that data array to find the first byte to write. the number of bytes to write. Compress a string into a byte array using GZip. Uncompress it with . A string to compress. The string will first be encoded using UTF8, then compressed. The string in compressed form Compress a byte array into a new byte array using GZip. Uncompress it with . A buffer to compress. The data in compressed form Uncompress a GZip'ed byte array into a single string. A buffer containing GZIP-compressed data. The uncompressed string Uncompress a GZip'ed byte array into a byte array. A buffer containing data that has been compressed with GZip. The data in uncompressed form The comment on the GZIP stream. The GZIP format allows for each file to optionally have an associated comment stored with the file. The comment is encoded with the ISO-8859-1 code page. To include a comment in a GZIP stream you create, set this property before calling Write() for the first time on the GZipStream. When using GZipStream to decompress, you can retrieve this property after the first call to Read(). If no comment has been set in the GZIP bytestream, the Comment property will return null (Nothing in VB). The FileName for the GZIP stream. The GZIP format optionally allows each file to have an associated filename. When compressing data (through Write()), set this FileName before calling Write() the first time on the GZipStream. The actual filename is encoded into the GZIP bytestream with the ISO-8859-1 code page, according to RFC 1952. It is the application's responsibility to insure that the FileName can be encoded and decoded correctly with this code page. When decompressing (through Read()), you can retrieve this value any time after the first Read(). In the case where there was no filename encoded into the GZIP bytestream, the property will return null (Nothing in VB). The CRC on the GZIP stream. This is used for internal error checking. You probably don't need to look at this property. This property sets the flush behavior on the stream. The size of the working buffer for the compression codec. The working buffer is used for all stream operations. The default size is 1024 bytes. The minimum size is 128 bytes. You may get better performance with a larger buffer. Then again, you might not. You would have to test it. Set this before the first call to Read() or Write() on the stream. If you try to set it afterwards, it will throw. Returns the total number of bytes input so far. Returns the total number of bytes output so far. Indicates whether the stream can be read. The return value depends on whether the captive stream supports reading. Indicates whether the stream supports Seek operations. Always returns false. Indicates whether the stream can be written. The return value depends on whether the captive stream supports writing. Reading this property always throws a . The position of the stream pointer. Setting this property always throws a . Reading will return the total bytes written out, if used in writing, or the total bytes read in, if used in reading. The count may refer to compressed bytes or uncompressed bytes, depending on how you've used the stream. Computes a CRC-32. The CRC-32 algorithm is parameterized - you can set the polynomial and enable or disable bit reversal. This can be used for GZIP, BZip2, or ZIP. This type is used internally by DotNetZip; it is generally not used directly by applications wishing to create, read, or manipulate zip archive files. Returns the CRC32 for the specified stream. The stream over which to calculate the CRC32 the CRC32 calculation Returns the CRC32 for the specified stream, and writes the input into the output stream. The stream over which to calculate the CRC32 The stream into which to deflate the input the CRC32 calculation Get the CRC32 for the given (word,byte) combo. This is a computation defined by PKzip for PKZIP 2.0 (weak) encryption. The word to start with. The byte to combine it with. The CRC-ized result. Update the value for the running CRC32 using the given block of bytes. This is useful when using the CRC32() class in a Stream. block of bytes to slurp starting point in the block how many bytes within the block to slurp Process one byte in the CRC. the byte to include into the CRC . Process a run of N identical bytes into the CRC. This method serves as an optimization for updating the CRC when a run of identical bytes is found. Rather than passing in a buffer of length n, containing all identical bytes b, this method accepts the byte value and the length of the (virtual) buffer - the length of the run. the byte to include into the CRC. the number of times that byte should be repeated. Combines the given CRC32 value with the current running total. This is useful when using a divide-and-conquer approach to calculating a CRC. Multiple threads can each calculate a CRC32 on a segment of the data, and then combine the individual CRC32 values at the end. the crc value to be combined with this one the length of data the CRC value was calculated on Create an instance of the CRC32 class using the default settings: no bit reversal, and a polynomial of 0xEDB88320. Create an instance of the CRC32 class, specifying whether to reverse data bits or not. specify true if the instance should reverse data bits. In the CRC-32 used by BZip2, the bits are reversed. Therefore if you want a CRC32 with compatibility with BZip2, you should pass true here. In the CRC-32 used by GZIP and PKZIP, the bits are not reversed; Therefore if you want a CRC32 with compatibility with those, you should pass false. Create an instance of the CRC32 class, specifying the polynomial and whether to reverse data bits or not. The polynomial to use for the CRC, expressed in the reversed (LSB) format: the highest ordered bit in the polynomial value is the coefficient of the 0th power; the second-highest order bit is the coefficient of the 1 power, and so on. Expressed this way, the polynomial for the CRC-32C used in IEEE 802.3, is 0xEDB88320. specify true if the instance should reverse data bits. In the CRC-32 used by BZip2, the bits are reversed. Therefore if you want a CRC32 with compatibility with BZip2, you should pass true here for the reverseBits parameter. In the CRC-32 used by GZIP and PKZIP, the bits are not reversed; Therefore if you want a CRC32 with compatibility with those, you should pass false for the reverseBits parameter. Reset the CRC-32 class - clear the CRC "remainder register." Use this when employing a single instance of this class to compute multiple, distinct CRCs on multiple, distinct data blocks. Indicates the total number of bytes applied to the CRC. Indicates the current CRC for all blocks slurped in. A Stream that calculates a CRC32 (a checksum) on all bytes read, or on all bytes written. This class can be used to verify the CRC of a ZipEntry when reading from a stream, or to calculate a CRC when writing to a stream. The stream should be used to either read, or write, but not both. If you intermix reads and writes, the results are not defined. This class is intended primarily for use internally by the DotNetZip library. The default constructor. Instances returned from this constructor will leave the underlying stream open upon Close(). The stream uses the default CRC32 algorithm, which implies a polynomial of 0xEDB88320. The underlying stream The constructor allows the caller to specify how to handle the underlying stream at close. The stream uses the default CRC32 algorithm, which implies a polynomial of 0xEDB88320. The underlying stream true to leave the underlying stream open upon close of the CrcCalculatorStream; false otherwise. A constructor allowing the specification of the length of the stream to read. The stream uses the default CRC32 algorithm, which implies a polynomial of 0xEDB88320. Instances returned from this constructor will leave the underlying stream open upon Close(). The underlying stream The length of the stream to slurp A constructor allowing the specification of the length of the stream to read, as well as whether to keep the underlying stream open upon Close(). The stream uses the default CRC32 algorithm, which implies a polynomial of 0xEDB88320. The underlying stream The length of the stream to slurp true to leave the underlying stream open upon close of the CrcCalculatorStream; false otherwise. A constructor allowing the specification of the length of the stream to read, as well as whether to keep the underlying stream open upon Close(), and the CRC32 instance to use. The stream uses the specified CRC32 instance, which allows the application to specify how the CRC gets calculated. The underlying stream The length of the stream to slurp true to leave the underlying stream open upon close of the CrcCalculatorStream; false otherwise. the CRC32 instance to use to calculate the CRC32 Read from the stream the buffer to read the offset at which to start the number of bytes to read the number of bytes actually read Write to the stream. the buffer from which to write the offset at which to start writing the number of bytes to write Flush the stream. Seeking is not supported on this stream. This method always throws N/A N/A N/A This method always throws N/A Gets the total number of bytes run through the CRC32 calculator. This is either the total number of bytes read, or the total number of bytes written, depending on the direction of this stream. Provides the current CRC for all blocks slurped in. The running total of the CRC is kept as data is written or read through the stream. read this property after all reads or writes to get an accurate CRC for the entire stream. Indicates whether the underlying stream will be left open when the CrcCalculatorStream is Closed. Set this at any point before calling . Indicates whether the stream supports reading. Indicates whether the stream supports seeking. Always returns false. Indicates whether the stream supports writing. Returns the length of the underlying stream. The getter for this property returns the total bytes read. If you use the setter, it will throw . A custom encoding class that provides encoding capabilities for the 'Western European (ISO)' encoding under Silverlight.
This class was generated by a tool. For more information, visit http://www.hardcodet.net/2010/03/silverlight-text-encoding-class-generator
Encodes a set of characters from the specified character array into the specified byte array. The actual number of bytes written into . The character array containing the set of characters to encode. The index of the first character to encode. The number of characters to encode. The byte array to contain the resulting sequence of bytes. The index at which to start writing the resulting sequence of bytes. Decodes a sequence of bytes from the specified byte array into the specified character array. The actual number of characters written into . The byte array containing the sequence of bytes to decode. The index of the first byte to decode. The number of bytes to decode. The character array to contain the resulting set of characters. The index at which to start writing the resulting set of characters. Calculates the number of bytes produced by encoding a set of characters from the specified character array. The number of bytes produced by encoding the specified characters. This class always returns the value of . Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array. The number of characters produced by decoding the specified sequence of bytes. This class always returns the value of . Calculates the maximum number of bytes produced by encoding the specified number of characters. The maximum number of bytes produced by encoding the specified number of characters. This class always returns the value of . The number of characters to encode. Calculates the maximum number of characters produced by decoding the specified number of bytes. The maximum number of characters produced by decoding the specified number of bytes. This class always returns the value of . The number of bytes to decode. This table contains characters in an array. The index within the array corresponds to the encoding's mapping of bytes to characters (e.g. if a byte value of 5 is used to encode the character 'x', this character will be stored at the array index 5. This dictionary is used to resolve byte values for a given character. Gets the name registered with the Internet Assigned Numbers Authority (IANA) for the current encoding. The IANA name for the current . A character that can be set in order to make the encoding class more fault tolerant. If this property is set, the encoding class will use this property instead of throwing an exception if an unsupported byte value is being passed for decoding. A byte value that corresponds to the . It is used in encoding scenarios in case an unsupported character is being passed for encoding. Gets the number of characters that are supported by this encoding. This property returns a maximum value of 256, as the encoding class only supports single byte encodings (1 byte == 256 possible values). Length of Data field CRC of both Type and Data fields, but not Length field Build CRC lookup table for performance (once-off) Applies all PNG filters to the given scanline and returns the filtered scanline that is deemed to be most compressible, using lowest total variation as proxy for compressibility. Calculates the total variation of given byte array. Total variation is the sum of the absolute values of neighbour differences. Get a buffer that is at least as big as size. Return the given buffer to the pool. This code had been borrowed from here: https://github.com/MachineCognitis/C.math.NET