Date: 2026-05-01T06:11:42+00:00

Actual source code: petscdrawtypes.h

      1: #pragma once

      3: /* MANSEC = Sys */
      4: /* SUBMANSEC = Draw */

      6: /*J
      7:    PetscDrawType - String with the name of a `PetscDraw` implementation, for example `PETSC_DRAW_X` is for X Windows.

      9:    Level: beginner

     11: .seealso: `PetscDrawSetType()`, `PetscDraw`, `PetscViewer`, `PetscDrawCreate()`, `PetscDrawRegister()`
     12: J*/
     13: typedef const char *PetscDrawType;
     14: #define PETSC_DRAW_X     "x"
     15: #define PETSC_DRAW_NULL  "null"
     16: #define PETSC_DRAW_WIN32 "win32"
     17: #define PETSC_DRAW_TIKZ  "tikz"
     18: #define PETSC_DRAW_IMAGE "image"

     20: /*S
     21:    PetscDraw - Abstract PETSc object for graphics, often represents a window on the screen

     23:    Level: beginner

     25: .seealso: `PetscDrawCreate()`, `PetscDrawSetType()`, `PetscDrawType`
     26: S*/
     27: typedef struct _p_PetscDraw *PetscDraw;

     29: /*S
     30:    PetscDrawAxis - An object that manages X-Y axis for a `PetscDraw`

     32:    Level: advanced

     34: .seealso: `PetscDraw`, `PetscDrawAxisCreate()`, `PetscDrawAxisSetLimits()`, `PetscDrawAxisSetColors()`, `PetscDrawAxisSetLabels()`
     35: S*/
     36: typedef struct _p_PetscDrawAxis *PetscDrawAxis;

     38: /*S
     39:    PetscDrawLG - An object that manages drawing simple x-y plots

     41:    Level: advanced

     43: .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawBar`, `PetscDrawHG`, `PetscDrawSP`, `PetscDrawAxisCreate()`, `PetscDrawLGCreate()`, `PetscDrawLGAddPoint()`
     44: S*/
     45: typedef struct _p_PetscDrawLG *PetscDrawLG;

     47: /*S
     48:    PetscDrawSP - An object that manages drawing scatter plots

     50:    Level: advanced

     52: .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawLG`, `PetscDrawBar`, `PetscDrawHG`, `PetscDrawSPCreate()`
     53: S*/
     54: typedef struct _p_PetscDrawSP *PetscDrawSP;

     56: /*S
     57:    PetscDrawHG - An object that manages drawing histograms

     59:    Level: advanced

     61:    Note:
     62:    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>

     64: .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawLG`, `PetscDrawBar`, `PetscDrawSP`, `PetscDrawHGCreate()`, `PetscDrawHGAddValue()`, `PetscDrawHGAddWeightedValue()`
     65: S*/
     66: typedef struct _p_PetscDrawHG *PetscDrawHG;

     68: /*S
     69:    PetscDrawBar - An object that manages drawing bar graphs

     71:    Level: advanced

     73: .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawLG`, `PetscDrawHG`, `PetscDrawSP`, `PetscDrawBarCreate()`
     74: S*/
     75: typedef struct _p_PetscDrawBar *PetscDrawBar;