15c6c1daeSBarry Smith 2af0996ceSBarry Smith #include <petsc/private/drawimpl.h> /*I "petscdraw.h" I*/ 35c6c1daeSBarry Smith 45c6c1daeSBarry Smith /*@ 5811af0c4SBarry Smith PetscDrawPoint - draws a point onto a drawable. 65c6c1daeSBarry Smith 720f4b53cSBarry Smith Not Collective 85c6c1daeSBarry Smith 95c6c1daeSBarry Smith Input Parameters: 105c6c1daeSBarry Smith + draw - the drawing context 11*2fe279fdSBarry Smith . xl - horizatonal coordinate of the point 12*2fe279fdSBarry Smith . yl - vertical coordinate of the point 135c6c1daeSBarry Smith - cl - the color of the point 145c6c1daeSBarry Smith 155c6c1daeSBarry Smith Level: beginner 165c6c1daeSBarry Smith 17811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawPointPixel()`, `PetscDrawPointSetSize()`, `PetscDrawLine()`, `PetscDrawRectangle()`, `PetscDrawTriangle()`, `PetscDrawEllipse()`, 18db781477SPatrick Sanan `PetscDrawMarker()`, `PetscDrawString()`, `PetscDrawArrow()` 195c6c1daeSBarry Smith @*/ 20d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawPoint(PetscDraw draw, PetscReal xl, PetscReal yl, int cl) 21d71ae5a4SJacob Faibussowitsch { 225c6c1daeSBarry Smith PetscFunctionBegin; 235c6c1daeSBarry Smith PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1); 24dbbe0bcdSBarry Smith PetscUseTypeMethod(draw, point, xl, yl, cl); 253ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 265c6c1daeSBarry Smith } 275c6c1daeSBarry Smith 285c6c1daeSBarry Smith /*@ 29811af0c4SBarry Smith PetscDrawPointPixel - draws a point onto a drawable, in pixel coordinates 305c6c1daeSBarry Smith 3120f4b53cSBarry Smith Not Collective 325c6c1daeSBarry Smith 335c6c1daeSBarry Smith Input Parameters: 345c6c1daeSBarry Smith + draw - the drawing context 35*2fe279fdSBarry Smith . x - horizontal pixel coordinates of the point 36*2fe279fdSBarry Smith . y - vertical pixel coordinates of the point 37a7e8706aSLisandro Dalcin - c - the color of the point 385c6c1daeSBarry Smith 395c6c1daeSBarry Smith Level: beginner 405c6c1daeSBarry Smith 41811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawPoint()`, `PetscDrawPointSetSize()` 425c6c1daeSBarry Smith @*/ 43d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawPointPixel(PetscDraw draw, int x, int y, int c) 44d71ae5a4SJacob Faibussowitsch { 455c6c1daeSBarry Smith PetscFunctionBegin; 465c6c1daeSBarry Smith PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1); 47dbbe0bcdSBarry Smith PetscUseTypeMethod(draw, pointpixel, x, y, c); 483ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 495c6c1daeSBarry Smith } 508f69470aSLisandro Dalcin 518f69470aSLisandro Dalcin /*@ 528f69470aSLisandro Dalcin PetscDrawPointSetSize - Sets the point size for future draws. The size is 538f69470aSLisandro Dalcin relative to the user coordinates of the window; 0.0 denotes the natural 548f69470aSLisandro Dalcin width, 1.0 denotes the entire viewport. 558f69470aSLisandro Dalcin 5620f4b53cSBarry Smith Not Collective 578f69470aSLisandro Dalcin 588f69470aSLisandro Dalcin Input Parameters: 598f69470aSLisandro Dalcin + draw - the drawing context 608f69470aSLisandro Dalcin - width - the width in user coordinates 618f69470aSLisandro Dalcin 628f69470aSLisandro Dalcin Level: advanced 638f69470aSLisandro Dalcin 648f69470aSLisandro Dalcin Note: 658f69470aSLisandro Dalcin Even a size of zero insures that a single pixel is colored. 668f69470aSLisandro Dalcin 67811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawPoint()`, `PetscDrawMarker()` 688f69470aSLisandro Dalcin @*/ 69d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawPointSetSize(PetscDraw draw, PetscReal width) 70d71ae5a4SJacob Faibussowitsch { 718f69470aSLisandro Dalcin PetscFunctionBegin; 728f69470aSLisandro Dalcin PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1); 73cc73adaaSBarry Smith PetscCheck(width >= 0.0 && width <= 1.0, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "Bad size %g, should be between 0 and 1", (double)width); 74dbbe0bcdSBarry Smith PetscTryTypeMethod(draw, pointsetsize, width); 753ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 768f69470aSLisandro Dalcin } 77