15c6c1daeSBarry Smith 25c6c1daeSBarry Smith /* 35c6c1daeSBarry Smith Provides the calling sequences for all the basic PetscDraw routines. 45c6c1daeSBarry Smith */ 5af0996ceSBarry Smith #include <petsc/private/drawimpl.h> /*I "petscdraw.h" I*/ 65c6c1daeSBarry Smith 75c6c1daeSBarry Smith #undef __FUNCT__ 85c6c1daeSBarry Smith #define __FUNCT__ "PetscDrawSetCoordinates" 95c6c1daeSBarry Smith /*@ 105c6c1daeSBarry Smith PetscDrawSetCoordinates - Sets the application coordinates of the corners of 115c6c1daeSBarry Smith the window (or page). 125c6c1daeSBarry Smith 135c6c1daeSBarry Smith Not collective 145c6c1daeSBarry Smith 155c6c1daeSBarry Smith Input Parameters: 165c6c1daeSBarry Smith + draw - the drawing object 175c6c1daeSBarry Smith - xl,yl,xr,yr - the coordinates of the lower left corner and upper 185c6c1daeSBarry Smith right corner of the drawing region. 195c6c1daeSBarry Smith 205c6c1daeSBarry Smith Level: advanced 215c6c1daeSBarry Smith 225c6c1daeSBarry Smith Concepts: drawing^coordinates 235c6c1daeSBarry Smith Concepts: graphics^coordinates 245c6c1daeSBarry Smith 255c6c1daeSBarry Smith .seealso: PetscDrawGetCoordinates() 265c6c1daeSBarry Smith 275c6c1daeSBarry Smith @*/ 285c6c1daeSBarry Smith PetscErrorCode PetscDrawSetCoordinates(PetscDraw draw,PetscReal xl,PetscReal yl,PetscReal xr,PetscReal yr) 295c6c1daeSBarry Smith { 305c6c1daeSBarry Smith PetscErrorCode ierr; 315c6c1daeSBarry Smith 325c6c1daeSBarry Smith PetscFunctionBegin; 335c6c1daeSBarry Smith PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1); 345c6c1daeSBarry Smith draw->coor_xl = xl; draw->coor_yl = yl; 355c6c1daeSBarry Smith draw->coor_xr = xr; draw->coor_yr = yr; 365c6c1daeSBarry Smith if (draw->ops->setcoordinates) { 375c6c1daeSBarry Smith ierr = (*draw->ops->setcoordinates)(draw,xl,yl,xr,yr);CHKERRQ(ierr); 385c6c1daeSBarry Smith } 395c6c1daeSBarry Smith PetscFunctionReturn(0); 405c6c1daeSBarry Smith } 415c6c1daeSBarry Smith 42*8f69470aSLisandro Dalcin #undef __FUNCT__ 43*8f69470aSLisandro Dalcin #define __FUNCT__ "PetscDrawGetCoordinates" 44*8f69470aSLisandro Dalcin /*@ 45*8f69470aSLisandro Dalcin PetscDrawGetCoordinates - Gets the application coordinates of the corners of 46*8f69470aSLisandro Dalcin the window (or page). 47*8f69470aSLisandro Dalcin 48*8f69470aSLisandro Dalcin Not Collective 49*8f69470aSLisandro Dalcin 50*8f69470aSLisandro Dalcin Input Parameter: 51*8f69470aSLisandro Dalcin . draw - the drawing object 52*8f69470aSLisandro Dalcin 53*8f69470aSLisandro Dalcin Level: advanced 54*8f69470aSLisandro Dalcin 55*8f69470aSLisandro Dalcin Ouput Parameters: 56*8f69470aSLisandro Dalcin . xl,yl,xr,yr - the coordinates of the lower left corner and upper 57*8f69470aSLisandro Dalcin right corner of the drawing region. 58*8f69470aSLisandro Dalcin 59*8f69470aSLisandro Dalcin Concepts: drawing^coordinates 60*8f69470aSLisandro Dalcin Concepts: graphics^coordinates 61*8f69470aSLisandro Dalcin 62*8f69470aSLisandro Dalcin .seealso: PetscDrawSetCoordinates() 63*8f69470aSLisandro Dalcin 64*8f69470aSLisandro Dalcin @*/ 65*8f69470aSLisandro Dalcin PetscErrorCode PetscDrawGetCoordinates(PetscDraw draw,PetscReal *xl,PetscReal *yl,PetscReal *xr,PetscReal *yr) 66*8f69470aSLisandro Dalcin { 67*8f69470aSLisandro Dalcin PetscFunctionBegin; 68*8f69470aSLisandro Dalcin PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1); 69*8f69470aSLisandro Dalcin PetscValidRealPointer(xl,2); 70*8f69470aSLisandro Dalcin PetscValidRealPointer(yl,3); 71*8f69470aSLisandro Dalcin PetscValidRealPointer(xr,4); 72*8f69470aSLisandro Dalcin PetscValidRealPointer(yr,5); 73*8f69470aSLisandro Dalcin *xl = draw->coor_xl; *yl = draw->coor_yl; 74*8f69470aSLisandro Dalcin *xr = draw->coor_xr; *yr = draw->coor_yr; 75*8f69470aSLisandro Dalcin PetscFunctionReturn(0); 76*8f69470aSLisandro Dalcin } 77