1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
/*
PsychToolbox3/Source/Common/Screen/ScreenExit.cpp
AUTHORS:
Allen.Ingling@nyu.edu awi
mario.kleiner@tuebingen.mpg.de mk
PLATFORMS:
All.
HISTORY:
12/20/01 awi Created.
1/25/04 awi Added update provided by mk. It makes the ScreenCloseAllWindows call.
7/22/05 mk Added call to CloseWindowBank() to free dynamic window bank array.
DESCRIPTION:
ScreenExitFunction is called before the Screen module is flushed.
*/
#include "Screen.h"
void PsychCleanupSCREENFillPoly(void);
PsychError ScreenExitFunction(void)
{
//The timing array holds time values set by Screen internal diagnostics. It allocates memory with
//malloc to hold the array of times. This call frees the memory prior to unloading Screen
ClearTimingArray();
// Close all open onscreen windows and release their resources,
// -> Perform exactly the same cleanup that Screen('CloseAll') would do.
ScreenCloseAllWindows();
CloseWindowBank();
// Shutdown low-level display glue (Screens, displays, kernel-drivers et al.):
PsychCleanupDisplayGlue();
// Cleanup internal data structures of SCREEN('FillPoly');
// This is defined in Common/Screen/SCREENFillPoly.c
PsychCleanupSCREENFillPoly();
// Release our internal locale object for character <-> unicode conversion:
PsychSetUnicodeTextConversionLocale(NULL);
return(PsychError_none);
}
|