xref: /petsc/src/sys/classes/draw/interface/dpause.c (revision cfd92c66bdae16b66d27a6336fb90fa54c459cc4)
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 @*/
PetscDrawPause(PetscDraw draw)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 @*/
PetscDrawSetPause(PetscDraw draw,PetscReal lpause)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 
5820f4b53cSBarry 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 @*/
PetscDrawGetPause(PetscDraw draw,PetscReal * lpause)71d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawGetPause(PetscDraw draw, PetscReal *lpause)
72d71ae5a4SJacob Faibussowitsch {
738f69470aSLisandro Dalcin   PetscFunctionBegin;
748f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
75*4f572ea9SToby Isaac   PetscAssertPointer(lpause, 2);
768f69470aSLisandro Dalcin   *lpause = draw->pause;
773ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
788f69470aSLisandro Dalcin }
79