xref: /petsc/src/sys/classes/draw/interface/dpause.c (revision 3ba1676111f5c958fe6c2729b46ca4d523958bb3)
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
8811af0c4SBarry Smith                to `PetscDrawSetPause()`.
95c6c1daeSBarry Smith 
10c3339decSBarry Smith    Collective
115c6c1daeSBarry Smith 
125c6c1daeSBarry Smith    Input Parameter:
135c6c1daeSBarry Smith .  draw - the drawing context
145c6c1daeSBarry Smith 
155c6c1daeSBarry Smith    Level: beginner
165c6c1daeSBarry Smith 
17811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawSetPause()`, `PetscDrawGetPause()`
185c6c1daeSBarry Smith @*/
19d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawPause(PetscDraw draw)
20d71ae5a4SJacob Faibussowitsch {
215c6c1daeSBarry Smith   PetscFunctionBegin;
225c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
23dbbe0bcdSBarry Smith   PetscTryTypeMethod(draw, pause);
24*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
255c6c1daeSBarry Smith }
268f69470aSLisandro Dalcin 
278f69470aSLisandro Dalcin /*@
288f69470aSLisandro Dalcin    PetscDrawSetPause - Sets the amount of time that program pauses after
29811af0c4SBarry Smith    a `PetscDrawPause()` is called.
308f69470aSLisandro Dalcin 
31c3339decSBarry Smith    Logically Collective
328f69470aSLisandro Dalcin 
338f69470aSLisandro Dalcin    Input Parameters:
348f69470aSLisandro Dalcin +  draw   - the drawing object
35811af0c4SBarry Smith -  lpause - number of seconds to pause, -1 implies until user input, -2 pauses only on the `PetscDrawDestroy()`
36811af0c4SBarry Smith 
37811af0c4SBarry Smith    Options Database Key:
38811af0c4SBarry Smith .  -draw_pause value - set the time to pause
398f69470aSLisandro Dalcin 
408f69470aSLisandro Dalcin    Level: intermediate
418f69470aSLisandro Dalcin 
428f69470aSLisandro Dalcin    Note:
438f69470aSLisandro Dalcin    By default the pause time is zero unless the -draw_pause option is given
448f69470aSLisandro Dalcin    during PetscDrawCreate().
458f69470aSLisandro Dalcin 
46811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawGetPause()`, `PetscDrawPause()`
478f69470aSLisandro Dalcin @*/
48d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawSetPause(PetscDraw draw, PetscReal lpause)
49d71ae5a4SJacob Faibussowitsch {
508f69470aSLisandro Dalcin   PetscFunctionBegin;
518f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
528f69470aSLisandro Dalcin   PetscValidLogicalCollectiveReal(draw, lpause, 2);
538f69470aSLisandro Dalcin   draw->pause = lpause;
54*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
558f69470aSLisandro Dalcin }
568f69470aSLisandro Dalcin 
578f69470aSLisandro Dalcin /*@
588f69470aSLisandro Dalcin    PetscDrawGetPause - Gets the amount of time that program pauses after
59811af0c4SBarry Smith    a `PetscDrawPause()` is called.
608f69470aSLisandro Dalcin 
618f69470aSLisandro Dalcin    Not collective
628f69470aSLisandro Dalcin 
638f69470aSLisandro Dalcin    Input Parameters:
648f69470aSLisandro Dalcin +  draw   - the drawing object
658f69470aSLisandro Dalcin -  lpause - number of seconds to pause, -1 implies until user input
668f69470aSLisandro Dalcin 
678f69470aSLisandro Dalcin    Level: intermediate
688f69470aSLisandro Dalcin 
698f69470aSLisandro Dalcin    Note:
708f69470aSLisandro Dalcin    By default the pause time is zero unless the -draw_pause option is given
718f69470aSLisandro Dalcin 
72811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawSetPause()`, `PetscDrawPause()`
738f69470aSLisandro Dalcin @*/
74d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawGetPause(PetscDraw draw, PetscReal *lpause)
75d71ae5a4SJacob Faibussowitsch {
768f69470aSLisandro Dalcin   PetscFunctionBegin;
778f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
78dadcf809SJacob Faibussowitsch   PetscValidRealPointer(lpause, 2);
798f69470aSLisandro Dalcin   *lpause = draw->pause;
80*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
818f69470aSLisandro Dalcin }
82