Method | Description | |
---|---|---|
Clone ( ) : object | ||
CopyToArgb ( |
Copies the contents of the surface to a buffer of same dimensions. The destination buffer should use the ARGB format represented by ArgbColor. Some basic checks will be done to disallow invalid buffer informations. However, it is the responsibility of the caller to provide a valid destination buffer. |
|
CreateStream ( ) : Stream |
Creates a stream for accessing the surface data. The returned stream can be used for reading the surface data, and, for some surface formats, to modify the surface data. |
|
Dispose ( ) : void | ||
Lock ( ) : |
Locks the surface for direct read/write access. Unlock must be called once direct buffer access is not needed anymore. Forgetting to unlock a locked surface is likely to prevent the buffer from being disposed, thus causing a memory leak. Neither Dispose nor Finalize will unlock the surface, for safety reasons. |
|
Surface ( int width, int height, byte alphaBitCount, bool alphaPremultiplied = false ) : System |
Initializes a new instance of the Surface class. The following restriction is imposed on width and height: The size in bytes of the uncompressed ARGB data for a given surface must fit into an Int32. |
|
ToArray ( ) : byte[] |
Gets a copy of the buffer's contents.
|
|
Unlock ( ) : void |
Method | Description | |
---|---|---|
CopyToArgbInternal ( |
||
Dispose ( bool disposing ) : void |
Releases unmanaged and - optionally - managed resources. Implementation in the base class do nothing. |
|
LockInternal ( int &stride ) : |
Locks the surface for direct read/write access.
|
|
Surface ( |
Initializes a new instance of the Surface class by copying data from another Surface. The base implementation in Surface only copies the common surface characteristics. Copying the actual surface data needs to be done by subclasses overriding this constructor. |
|
UnlockInternal ( ) : void | ||
ValidateDimensions ( int width, int height ) : void |
Validates the specified surface dimensions. This method should throw an ArgumentOutOfRangeException if any of the two dimensions are not allowed. If the combination of width and height is not allowed, ArgumentException should be thrown. Note that the method will be called before object initialization. Thus, the instance should not be used at all from this method. |
public CopyToArgb ( |
||
surfaceData | Information on the destination buffer. | |
return | void |
protected abstract CopyToArgbInternal ( |
||
surfaceData | ||
return | void |
protected Dispose ( bool disposing ) : void | ||
disposing | bool | |
return | void |
protected abstract LockInternal ( int &stride ) : |
||
stride | int | The stride. |
return |
protected Surface ( |
||
surface | A reference surface which should be copied. | |
return | System |
public Surface ( int width, int height, byte alphaBitCount, bool alphaPremultiplied = false ) : System | ||
width | int | The surface width. |
height | int | The surface height. |
alphaBitCount | byte | The alpha bit count. |
alphaPremultiplied | bool | If set to |
return | System |
protected ValidateDimensions ( int width, int height ) : void | ||
width | int | The proposed surface width. |
height | int | The proposed surface height. |
return | void |