xref: /petsc/src/sys/classes/draw/interface/dpause.c (revision dadcf80911fb48939c55327431ae8d7e47dbe367)
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 
175c6c1daeSBarry Smith .seealso: PetscDrawSetPause(), PetscDrawGetPause()
185c6c1daeSBarry Smith @*/
195c6c1daeSBarry Smith PetscErrorCode  PetscDrawPause(PetscDraw draw)
205c6c1daeSBarry Smith {
215c6c1daeSBarry Smith   PetscFunctionBegin;
225c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1);
235c6c1daeSBarry Smith   if (draw->ops->pause) {
245f80ce2aSJacob Faibussowitsch     CHKERRQ((*draw->ops->pause)(draw));
255c6c1daeSBarry Smith   }
265c6c1daeSBarry Smith   PetscFunctionReturn(0);
275c6c1daeSBarry Smith }
288f69470aSLisandro Dalcin 
298f69470aSLisandro Dalcin /*@
308f69470aSLisandro Dalcin    PetscDrawSetPause - Sets the amount of time that program pauses after
318f69470aSLisandro Dalcin    a PetscDrawPause() is called.
328f69470aSLisandro Dalcin 
338f69470aSLisandro Dalcin    Logically Collective on PetscDraw
348f69470aSLisandro Dalcin 
358f69470aSLisandro Dalcin    Input Parameters:
368f69470aSLisandro Dalcin +  draw   - the drawing object
378f69470aSLisandro Dalcin -  lpause - number of seconds to pause, -1 implies until user input, -2 pauses only on the PetscDrawDestroy()
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 
458f69470aSLisandro Dalcin .seealso: PetscDrawGetPause(), PetscDrawPause()
468f69470aSLisandro Dalcin @*/
478f69470aSLisandro Dalcin PetscErrorCode  PetscDrawSetPause(PetscDraw draw,PetscReal lpause)
488f69470aSLisandro Dalcin {
498f69470aSLisandro Dalcin   PetscFunctionBegin;
508f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1);
518f69470aSLisandro Dalcin   PetscValidLogicalCollectiveReal(draw,lpause,2);
528f69470aSLisandro Dalcin   draw->pause = lpause;
538f69470aSLisandro Dalcin   PetscFunctionReturn(0);
548f69470aSLisandro Dalcin }
558f69470aSLisandro Dalcin 
568f69470aSLisandro Dalcin /*@
578f69470aSLisandro Dalcin    PetscDrawGetPause - Gets the amount of time that program pauses after
588f69470aSLisandro Dalcin    a PetscDrawPause() is called.
598f69470aSLisandro Dalcin 
608f69470aSLisandro Dalcin    Not collective
618f69470aSLisandro Dalcin 
628f69470aSLisandro Dalcin    Input Parameters:
638f69470aSLisandro Dalcin +  draw   - the drawing object
648f69470aSLisandro Dalcin -  lpause - number of seconds to pause, -1 implies until user input
658f69470aSLisandro Dalcin 
668f69470aSLisandro Dalcin    Level: intermediate
678f69470aSLisandro Dalcin 
688f69470aSLisandro Dalcin    Note:
698f69470aSLisandro Dalcin    By default the pause time is zero unless the -draw_pause option is given
708f69470aSLisandro Dalcin 
718f69470aSLisandro Dalcin .seealso: PetscDrawSetPause(), PetscDrawPause()
728f69470aSLisandro Dalcin @*/
738f69470aSLisandro Dalcin PetscErrorCode  PetscDrawGetPause(PetscDraw draw,PetscReal *lpause)
748f69470aSLisandro Dalcin {
758f69470aSLisandro Dalcin   PetscFunctionBegin;
768f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1);
77*dadcf809SJacob Faibussowitsch   PetscValidRealPointer(lpause,2);
788f69470aSLisandro Dalcin   *lpause = draw->pause;
798f69470aSLisandro Dalcin   PetscFunctionReturn(0);
808f69470aSLisandro Dalcin }
81