xref: /petsc/src/sys/classes/draw/interface/dpause.c (revision 8f69470a7058bcc0cf21d9492705f60bbdfc5aa4)
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 #undef __FUNCT__
75c6c1daeSBarry Smith #define __FUNCT__ "PetscDrawPause"
85c6c1daeSBarry Smith /*@
95c6c1daeSBarry Smith    PetscDrawPause - Waits n seconds or until user input, depending on input
105c6c1daeSBarry Smith                to PetscDrawSetPause().
115c6c1daeSBarry Smith 
125c6c1daeSBarry Smith    Collective operation on PetscDraw object.
135c6c1daeSBarry Smith 
145c6c1daeSBarry Smith    Input Parameter:
155c6c1daeSBarry Smith .  draw - the drawing context
165c6c1daeSBarry Smith 
175c6c1daeSBarry Smith    Level: beginner
185c6c1daeSBarry Smith 
195c6c1daeSBarry Smith    Concepts: waiting^for user input
205c6c1daeSBarry Smith    Concepts: drawing^waiting
215c6c1daeSBarry Smith    Concepts: graphics^waiting
225c6c1daeSBarry Smith 
235c6c1daeSBarry Smith .seealso: PetscDrawSetPause(), PetscDrawGetPause()
245c6c1daeSBarry Smith @*/
255c6c1daeSBarry Smith PetscErrorCode  PetscDrawPause(PetscDraw draw)
265c6c1daeSBarry Smith {
275c6c1daeSBarry Smith   PetscErrorCode ierr;
285fd66863SKarl Rupp 
295c6c1daeSBarry Smith   PetscFunctionBegin;
305c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1);
315c6c1daeSBarry Smith   if (draw->ops->pause) {
325c6c1daeSBarry Smith     ierr = (*draw->ops->pause)(draw);CHKERRQ(ierr);
335c6c1daeSBarry Smith   }
345c6c1daeSBarry Smith   PetscFunctionReturn(0);
355c6c1daeSBarry Smith }
36*8f69470aSLisandro Dalcin 
37*8f69470aSLisandro Dalcin #undef __FUNCT__
38*8f69470aSLisandro Dalcin #define __FUNCT__ "PetscDrawSetPause"
39*8f69470aSLisandro Dalcin /*@
40*8f69470aSLisandro Dalcin    PetscDrawSetPause - Sets the amount of time that program pauses after
41*8f69470aSLisandro Dalcin    a PetscDrawPause() is called.
42*8f69470aSLisandro Dalcin 
43*8f69470aSLisandro Dalcin    Logically Collective on PetscDraw
44*8f69470aSLisandro Dalcin 
45*8f69470aSLisandro Dalcin    Input Parameters:
46*8f69470aSLisandro Dalcin +  draw   - the drawing object
47*8f69470aSLisandro Dalcin -  lpause - number of seconds to pause, -1 implies until user input, -2 pauses only on the PetscDrawDestroy()
48*8f69470aSLisandro Dalcin 
49*8f69470aSLisandro Dalcin    Level: intermediate
50*8f69470aSLisandro Dalcin 
51*8f69470aSLisandro Dalcin    Note:
52*8f69470aSLisandro Dalcin    By default the pause time is zero unless the -draw_pause option is given
53*8f69470aSLisandro Dalcin    during PetscDrawCreate().
54*8f69470aSLisandro Dalcin 
55*8f69470aSLisandro Dalcin    Concepts: drawing^waiting
56*8f69470aSLisandro Dalcin 
57*8f69470aSLisandro Dalcin .seealso: PetscDrawGetPause(), PetscDrawPause()
58*8f69470aSLisandro Dalcin @*/
59*8f69470aSLisandro Dalcin PetscErrorCode  PetscDrawSetPause(PetscDraw draw,PetscReal lpause)
60*8f69470aSLisandro Dalcin {
61*8f69470aSLisandro Dalcin   PetscFunctionBegin;
62*8f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1);
63*8f69470aSLisandro Dalcin   PetscValidLogicalCollectiveReal(draw,lpause,2);
64*8f69470aSLisandro Dalcin   draw->pause = lpause;
65*8f69470aSLisandro Dalcin   PetscFunctionReturn(0);
66*8f69470aSLisandro Dalcin }
67*8f69470aSLisandro Dalcin 
68*8f69470aSLisandro Dalcin #undef __FUNCT__
69*8f69470aSLisandro Dalcin #define __FUNCT__ "PetscDrawGetPause"
70*8f69470aSLisandro Dalcin /*@
71*8f69470aSLisandro Dalcin    PetscDrawGetPause - Gets the amount of time that program pauses after
72*8f69470aSLisandro Dalcin    a PetscDrawPause() is called.
73*8f69470aSLisandro Dalcin 
74*8f69470aSLisandro Dalcin    Not collective
75*8f69470aSLisandro Dalcin 
76*8f69470aSLisandro Dalcin    Input Parameters:
77*8f69470aSLisandro Dalcin +  draw   - the drawing object
78*8f69470aSLisandro Dalcin -  lpause - number of seconds to pause, -1 implies until user input
79*8f69470aSLisandro Dalcin 
80*8f69470aSLisandro Dalcin    Level: intermediate
81*8f69470aSLisandro Dalcin 
82*8f69470aSLisandro Dalcin    Note:
83*8f69470aSLisandro Dalcin    By default the pause time is zero unless the -draw_pause option is given
84*8f69470aSLisandro Dalcin 
85*8f69470aSLisandro Dalcin    Concepts: waiting^for user input
86*8f69470aSLisandro Dalcin    Concepts: drawing^waiting
87*8f69470aSLisandro Dalcin    Concepts: graphics^waiting
88*8f69470aSLisandro Dalcin 
89*8f69470aSLisandro Dalcin .seealso: PetscDrawSetPause(), PetscDrawPause()
90*8f69470aSLisandro Dalcin @*/
91*8f69470aSLisandro Dalcin PetscErrorCode  PetscDrawGetPause(PetscDraw draw,PetscReal *lpause)
92*8f69470aSLisandro Dalcin {
93*8f69470aSLisandro Dalcin   PetscFunctionBegin;
94*8f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1);
95*8f69470aSLisandro Dalcin   PetscValidPointer(lpause,2);
96*8f69470aSLisandro Dalcin   *lpause = draw->pause;
97*8f69470aSLisandro Dalcin   PetscFunctionReturn(0);
98*8f69470aSLisandro Dalcin }
99