diff --git a/direct/src/showbase/showBase.cxx b/direct/src/showbase/showBase.cxx index 2a38f0eb55..cb534e7d7b 100644 --- a/direct/src/showbase/showBase.cxx +++ b/direct/src/showbase/showBase.cxx @@ -291,3 +291,36 @@ get_config_showbase() { return config_showbase; } +// klunky interface since we cant pass array from python->C++ to use verify_window_sizes directly +static unsigned int num_fullscreen_testsizes=0; +#define MAX_FULLSCREEN_TESTS 10 +static unsigned int fullscreen_testsizes[MAX_FULLSCREEN_TESTS*2]; + +void add_fullscreen_testsize(unsigned int xsize,unsigned int ysize) { + if((xsize==0) && (ysize==0)) { + num_fullscreen_testsizes=0; + return; + } + + // silently fail if maxtests exceeded + if(num_fullscreen_testsizesverify_window_sizes(num_fullscreen_testsizes,fullscreen_testsizes); +} + +bool query_fullscreen_testresult(unsigned int xsize,unsigned int ysize) { + // stupid linear search that works ok as long as total tests are small + for(int i=0;iC++ +EXPCL_DIRECT void add_fullscreen_testsize(unsigned int xsize,unsigned int ysize); +EXPCL_DIRECT void runtest_fullscreen_sizes(GraphicsWindow *win); +EXPCL_DIRECT bool query_fullscreen_testresult(unsigned int xsize,unsigned int ysize); + EXPCL_DIRECT void take_snapshot(GraphicsWindow *win, const string &name); EXPCL_DIRECT ConfigShowbase &get_config_showbase();