xref: /petsc/src/sys/classes/draw/interface/dclear.c (revision 9566063d113dddea24716c546802770db7481bc0)
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 /*@
75b399a63SLisandro Dalcin    PetscDrawClear - Clears graphical output. All processors must call this routine.
88f69470aSLisandro Dalcin    Does not return until the draw in context is clear.
98f69470aSLisandro Dalcin 
108f69470aSLisandro Dalcin    Collective on PetscDraw
118f69470aSLisandro Dalcin 
128f69470aSLisandro Dalcin    Input Parameters:
138f69470aSLisandro Dalcin .  draw - the drawing context
148f69470aSLisandro Dalcin 
158f69470aSLisandro Dalcin    Level: intermediate
168f69470aSLisandro Dalcin 
178f69470aSLisandro Dalcin @*/
185b399a63SLisandro Dalcin PetscErrorCode  PetscDrawClear(PetscDraw draw)
198f69470aSLisandro Dalcin {
208f69470aSLisandro Dalcin   PetscFunctionBegin;
218f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1);
22*9566063dSJacob Faibussowitsch   if (draw->saveonclear) PetscCall(PetscDrawSave(draw));
235b399a63SLisandro Dalcin   if (draw->ops->clear) {
24*9566063dSJacob Faibussowitsch     PetscCall((*draw->ops->clear)(draw));
258f69470aSLisandro Dalcin   }
268f69470aSLisandro Dalcin   PetscFunctionReturn(0);
278f69470aSLisandro Dalcin }
288f69470aSLisandro Dalcin 
295c6c1daeSBarry Smith /*@
305c6c1daeSBarry Smith    PetscDrawBOP - Begins a new page or frame on the selected graphical device.
315c6c1daeSBarry Smith 
325c6c1daeSBarry Smith    Logically Collective on PetscDraw
335c6c1daeSBarry Smith 
345c6c1daeSBarry Smith    Input Parameter:
355c6c1daeSBarry Smith .  draw - the drawing context
365c6c1daeSBarry Smith 
375c6c1daeSBarry Smith    Level: advanced
385c6c1daeSBarry Smith 
395c6c1daeSBarry Smith .seealso: PetscDrawEOP(), PetscDrawClear()
405c6c1daeSBarry Smith @*/
415c6c1daeSBarry Smith PetscErrorCode  PetscDrawBOP(PetscDraw draw)
425c6c1daeSBarry Smith {
435c6c1daeSBarry Smith   PetscFunctionBegin;
445c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1);
455c6c1daeSBarry Smith   if (draw->ops->beginpage) {
46*9566063dSJacob Faibussowitsch     PetscCall((*draw->ops->beginpage)(draw));
475c6c1daeSBarry Smith   }
485c6c1daeSBarry Smith   PetscFunctionReturn(0);
495c6c1daeSBarry Smith }
505c6c1daeSBarry Smith /*@
515c6c1daeSBarry Smith    PetscDrawEOP - Ends a page or frame on the selected graphical device.
525c6c1daeSBarry Smith 
535c6c1daeSBarry Smith    Logically Collective on PetscDraw
545c6c1daeSBarry Smith 
555c6c1daeSBarry Smith    Input Parameter:
565c6c1daeSBarry Smith .  draw - the drawing context
575c6c1daeSBarry Smith 
585c6c1daeSBarry Smith    Level: advanced
595c6c1daeSBarry Smith 
605c6c1daeSBarry Smith .seealso: PetscDrawBOP(), PetscDrawClear()
615c6c1daeSBarry Smith @*/
625c6c1daeSBarry Smith PetscErrorCode  PetscDrawEOP(PetscDraw draw)
635c6c1daeSBarry Smith {
645c6c1daeSBarry Smith   PetscFunctionBegin;
655c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1);
665c6c1daeSBarry Smith   if (draw->ops->endpage) {
67*9566063dSJacob Faibussowitsch     PetscCall((*draw->ops->endpage)(draw));
685c6c1daeSBarry Smith   }
695c6c1daeSBarry Smith   PetscFunctionReturn(0);
705c6c1daeSBarry Smith }
71