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 /*@ 85c6c1daeSBarry Smith PetscDrawPoint - PetscDraws a point onto a drawable. 95c6c1daeSBarry Smith 105c6c1daeSBarry Smith Not collective 115c6c1daeSBarry Smith 125c6c1daeSBarry Smith Input Parameters: 135c6c1daeSBarry Smith + draw - the drawing context 145c6c1daeSBarry Smith . xl,yl - the coordinates of the point 155c6c1daeSBarry Smith - cl - the color of the point 165c6c1daeSBarry Smith 175c6c1daeSBarry Smith Level: beginner 185c6c1daeSBarry Smith 19ba1e01c4SBarry Smith .seealso: PetscDrawPointPixel(), PetscDrawPointSetSize(), PetscDrawLine(), PetscDrawRectangle(), PetscDrawTriangle(), PetscDrawEllipse(), 20ba1e01c4SBarry Smith PetscDrawMarker(), PetscDrawString(), PetscDrawArrow() 215c6c1daeSBarry Smith 225c6c1daeSBarry Smith @*/ 235c6c1daeSBarry Smith PetscErrorCode PetscDrawPoint(PetscDraw draw,PetscReal xl,PetscReal yl,int cl) 245c6c1daeSBarry Smith { 255c6c1daeSBarry Smith PetscFunctionBegin; 265c6c1daeSBarry Smith PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1); 27*28b400f6SJacob Faibussowitsch PetscCheck(draw->ops->point,PETSC_COMM_SELF,PETSC_ERR_SUP,"This draw type %s does not support drawing points",((PetscObject)draw)->type_name); 285f80ce2aSJacob Faibussowitsch CHKERRQ((*draw->ops->point)(draw,xl,yl,cl)); 295c6c1daeSBarry Smith PetscFunctionReturn(0); 305c6c1daeSBarry Smith } 315c6c1daeSBarry Smith 325c6c1daeSBarry Smith /*@ 335c6c1daeSBarry Smith PetscDrawPointPixel - PetscDraws a point onto a drawable, in pixel coordinates 345c6c1daeSBarry Smith 355c6c1daeSBarry Smith Not collective 365c6c1daeSBarry Smith 375c6c1daeSBarry Smith Input Parameters: 385c6c1daeSBarry Smith + draw - the drawing context 39a7e8706aSLisandro Dalcin . x,y - the pixel coordinates of the point 40a7e8706aSLisandro Dalcin - c - the color of the point 415c6c1daeSBarry Smith 425c6c1daeSBarry Smith Level: beginner 435c6c1daeSBarry Smith 44ba1e01c4SBarry Smith .seealso: PetscDrawPoint(), PetscDrawPointSetSize() 455c6c1daeSBarry Smith 465c6c1daeSBarry Smith @*/ 47a7e8706aSLisandro Dalcin PetscErrorCode PetscDrawPointPixel(PetscDraw draw,int x,int y,int c) 485c6c1daeSBarry Smith { 495c6c1daeSBarry Smith PetscFunctionBegin; 505c6c1daeSBarry Smith PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1); 51*28b400f6SJacob Faibussowitsch PetscCheck(draw->ops->pointpixel,PETSC_COMM_SELF,PETSC_ERR_SUP,"This draw type %s does not support drawing point pixels",((PetscObject)draw)->type_name); 525f80ce2aSJacob Faibussowitsch CHKERRQ((*draw->ops->pointpixel)(draw,x,y,c)); 535c6c1daeSBarry Smith PetscFunctionReturn(0); 545c6c1daeSBarry Smith } 558f69470aSLisandro Dalcin 568f69470aSLisandro Dalcin /*@ 578f69470aSLisandro Dalcin PetscDrawPointSetSize - Sets the point size for future draws. The size is 588f69470aSLisandro Dalcin relative to the user coordinates of the window; 0.0 denotes the natural 598f69470aSLisandro Dalcin width, 1.0 denotes the entire viewport. 608f69470aSLisandro Dalcin 618f69470aSLisandro Dalcin Not collective 628f69470aSLisandro Dalcin 638f69470aSLisandro Dalcin Input Parameters: 648f69470aSLisandro Dalcin + draw - the drawing context 658f69470aSLisandro Dalcin - width - the width in user coordinates 668f69470aSLisandro Dalcin 678f69470aSLisandro Dalcin Level: advanced 688f69470aSLisandro Dalcin 698f69470aSLisandro Dalcin Note: 708f69470aSLisandro Dalcin Even a size of zero insures that a single pixel is colored. 718f69470aSLisandro Dalcin 72ba1e01c4SBarry Smith .seealso: PetscDrawPoint(), PetscDrawMarker() 738f69470aSLisandro Dalcin @*/ 748f69470aSLisandro Dalcin PetscErrorCode PetscDrawPointSetSize(PetscDraw draw,PetscReal width) 758f69470aSLisandro Dalcin { 768f69470aSLisandro Dalcin PetscFunctionBegin; 778f69470aSLisandro Dalcin PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1); 782c71b3e2SJacob Faibussowitsch PetscCheckFalse(width < 0.0 || width > 1.0,PETSC_COMM_SELF,PETSC_ERR_ARG_OUTOFRANGE,"Bad size %g, should be between 0 and 1",(double)width); 798f69470aSLisandro Dalcin if (draw->ops->pointsetsize) { 805f80ce2aSJacob Faibussowitsch CHKERRQ((*draw->ops->pointsetsize)(draw,width)); 818f69470aSLisandro Dalcin } 828f69470aSLisandro Dalcin PetscFunctionReturn(0); 838f69470aSLisandro Dalcin } 84