blob: 96e7d20491b7ba369c49caf1e396e1087f99ed62 [file] [log] [blame]
/* See COPYING.txt for the full license governing this code. */
/**
* \file SDL_visualtest_screenshot.h
*
* Header for the screenshot API.
*/
#include "SDL_visualtest_process.h"
#ifndef _SDL_visualtest_screenshot_h
#define _SDL_visualtest_screenshot_h
/* Set up for C function definitions, even when using C++ */
#ifdef __cplusplus
extern "C" {
#endif
/**
* Takes a screenshot of each window owned by the process \c pinfo and saves
* it in a file \c prefix-i.png where \c prefix is the full path to the file
* along with a prefix given to each screenshot.
*
* \return 1 on success, 0 on failure.
*/
int SDLVisualTest_ScreenshotProcess(SDL_ProcessInfo* pinfo, char* prefix);
/**
* Takes a screenshot of the desktop and saves it into the file with path
* \c filename.
*
* \return 1 on success, 0 on failure.
*/
int SDLVisualTest_ScreenshotDesktop(char* filename);
/**
* Compare a screenshot taken previously with SUT arguments \c args that is
* located in \c test_dir with a verification image that is located in
* \c verify_dir.
*
* \return -1 on failure, 0 if the images were not equal, 1 if the images are equal
* and 2 if the verification image is not present.
*/
int SDLVisualTest_VerifyScreenshots(char* args, char* test_dir, char* verify_dir);
/* Ends C function definitions when using C++ */
#ifdef __cplusplus
}
#endif
#endif /* _SDL_visualtest_screenshot_h */