diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/quicktime_win32/CVDirect3DTexture.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'common/quicktime_win32/CVDirect3DTexture.h')
| -rw-r--r-- | common/quicktime_win32/CVDirect3DTexture.h | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/common/quicktime_win32/CVDirect3DTexture.h b/common/quicktime_win32/CVDirect3DTexture.h new file mode 100644 index 0000000..3cb36c7 --- /dev/null +++ b/common/quicktime_win32/CVDirect3DTexture.h @@ -0,0 +1,91 @@ +/* + * CVDirect3DTexture.h + * CoreVideo + * + * Copyright (c) 2004 Apple Computer, Inc. All rights reserved. + * + */ + + /*! @header CVDirect3DTexture.h + @copyright 2004 Apple Computer, Inc. All rights reserved. + @discussion A CoreVideo Texture derives from an ImageBuffer, and is used for supplying source image data to Direct3D. + +*/ + +#if !defined(__COREVIDEO_CVDIRECT3DTEXTURE_H__) +#define __COREVIDEO_CVDIRECT3DTEXTURE_H__ 1 + +#include <CVBase.h> +#include <CVReturn.h> +#include <CVImageBuffer.h> + +#if defined(__cplusplus) +extern "C" { +#endif + +#pragma mark CVDirect3DTexture + +/*! + @typedef CVDirect3DTextureRef + @abstract Direct3D texture based image buffer + +*/ +typedef CVImageBufferRef CVDirect3DTextureRef; + +CV_EXPORT CFTypeID CVDirect3DTextureGetTypeID(); + +/*! + @function CVDirect3DTextureRetain + @abstract Retains a CVDirect3DTexture object + @discussion Equivalent to CFRetain, but NULL safe + @param buffer A CVDirect3DTexture object that you want to retain. + @result A CVDirect3DTexture object that is the same as the passed in buffer. +*/ +CV_EXPORT CVDirect3DTextureRef CVDirect3DTextureRetain( CVDirect3DTextureRef texture ); + +/*! + @function CVDirect3DTextureRelease + @abstract Releases a CVDirect3DTexture object + @discussion Equivalent to CFRelease, but NULL safe + @param buffer A CVDirect3DTexture object that you want to release. +*/ +CV_EXPORT void CVDirect3DTextureRelease( CVDirect3DTextureRef texture ); + +/*! + @function CVDirect3DTextureGetName + @abstract Returns the raw texture associated with the CVDirect3DTexture + @param image Target CVDirect3DTexture + @result an LPDIRECT3DTEXTURE9 pointing to the texture +*/ +CV_EXPORT void* CVDirect3DTextureGetName( CVDirect3DTextureRef image); + +/*! + @function CVDirect3DTextureIsFlipped + @abstract Returns whether the image is flipped vertically or not. + @param image Target CVDirect3DTexture + @result True if 0,0 in the texture is upper left, false if 0,0 is lower left +*/ +CV_EXPORT Boolean CVDirect3DTextureIsFlipped( CVDirect3DTextureRef image); + +/*! + @function CVDirect3DTextureGetCleanTexCoords + @abstract Returns convenient texture coordinates for the part of the image that should be displayed + @discussion This function automatically takes into account whether or not the texture is flipped. It returns + texture coordinate values from 0.0 to 1.0 ready for use in a Direct3D VertexBuffer. + @param image Target CVDirect3DTexture + @param lowerLeft - array of two floats where the s and t texture coordinates of the lower left corner of the image will be stored + @param lowerRight - array of two floats where the s and t texture coordinates of the lower right corner of the image will be stored + @param upperRight - array of two floats where the s and t texture coordinates of the upper right corner of the image will be stored + @param upperLeft - array of two floats where the s and t texture coordinates of the upper right corner of the image will be stored +*/ +CV_EXPORT void CVDirect3DTextureGetCleanTexCoords( CVDirect3DTextureRef image, + float lowerLeft[2], + float lowerRight[2], + float upperRight[2], + float upperLeft[2]); + +#if defined(__cplusplus) +} +#endif + +#endif |