xref: /petsc/include/petscdrawtypes.h (revision cddde00d42fb4f7944db63a57c48655b11ed7229)
1a4963045SJacob Faibussowitsch #pragma once
253450cbbSJed Brown 
3ac09b921SBarry Smith /* SUBMANSEC = Draw */
4ac09b921SBarry Smith 
5d1da0b69SBarry Smith /*J
616a05f60SBarry Smith    PetscDrawType - String with the name of a `PetscDraw` implementation, for example `PETSC_DRAW_X` is for X Windows.
7d1da0b69SBarry Smith 
8d1da0b69SBarry Smith    Level: beginner
9d1da0b69SBarry Smith 
1087497f52SBarry Smith .seealso: `PetscDrawSetType()`, `PetscDraw`, `PetscViewer`, `PetscDrawCreate()`, `PetscDrawRegister()`
11d1da0b69SBarry Smith J*/
12d1da0b69SBarry Smith typedef const char *PetscDrawType;
13d1da0b69SBarry Smith #define PETSC_DRAW_X     "x"
14d1da0b69SBarry Smith #define PETSC_DRAW_NULL  "null"
15d1da0b69SBarry Smith #define PETSC_DRAW_WIN32 "win32"
16d1da0b69SBarry Smith #define PETSC_DRAW_TIKZ  "tikz"
172b8d69caSLisandro Dalcin #define PETSC_DRAW_IMAGE "image"
18d1da0b69SBarry Smith 
1953450cbbSJed Brown /*S
2087497f52SBarry Smith    PetscDraw - Abstract PETSc object for graphics, often represents a window on the screen
2153450cbbSJed Brown 
2253450cbbSJed Brown    Level: beginner
2353450cbbSJed Brown 
24db781477SPatrick Sanan .seealso: `PetscDrawCreate()`, `PetscDrawSetType()`, `PetscDrawType`
2553450cbbSJed Brown S*/
2653450cbbSJed Brown typedef struct _p_PetscDraw *PetscDraw;
2753450cbbSJed Brown 
2853450cbbSJed Brown /*S
2916a05f60SBarry Smith    PetscDrawAxis - An object that manages X-Y axis for a `PetscDraw`
3053450cbbSJed Brown 
3153450cbbSJed Brown    Level: advanced
3253450cbbSJed Brown 
3316a05f60SBarry Smith .seealso: `PetscDraw`, `PetscDrawAxisCreate()`, `PetscDrawAxisSetLimits()`, `PetscDrawAxisSetColors()`, `PetscDrawAxisSetLabels()`
3453450cbbSJed Brown S*/
3553450cbbSJed Brown typedef struct _p_PetscDrawAxis *PetscDrawAxis;
3653450cbbSJed Brown 
3753450cbbSJed Brown /*S
3816a05f60SBarry Smith    PetscDrawLG - An object that manages drawing simple x-y plots
3953450cbbSJed Brown 
4053450cbbSJed Brown    Level: advanced
4153450cbbSJed Brown 
4216a05f60SBarry Smith .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawBar`, `PetscDrawHG`, `PetscDrawSP`, `PetscDrawAxisCreate()`, `PetscDrawLGCreate()`, `PetscDrawLGAddPoint()`
4353450cbbSJed Brown S*/
4453450cbbSJed Brown typedef struct _p_PetscDrawLG *PetscDrawLG;
4553450cbbSJed Brown 
4653450cbbSJed Brown /*S
4716a05f60SBarry Smith    PetscDrawSP - An object that manages drawing scatter plots
4853450cbbSJed Brown 
4953450cbbSJed Brown    Level: advanced
5053450cbbSJed Brown 
5116a05f60SBarry Smith .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawLG`, `PetscDrawBar`, `PetscDrawHG`, `PetscDrawSPCreate()`
5253450cbbSJed Brown S*/
5353450cbbSJed Brown typedef struct _p_PetscDrawSP *PetscDrawSP;
5453450cbbSJed Brown 
5553450cbbSJed Brown /*S
5616a05f60SBarry Smith    PetscDrawHG - An object that manages drawing histograms
5753450cbbSJed Brown 
5853450cbbSJed Brown    Level: advanced
5953450cbbSJed Brown 
60*cddde00dSMatthew G. Knepley    Note:
61*cddde00dSMatthew G. Knepley    Use a series of calls to `PetscDrawHGAddValue()` to create a standard histogram <https://en.wikipedia.org/wiki/Histogram>, where the bins have integer counts.  Use calls to `PetscDrawHGAddWeightedValue()` to create a histogram with non-integer bin heights, such as the following <https://mathematica.stackexchange.com/questions/103928/histogram-from-relative-frequency-data>
62*cddde00dSMatthew G. Knepley 
63*cddde00dSMatthew G. Knepley .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawLG`, `PetscDrawBar`, `PetscDrawSP`, `PetscDrawHGCreate()`, `PetscDrawHGAddValue()`, `PetscDrawHGAddWeightedValue()`
6453450cbbSJed Brown S*/
6553450cbbSJed Brown typedef struct _p_PetscDrawHG *PetscDrawHG;
6653450cbbSJed Brown 
6751fa3d41SBarry Smith /*S
6816a05f60SBarry Smith    PetscDrawBar - An object that manages drawing bar graphs
6951fa3d41SBarry Smith 
7051fa3d41SBarry Smith    Level: advanced
7151fa3d41SBarry Smith 
7216a05f60SBarry Smith .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawLG`, `PetscDrawHG`, `PetscDrawSP`, `PetscDrawBarCreate()`
7351fa3d41SBarry Smith S*/
7451fa3d41SBarry Smith typedef struct _p_PetscDrawBar *PetscDrawBar;
75