xref: /petsc/src/sys/classes/draw/interface/dpoint.c (revision dbbe0bcd3f3a8fbab5a45420dc06f8387e5764c6)
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 
19db781477SPatrick Sanan .seealso: `PetscDrawPointPixel()`, `PetscDrawPointSetSize()`, `PetscDrawLine()`, `PetscDrawRectangle()`, `PetscDrawTriangle()`, `PetscDrawEllipse()`,
20db781477SPatrick Sanan           `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*dbbe0bcdSBarry Smith   PetscUseTypeMethod(draw,point ,xl,yl,cl);
285c6c1daeSBarry Smith   PetscFunctionReturn(0);
295c6c1daeSBarry Smith }
305c6c1daeSBarry Smith 
315c6c1daeSBarry Smith /*@
325c6c1daeSBarry Smith    PetscDrawPointPixel - PetscDraws a point onto a drawable, in pixel coordinates
335c6c1daeSBarry Smith 
345c6c1daeSBarry Smith    Not collective
355c6c1daeSBarry Smith 
365c6c1daeSBarry Smith    Input Parameters:
375c6c1daeSBarry Smith +  draw - the drawing context
38a7e8706aSLisandro Dalcin .  x,y - the pixel coordinates of the point
39a7e8706aSLisandro Dalcin -  c - the color of the point
405c6c1daeSBarry Smith 
415c6c1daeSBarry Smith    Level: beginner
425c6c1daeSBarry Smith 
43db781477SPatrick Sanan .seealso: `PetscDrawPoint()`, `PetscDrawPointSetSize()`
445c6c1daeSBarry Smith 
455c6c1daeSBarry Smith @*/
46a7e8706aSLisandro Dalcin PetscErrorCode  PetscDrawPointPixel(PetscDraw draw,int x,int y,int c)
475c6c1daeSBarry Smith {
485c6c1daeSBarry Smith   PetscFunctionBegin;
495c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1);
50*dbbe0bcdSBarry Smith   PetscUseTypeMethod(draw,pointpixel ,x,y,c);
515c6c1daeSBarry Smith   PetscFunctionReturn(0);
525c6c1daeSBarry Smith }
538f69470aSLisandro Dalcin 
548f69470aSLisandro Dalcin /*@
558f69470aSLisandro Dalcin    PetscDrawPointSetSize - Sets the point size for future draws.  The size is
568f69470aSLisandro Dalcin    relative to the user coordinates of the window; 0.0 denotes the natural
578f69470aSLisandro Dalcin    width, 1.0 denotes the entire viewport.
588f69470aSLisandro Dalcin 
598f69470aSLisandro Dalcin    Not collective
608f69470aSLisandro Dalcin 
618f69470aSLisandro Dalcin    Input Parameters:
628f69470aSLisandro Dalcin +  draw - the drawing context
638f69470aSLisandro Dalcin -  width - the width in user coordinates
648f69470aSLisandro Dalcin 
658f69470aSLisandro Dalcin    Level: advanced
668f69470aSLisandro Dalcin 
678f69470aSLisandro Dalcin    Note:
688f69470aSLisandro Dalcin    Even a size of zero insures that a single pixel is colored.
698f69470aSLisandro Dalcin 
70db781477SPatrick Sanan .seealso: `PetscDrawPoint()`, `PetscDrawMarker()`
718f69470aSLisandro Dalcin @*/
728f69470aSLisandro Dalcin PetscErrorCode  PetscDrawPointSetSize(PetscDraw draw,PetscReal width)
738f69470aSLisandro Dalcin {
748f69470aSLisandro Dalcin   PetscFunctionBegin;
758f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1);
76cc73adaaSBarry 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);
77*dbbe0bcdSBarry Smith   PetscTryTypeMethod(draw,pointsetsize,width);
788f69470aSLisandro Dalcin   PetscFunctionReturn(0);
798f69470aSLisandro Dalcin }
80