Edit

kc3-lang/SDL/visualtest/src/variators.c

Branch :

  • Show log

    Commit

  • Author : David Ludwig
    Date : 2014-12-03 10:55:23
    Hash : 70438be2
    Message : WinRT: fixed bug whereby SDL would override an app's default orientation WinRT apps can set a default, preferred orientation via a .appxmanifest file. SDL was overriding this on app startup, and making the app use all possible orientations (landscape and portrait). Thanks to Eric Wing for the heads up on this!

  • visualtest/src/variators.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");
        }
    }