mirror of
https://github.com/UberGames/ioef.git
synced 2024-11-28 06:52:35 +00:00
110 lines
3.2 KiB
C
110 lines
3.2 KiB
C
#ifndef ALC_CONTEXT_H_
|
|
#define ALC_CONTEXT_H_
|
|
|
|
#include "altypes.h"
|
|
#include "alctypes.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define ALC_VERSION_0_1 1
|
|
|
|
#ifdef _WIN32
|
|
#ifdef _OPENAL32LIB
|
|
#define ALCAPI __declspec(dllexport)
|
|
#else
|
|
#define ALCAPI __declspec(dllimport)
|
|
#endif
|
|
|
|
typedef struct ALCdevice_struct ALCdevice;
|
|
typedef struct ALCcontext_struct ALCcontext;
|
|
|
|
#define ALCAPIENTRY __cdecl
|
|
#else
|
|
#ifdef TARGET_OS_MAC
|
|
#if TARGET_OS_MAC
|
|
#pragma export on
|
|
#endif
|
|
#endif
|
|
|
|
#define ALCAPI
|
|
#define ALCAPIENTRY
|
|
#endif
|
|
|
|
#ifndef AL_NO_PROTOTYPES
|
|
|
|
ALCAPI ALCcontext * ALCAPIENTRY alcCreateContext( ALCdevice *dev,
|
|
ALint* attrlist );
|
|
|
|
/**
|
|
* There is no current context, as we can mix
|
|
* several active contexts. But al* calls
|
|
* only affect the current context.
|
|
*/
|
|
ALCAPI ALCenum ALCAPIENTRY alcMakeContextCurrent( ALCcontext *alcHandle );
|
|
|
|
/**
|
|
* Perform processing on a synced context, non-op on a asynchronous
|
|
* context.
|
|
*/
|
|
ALCAPI ALCcontext * ALCAPIENTRY alcProcessContext( ALCcontext *alcHandle );
|
|
|
|
/**
|
|
* Suspend processing on an asynchronous context, non-op on a
|
|
* synced context.
|
|
*/
|
|
ALCAPI void ALCAPIENTRY alcSuspendContext( ALCcontext *alcHandle );
|
|
|
|
ALCAPI ALCenum ALCAPIENTRY alcDestroyContext( ALCcontext *alcHandle );
|
|
|
|
ALCAPI ALCenum ALCAPIENTRY alcGetError( ALCdevice *dev );
|
|
|
|
ALCAPI ALCcontext * ALCAPIENTRY alcGetCurrentContext( ALvoid );
|
|
|
|
ALCAPI ALCdevice *alcOpenDevice( const ALubyte *tokstr );
|
|
ALCAPI void alcCloseDevice( ALCdevice *dev );
|
|
|
|
ALCAPI ALboolean ALCAPIENTRY alcIsExtensionPresent(ALCdevice *device, ALubyte *extName);
|
|
ALCAPI ALvoid * ALCAPIENTRY alcGetProcAddress(ALCdevice *device, ALubyte *funcName);
|
|
ALCAPI ALenum ALCAPIENTRY alcGetEnumValue(ALCdevice *device, ALubyte *enumName);
|
|
|
|
ALCAPI ALCdevice* ALCAPIENTRY alcGetContextsDevice(ALCcontext *context);
|
|
|
|
|
|
/**
|
|
* Query functions
|
|
*/
|
|
const ALubyte * alcGetString( ALCdevice *deviceHandle, ALenum token );
|
|
void alcGetIntegerv( ALCdevice *deviceHandle, ALenum token , ALsizei size , ALint *dest );
|
|
|
|
#else
|
|
ALCcontext * (*alcCreateContext)( ALCdevice *dev, ALint* attrlist );
|
|
ALCenum (*alcMakeContextCurrent)( ALCcontext *alcHandle );
|
|
ALCcontext * (*alcProcessContext)( ALCcontext *alcHandle );
|
|
void (*alcSuspendContext)( ALCcontext *alcHandle );
|
|
ALCenum (*alcDestroyContext)( ALCcontext *alcHandle );
|
|
ALCenum (*alcGetError)( ALCdevice *dev );
|
|
ALCcontext * (*alcGetCurrentContext)( ALvoid );
|
|
ALCdevice * (*alcOpenDevice)( const ALubyte *tokstr );
|
|
void (*alcCloseDevice)( ALCdevice *dev );
|
|
ALboolean (*alcIsExtensionPresent)( ALCdevice *device, ALubyte *extName );
|
|
ALvoid * (*alcGetProcAddress)(ALCdevice *device, ALubyte *funcName );
|
|
ALenum (*alcGetEnumValue)(ALCdevice *device, ALubyte *enumName);
|
|
ALCdevice* (*alcGetContextsDevice)(ALCcontext *context);
|
|
const ALubyte* (*alcGetString)( ALCdevice *deviceHandle, ALenum token );
|
|
void (*alcGetIntegerv)( ALCdevice *deviceHandle, ALenum token , ALsizei size , ALint *dest );
|
|
|
|
#endif /* AL_NO_PROTOTYPES */
|
|
|
|
#ifdef TARGET_OS_MAC
|
|
#if TARGET_OS_MAC
|
|
#pragma export off
|
|
#endif /* TARGET_OS_MAC */
|
|
#endif /* TARGET_OS_MAC */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* ALC_CONTEXT_H_ */
|