mirror of
https://github.com/Relintai/sdl2_frt.git
synced 2024-12-20 22:16:49 +01:00
b72938c861
An existing hint lets apps that don't need the timer resolution changed avoid this, to save battery, etc, but this fixes several problems in timing, audio callbacks not firing fast enough, etc. Fixes Bugzilla #2944.
93 lines
2.4 KiB
C
93 lines
2.4 KiB
C
/* See COPYING.txt for the full license governing this code. */
|
|
/**
|
|
* \file variators.c
|
|
*
|
|
* Source file for the operations that act on variators.
|
|
*/
|
|
|
|
#include <SDL_test.h>
|
|
#include "SDL_visualtest_variators.h"
|
|
|
|
int
|
|
SDLVisualTest_InitVariator(SDLVisualTest_Variator* variator,
|
|
SDLVisualTest_SUTConfig* config,
|
|
SDLVisualTest_VariatorType type,
|
|
Uint64 seed)
|
|
{
|
|
if(!variator)
|
|
{
|
|
SDLTest_LogError("variator argument cannot be NULL");
|
|
return 0;
|
|
}
|
|
if(!config)
|
|
{
|
|
SDLTest_LogError("config argument cannot be NULL");
|
|
return 0;
|
|
}
|
|
|
|
variator->type = type;
|
|
switch(type)
|
|
{
|
|
case SDL_VARIATOR_EXHAUSTIVE:
|
|
return SDLVisualTest_InitExhaustiveVariator(&variator->data.exhaustive,
|
|
config);
|
|
break;
|
|
|
|
case SDL_VARIATOR_RANDOM:
|
|
return SDLVisualTest_InitRandomVariator(&variator->data.random,
|
|
config, seed);
|
|
break;
|
|
|
|
default:
|
|
SDLTest_LogError("Invalid value for variator type");
|
|
return 0;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
char*
|
|
SDLVisualTest_GetNextVariation(SDLVisualTest_Variator* variator)
|
|
{
|
|
if(!variator)
|
|
{
|
|
SDLTest_LogError("variator argument cannot be NULL");
|
|
return NULL;
|
|
}
|
|
switch(variator->type)
|
|
{
|
|
case SDL_VARIATOR_EXHAUSTIVE:
|
|
return SDLVisualTest_GetNextExhaustiveVariation(&variator->data.exhaustive);
|
|
break;
|
|
|
|
case SDL_VARIATOR_RANDOM:
|
|
return SDLVisualTest_GetNextRandomVariation(&variator->data.random);
|
|
break;
|
|
|
|
default:
|
|
SDLTest_LogError("Invalid value for variator type");
|
|
return NULL;
|
|
}
|
|
return NULL;
|
|
}
|
|
|
|
void SDLVisualTest_FreeVariator(SDLVisualTest_Variator* variator)
|
|
{
|
|
if(!variator)
|
|
{
|
|
SDLTest_LogError("variator argument cannot be NULL");
|
|
return;
|
|
}
|
|
switch(variator->type)
|
|
{
|
|
case SDL_VARIATOR_EXHAUSTIVE:
|
|
SDLVisualTest_FreeExhaustiveVariator(&variator->data.exhaustive);
|
|
break;
|
|
|
|
case SDL_VARIATOR_RANDOM:
|
|
SDLVisualTest_FreeRandomVariator(&variator->data.random);
|
|
break;
|
|
|
|
default:
|
|
SDLTest_LogError("Invalid value for variator type");
|
|
}
|
|
} |