15c6c1daeSBarry Smith /* 25c6c1daeSBarry Smith Provides the calling sequences for all the basic PetscDraw routines. 35c6c1daeSBarry Smith */ 4af0996ceSBarry Smith #include <petsc/private/drawimpl.h> /*I "petscdraw.h" I*/ 55c6c1daeSBarry Smith 65c6c1daeSBarry Smith /*@ 75c6c1daeSBarry Smith PetscDrawPause - Waits n seconds or until user input, depending on input 8*811af0c4SBarry Smith to `PetscDrawSetPause()`. 95c6c1daeSBarry Smith 10*811af0c4SBarry Smith Collective on draw 115c6c1daeSBarry Smith 125c6c1daeSBarry Smith Input Parameter: 135c6c1daeSBarry Smith . draw - the drawing context 145c6c1daeSBarry Smith 155c6c1daeSBarry Smith Level: beginner 165c6c1daeSBarry Smith 17*811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawSetPause()`, `PetscDrawGetPause()` 185c6c1daeSBarry Smith @*/ 199371c9d4SSatish Balay PetscErrorCode PetscDrawPause(PetscDraw draw) { 205c6c1daeSBarry Smith PetscFunctionBegin; 215c6c1daeSBarry Smith PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1); 22dbbe0bcdSBarry Smith PetscTryTypeMethod(draw, pause); 235c6c1daeSBarry Smith PetscFunctionReturn(0); 245c6c1daeSBarry Smith } 258f69470aSLisandro Dalcin 268f69470aSLisandro Dalcin /*@ 278f69470aSLisandro Dalcin PetscDrawSetPause - Sets the amount of time that program pauses after 28*811af0c4SBarry Smith a `PetscDrawPause()` is called. 298f69470aSLisandro Dalcin 30*811af0c4SBarry Smith Logically Collective on draw 318f69470aSLisandro Dalcin 328f69470aSLisandro Dalcin Input Parameters: 338f69470aSLisandro Dalcin + draw - the drawing object 34*811af0c4SBarry Smith - lpause - number of seconds to pause, -1 implies until user input, -2 pauses only on the `PetscDrawDestroy()` 35*811af0c4SBarry Smith 36*811af0c4SBarry Smith Options Database Key: 37*811af0c4SBarry Smith . -draw_pause value - set the time to pause 388f69470aSLisandro Dalcin 398f69470aSLisandro Dalcin Level: intermediate 408f69470aSLisandro Dalcin 418f69470aSLisandro Dalcin Note: 428f69470aSLisandro Dalcin By default the pause time is zero unless the -draw_pause option is given 438f69470aSLisandro Dalcin during PetscDrawCreate(). 448f69470aSLisandro Dalcin 45*811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawGetPause()`, `PetscDrawPause()` 468f69470aSLisandro Dalcin @*/ 479371c9d4SSatish Balay PetscErrorCode PetscDrawSetPause(PetscDraw draw, PetscReal lpause) { 488f69470aSLisandro Dalcin PetscFunctionBegin; 498f69470aSLisandro Dalcin PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1); 508f69470aSLisandro Dalcin PetscValidLogicalCollectiveReal(draw, lpause, 2); 518f69470aSLisandro Dalcin draw->pause = lpause; 528f69470aSLisandro Dalcin PetscFunctionReturn(0); 538f69470aSLisandro Dalcin } 548f69470aSLisandro Dalcin 558f69470aSLisandro Dalcin /*@ 568f69470aSLisandro Dalcin PetscDrawGetPause - Gets the amount of time that program pauses after 57*811af0c4SBarry Smith a `PetscDrawPause()` is called. 588f69470aSLisandro Dalcin 598f69470aSLisandro Dalcin Not collective 608f69470aSLisandro Dalcin 618f69470aSLisandro Dalcin Input Parameters: 628f69470aSLisandro Dalcin + draw - the drawing object 638f69470aSLisandro Dalcin - lpause - number of seconds to pause, -1 implies until user input 648f69470aSLisandro Dalcin 658f69470aSLisandro Dalcin Level: intermediate 668f69470aSLisandro Dalcin 678f69470aSLisandro Dalcin Note: 688f69470aSLisandro Dalcin By default the pause time is zero unless the -draw_pause option is given 698f69470aSLisandro Dalcin 70*811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawSetPause()`, `PetscDrawPause()` 718f69470aSLisandro Dalcin @*/ 729371c9d4SSatish Balay PetscErrorCode PetscDrawGetPause(PetscDraw draw, PetscReal *lpause) { 738f69470aSLisandro Dalcin PetscFunctionBegin; 748f69470aSLisandro Dalcin PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1); 75dadcf809SJacob Faibussowitsch PetscValidRealPointer(lpause, 2); 768f69470aSLisandro Dalcin *lpause = draw->pause; 778f69470aSLisandro Dalcin PetscFunctionReturn(0); 788f69470aSLisandro Dalcin } 79