Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*
* CVDirect3DTextureCache.h * CoreVideo * * Copyright 2004 Apple Computer, Inc. All rights reserved. * */
#if !defined(__COREVIDEO__CVDIRECT3DTEXTURECACHE_H__)
#define __COREVIDEO__CVDIRECT3DTEXTURECACHE_H__ 1
#include <CVBase.h>
#include <CVReturn.h>
#include <CVBuffer.h>
#include <CVDirect3DTexture.h>
#if defined(__cplusplus)
extern "C" { #endif
/*!
@typedef CVDirect3DTextureCacheRef @abstract CoreVideo Direct3D Texture Cache
*/ typedef struct __CVDirect3DTextureCache *CVDirect3DTextureCacheRef;
CV_EXPORT CFTypeID CVDirect3DTextureCacheGetTypeID();
/*!
@function CVDirect3DTextureCacheRetain @abstract Retains a CVDirect3DTextureCache object @discussion Equivalent to CFRetain, but NULL safe @param buffer A CVDirect3DTextureCache object that you want to retain. @result A CVDirect3DTextureCache object that is the same as the passed in buffer. */ CV_EXPORT CVDirect3DTextureCacheRef CVDirect3DTextureCacheRetain( CVDirect3DTextureCacheRef textureCache ); // NULL-safe
/*!
@function CVDirect3DTextureCacheRelease @abstract Releases a CVDirect3DTextureCache object @discussion Equivalent to CFRelease, but NULL safe @param buffer A CVDirect3DTextureCache object that you want to release. */ CV_EXPORT void CVDirect3DTextureCacheRelease( CVDirect3DTextureCacheRef textureCache ); // NULL-safe
/*!
@function CVDirect3DTextureCacheCreate @abstract Creates a new Texture Cache. @param allocator The CFAllocatorRef to use for allocating the cache. May be NULL. @param cacheAttributes A CFDictionaryRef containing the attributes of the cache itself. May be NULL. @param cglContext The D3D context into which the texture objects will be created @param cglPixelFormat The D3D pixel format object used to create the passed in D3D context @param textureAttributes A CFDictionaryRef containing the attributes to be used for creating the CVDirect3DTexture objects. May be NULL. @param cacheOut The newly created texture cache will be placed here @result Returns kCVReturnSuccess on success */ CV_EXPORT CVReturn CVDirect3DTextureCacheCreate( CFAllocatorRef allocator, CFDictionaryRef cacheAttributes, void *d3dDevice, /*CVDIRECT3DDEVICE*/ UInt32 d3dFormat, /*D3DFORMAT*/ CFDictionaryRef textureAttributes, CVDirect3DTextureCacheRef *cacheOut);
/*!
@function CVDirect3DTextureCacheCreateTextureFromImage @abstract Creates a CVDirect3DTexture object from an existing CVImageBuffer @param allocator The CFAllocatorRef to use for allocating the CVDirect3DTexture object. May be NULL. @param sourceImage The CVImageBuffer that you want to create a CVDirect3DTexture from. @param attribuse The desired buffer attributes for the CVDirect3DTexture. @param textureOut The newly created texture object will be placed here. @result Returns kCVReturnSuccess on success */ CV_EXPORT CVReturn CVDirect3DTextureCacheCreateTextureFromImage(CFAllocatorRef allocator, CVDirect3DTextureCacheRef textureCache, CVImageBufferRef sourceImage, CFDictionaryRef *attribs, CVDirect3DTextureRef *textureOut);
/*!
@function CVDirect3DTextureCacheFlush @abstract Performs internal housekeeping/recycling operations @discussion This call must be made periodically to give the texture cache a chance to make D3D calls on the Direct3D context used to create it in order to do housekeeping operations. @param textureCache The texture cache object to flush @param options Currently unused, set to 0. @result Returns kCVReturnSuccess on success */ CV_EXPORT void CVDirect3DTextureCacheFlush(CVDirect3DTextureCacheRef textureCache, CVOptionFlags options);
#if defined(__cplusplus)
} #endif
#endif
|