xref: /petsc/src/sys/classes/draw/interface/dpoint.c (revision e8e8640d1cb9a3a2f50c0c0d7b26e5c4d521e2e4)
1af0996ceSBarry Smith #include <petsc/private/drawimpl.h> /*I "petscdraw.h" I*/
25c6c1daeSBarry Smith 
35c6c1daeSBarry Smith /*@
4811af0c4SBarry Smith   PetscDrawPoint - draws a point onto a drawable.
55c6c1daeSBarry Smith 
620f4b53cSBarry Smith   Not Collective
75c6c1daeSBarry Smith 
85c6c1daeSBarry Smith   Input Parameters:
95c6c1daeSBarry Smith + draw - the drawing context
10*2fe279fdSBarry Smith . xl   - horizatonal coordinate of the point
11*2fe279fdSBarry Smith . yl   - vertical coordinate of the point
125c6c1daeSBarry Smith - cl   - the color of the point
135c6c1daeSBarry Smith 
145c6c1daeSBarry Smith   Level: beginner
155c6c1daeSBarry Smith 
16811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawPointPixel()`, `PetscDrawPointSetSize()`, `PetscDrawLine()`, `PetscDrawRectangle()`, `PetscDrawTriangle()`, `PetscDrawEllipse()`,
17db781477SPatrick Sanan           `PetscDrawMarker()`, `PetscDrawString()`, `PetscDrawArrow()`
185c6c1daeSBarry Smith @*/
PetscDrawPoint(PetscDraw draw,PetscReal xl,PetscReal yl,int cl)19d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawPoint(PetscDraw draw, PetscReal xl, PetscReal yl, int cl)
20d71ae5a4SJacob Faibussowitsch {
215c6c1daeSBarry Smith   PetscFunctionBegin;
225c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
23dbbe0bcdSBarry Smith   PetscUseTypeMethod(draw, point, xl, yl, cl);
243ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
255c6c1daeSBarry Smith }
265c6c1daeSBarry Smith 
275c6c1daeSBarry Smith /*@
28811af0c4SBarry Smith   PetscDrawPointPixel - draws a point onto a drawable, in pixel coordinates
295c6c1daeSBarry Smith 
3020f4b53cSBarry Smith   Not Collective
315c6c1daeSBarry Smith 
325c6c1daeSBarry Smith   Input Parameters:
335c6c1daeSBarry Smith + draw - the drawing context
34*2fe279fdSBarry Smith . x    - horizontal pixel coordinates of the point
35*2fe279fdSBarry Smith . y    - vertical pixel coordinates of the point
36a7e8706aSLisandro Dalcin - c    - the color of the point
375c6c1daeSBarry Smith 
385c6c1daeSBarry Smith   Level: beginner
395c6c1daeSBarry Smith 
40811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawPoint()`, `PetscDrawPointSetSize()`
415c6c1daeSBarry Smith @*/
PetscDrawPointPixel(PetscDraw draw,int x,int y,int c)42d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawPointPixel(PetscDraw draw, int x, int y, int c)
43d71ae5a4SJacob Faibussowitsch {
445c6c1daeSBarry Smith   PetscFunctionBegin;
455c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
46dbbe0bcdSBarry Smith   PetscUseTypeMethod(draw, pointpixel, x, y, c);
473ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
485c6c1daeSBarry Smith }
498f69470aSLisandro Dalcin 
508f69470aSLisandro Dalcin /*@
518f69470aSLisandro Dalcin   PetscDrawPointSetSize - Sets the point size for future draws.  The size is
528f69470aSLisandro Dalcin   relative to the user coordinates of the window; 0.0 denotes the natural
538f69470aSLisandro Dalcin   width, 1.0 denotes the entire viewport.
548f69470aSLisandro Dalcin 
5520f4b53cSBarry Smith   Not Collective
568f69470aSLisandro Dalcin 
578f69470aSLisandro Dalcin   Input Parameters:
588f69470aSLisandro Dalcin + draw  - the drawing context
598f69470aSLisandro Dalcin - width - the width in user coordinates
608f69470aSLisandro Dalcin 
618f69470aSLisandro Dalcin   Level: advanced
628f69470aSLisandro Dalcin 
638f69470aSLisandro Dalcin   Note:
648f69470aSLisandro Dalcin   Even a size of zero insures that a single pixel is colored.
658f69470aSLisandro Dalcin 
66811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawPoint()`, `PetscDrawMarker()`
678f69470aSLisandro Dalcin @*/
PetscDrawPointSetSize(PetscDraw draw,PetscReal width)68d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawPointSetSize(PetscDraw draw, PetscReal width)
69d71ae5a4SJacob Faibussowitsch {
708f69470aSLisandro Dalcin   PetscFunctionBegin;
718f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
72cc73adaaSBarry 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);
73dbbe0bcdSBarry Smith   PetscTryTypeMethod(draw, pointsetsize, width);
743ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
758f69470aSLisandro Dalcin }
76