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__ "PetscDrawFlush" 85c6c1daeSBarry Smith /*@ 95c6c1daeSBarry Smith PetscDrawFlush - Flushs graphical output. 105c6c1daeSBarry Smith 115c6c1daeSBarry Smith Not collective (Use PetscDrawSynchronizedFlush() for collective) 125c6c1daeSBarry Smith 135c6c1daeSBarry Smith Input Parameters: 145c6c1daeSBarry Smith . draw - the drawing context 155c6c1daeSBarry Smith 165c6c1daeSBarry Smith Level: beginner 175c6c1daeSBarry Smith 185c6c1daeSBarry Smith Concepts: flushing^graphics 195c6c1daeSBarry Smith 205c6c1daeSBarry Smith .seealso: PetscDrawSynchronizedFlush() 215c6c1daeSBarry Smith @*/ 225c6c1daeSBarry Smith PetscErrorCode PetscDrawFlush(PetscDraw draw) 235c6c1daeSBarry Smith { 245c6c1daeSBarry Smith PetscErrorCode ierr; 255fd66863SKarl Rupp 265c6c1daeSBarry Smith PetscFunctionBegin; 275c6c1daeSBarry Smith PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1); 285c6c1daeSBarry Smith if (draw->ops->flush) { 295c6c1daeSBarry Smith ierr = (*draw->ops->flush)(draw);CHKERRQ(ierr); 305c6c1daeSBarry Smith } 315c6c1daeSBarry Smith PetscFunctionReturn(0); 325c6c1daeSBarry Smith } 33*8f69470aSLisandro Dalcin 34*8f69470aSLisandro Dalcin #undef __FUNCT__ 35*8f69470aSLisandro Dalcin #define __FUNCT__ "PetscDrawSynchronizedFlush" 36*8f69470aSLisandro Dalcin /*@ 37*8f69470aSLisandro Dalcin PetscDrawSynchronizedFlush - Flushes graphical output. This waits until all 38*8f69470aSLisandro Dalcin processors have arrived and flushed, then does a global flush. 39*8f69470aSLisandro Dalcin This is usually done to change the frame for double buffered graphics. 40*8f69470aSLisandro Dalcin 41*8f69470aSLisandro Dalcin Collective on PetscDraw 42*8f69470aSLisandro Dalcin 43*8f69470aSLisandro Dalcin Input Parameters: 44*8f69470aSLisandro Dalcin . draw - the drawing context 45*8f69470aSLisandro Dalcin 46*8f69470aSLisandro Dalcin Level: beginner 47*8f69470aSLisandro Dalcin 48*8f69470aSLisandro Dalcin Concepts: flushing^graphics 49*8f69470aSLisandro Dalcin 50*8f69470aSLisandro Dalcin .seealso: PetscDrawFlush() 51*8f69470aSLisandro Dalcin 52*8f69470aSLisandro Dalcin @*/ 53*8f69470aSLisandro Dalcin PetscErrorCode PetscDrawSynchronizedFlush(PetscDraw draw) 54*8f69470aSLisandro Dalcin { 55*8f69470aSLisandro Dalcin PetscErrorCode ierr; 56*8f69470aSLisandro Dalcin 57*8f69470aSLisandro Dalcin PetscFunctionBegin; 58*8f69470aSLisandro Dalcin PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1); 59*8f69470aSLisandro Dalcin if (draw->ops->synchronizedflush) { 60*8f69470aSLisandro Dalcin ierr = (*draw->ops->synchronizedflush)(draw);CHKERRQ(ierr); 61*8f69470aSLisandro Dalcin } 62*8f69470aSLisandro Dalcin PetscFunctionReturn(0); 63*8f69470aSLisandro Dalcin } 64