xref: /petsc/src/sys/classes/draw/interface/dpause.c (revision 20f4b53cbb5e9bd9ef12b76a8697d60d197cda17)
1af0996ceSBarry Smith #include <petsc/private/drawimpl.h> /*I "petscdraw.h" I*/
25c6c1daeSBarry Smith 
35c6c1daeSBarry Smith /*@
45c6c1daeSBarry Smith    PetscDrawPause - Waits n seconds or until user input, depending on input
5811af0c4SBarry Smith                to `PetscDrawSetPause()`.
65c6c1daeSBarry Smith 
7c3339decSBarry Smith    Collective
85c6c1daeSBarry Smith 
95c6c1daeSBarry Smith    Input Parameter:
105c6c1daeSBarry Smith .  draw - the drawing context
115c6c1daeSBarry Smith 
125c6c1daeSBarry Smith    Level: beginner
135c6c1daeSBarry Smith 
14811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawSetPause()`, `PetscDrawGetPause()`
155c6c1daeSBarry Smith @*/
16d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawPause(PetscDraw draw)
17d71ae5a4SJacob Faibussowitsch {
185c6c1daeSBarry Smith   PetscFunctionBegin;
195c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
20dbbe0bcdSBarry Smith   PetscTryTypeMethod(draw, pause);
213ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
225c6c1daeSBarry Smith }
238f69470aSLisandro Dalcin 
248f69470aSLisandro Dalcin /*@
258f69470aSLisandro Dalcin    PetscDrawSetPause - Sets the amount of time that program pauses after
26811af0c4SBarry Smith    a `PetscDrawPause()` is called.
278f69470aSLisandro Dalcin 
28c3339decSBarry Smith    Logically Collective
298f69470aSLisandro Dalcin 
308f69470aSLisandro Dalcin    Input Parameters:
318f69470aSLisandro Dalcin +  draw   - the drawing object
32811af0c4SBarry Smith -  lpause - number of seconds to pause, -1 implies until user input, -2 pauses only on the `PetscDrawDestroy()`
33811af0c4SBarry Smith 
34811af0c4SBarry Smith    Options Database Key:
35811af0c4SBarry Smith .  -draw_pause value - set the time to pause
368f69470aSLisandro Dalcin 
378f69470aSLisandro Dalcin    Level: intermediate
388f69470aSLisandro Dalcin 
398f69470aSLisandro Dalcin    Note:
408f69470aSLisandro Dalcin    By default the pause time is zero unless the -draw_pause option is given
418f69470aSLisandro Dalcin    during PetscDrawCreate().
428f69470aSLisandro Dalcin 
43811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawGetPause()`, `PetscDrawPause()`
448f69470aSLisandro Dalcin @*/
45d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawSetPause(PetscDraw draw, PetscReal lpause)
46d71ae5a4SJacob Faibussowitsch {
478f69470aSLisandro Dalcin   PetscFunctionBegin;
488f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
498f69470aSLisandro Dalcin   PetscValidLogicalCollectiveReal(draw, lpause, 2);
508f69470aSLisandro Dalcin   draw->pause = lpause;
513ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
528f69470aSLisandro Dalcin }
538f69470aSLisandro Dalcin 
548f69470aSLisandro Dalcin /*@
558f69470aSLisandro Dalcin    PetscDrawGetPause - Gets the amount of time that program pauses after
56811af0c4SBarry Smith    a `PetscDrawPause()` is called.
578f69470aSLisandro Dalcin 
58*20f4b53cSBarry Smith    Not Collective
598f69470aSLisandro Dalcin 
608f69470aSLisandro Dalcin    Input Parameters:
618f69470aSLisandro Dalcin +  draw   - the drawing object
628f69470aSLisandro Dalcin -  lpause - number of seconds to pause, -1 implies until user input
638f69470aSLisandro Dalcin 
648f69470aSLisandro Dalcin    Level: intermediate
658f69470aSLisandro Dalcin 
668f69470aSLisandro Dalcin    Note:
678f69470aSLisandro Dalcin    By default the pause time is zero unless the -draw_pause option is given
688f69470aSLisandro Dalcin 
69811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawSetPause()`, `PetscDrawPause()`
708f69470aSLisandro Dalcin @*/
71d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawGetPause(PetscDraw draw, PetscReal *lpause)
72d71ae5a4SJacob Faibussowitsch {
738f69470aSLisandro Dalcin   PetscFunctionBegin;
748f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
75dadcf809SJacob Faibussowitsch   PetscValidRealPointer(lpause, 2);
768f69470aSLisandro Dalcin   *lpause = draw->pause;
773ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
788f69470aSLisandro Dalcin }
79