xref: /petsc/src/sys/classes/draw/interface/dpause.c (revision 811af0c4b09a35de4306c442f88bd09fdc09897d)
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