xref: /petsc/src/sys/classes/draw/interface/dpause.c (revision 9371c9d470a9602b6d10a8bf50c9b2280a79e45a)
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
85c6c1daeSBarry Smith                to PetscDrawSetPause().
95c6c1daeSBarry Smith 
105c6c1daeSBarry Smith    Collective operation on PetscDraw object.
115c6c1daeSBarry Smith 
125c6c1daeSBarry Smith    Input Parameter:
135c6c1daeSBarry Smith .  draw - the drawing context
145c6c1daeSBarry Smith 
155c6c1daeSBarry Smith    Level: beginner
165c6c1daeSBarry Smith 
17db781477SPatrick Sanan .seealso: `PetscDrawSetPause()`, `PetscDrawGetPause()`
185c6c1daeSBarry Smith @*/
19*9371c9d4SSatish 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
288f69470aSLisandro Dalcin    a PetscDrawPause() is called.
298f69470aSLisandro Dalcin 
308f69470aSLisandro Dalcin    Logically Collective on PetscDraw
318f69470aSLisandro Dalcin 
328f69470aSLisandro Dalcin    Input Parameters:
338f69470aSLisandro Dalcin +  draw   - the drawing object
348f69470aSLisandro Dalcin -  lpause - number of seconds to pause, -1 implies until user input, -2 pauses only on the PetscDrawDestroy()
358f69470aSLisandro Dalcin 
368f69470aSLisandro Dalcin    Level: intermediate
378f69470aSLisandro Dalcin 
388f69470aSLisandro Dalcin    Note:
398f69470aSLisandro Dalcin    By default the pause time is zero unless the -draw_pause option is given
408f69470aSLisandro Dalcin    during PetscDrawCreate().
418f69470aSLisandro Dalcin 
42db781477SPatrick Sanan .seealso: `PetscDrawGetPause()`, `PetscDrawPause()`
438f69470aSLisandro Dalcin @*/
44*9371c9d4SSatish Balay PetscErrorCode PetscDrawSetPause(PetscDraw draw, PetscReal lpause) {
458f69470aSLisandro Dalcin   PetscFunctionBegin;
468f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
478f69470aSLisandro Dalcin   PetscValidLogicalCollectiveReal(draw, lpause, 2);
488f69470aSLisandro Dalcin   draw->pause = lpause;
498f69470aSLisandro Dalcin   PetscFunctionReturn(0);
508f69470aSLisandro Dalcin }
518f69470aSLisandro Dalcin 
528f69470aSLisandro Dalcin /*@
538f69470aSLisandro Dalcin    PetscDrawGetPause - Gets the amount of time that program pauses after
548f69470aSLisandro Dalcin    a PetscDrawPause() is called.
558f69470aSLisandro Dalcin 
568f69470aSLisandro Dalcin    Not collective
578f69470aSLisandro Dalcin 
588f69470aSLisandro Dalcin    Input Parameters:
598f69470aSLisandro Dalcin +  draw   - the drawing object
608f69470aSLisandro Dalcin -  lpause - number of seconds to pause, -1 implies until user input
618f69470aSLisandro Dalcin 
628f69470aSLisandro Dalcin    Level: intermediate
638f69470aSLisandro Dalcin 
648f69470aSLisandro Dalcin    Note:
658f69470aSLisandro Dalcin    By default the pause time is zero unless the -draw_pause option is given
668f69470aSLisandro Dalcin 
67db781477SPatrick Sanan .seealso: `PetscDrawSetPause()`, `PetscDrawPause()`
688f69470aSLisandro Dalcin @*/
69*9371c9d4SSatish Balay PetscErrorCode PetscDrawGetPause(PetscDraw draw, PetscReal *lpause) {
708f69470aSLisandro Dalcin   PetscFunctionBegin;
718f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
72dadcf809SJacob Faibussowitsch   PetscValidRealPointer(lpause, 2);
738f69470aSLisandro Dalcin   *lpause = draw->pause;
748f69470aSLisandro Dalcin   PetscFunctionReturn(0);
758f69470aSLisandro Dalcin }
76