## GtkPlotPC GtkPlotPC — Plot Context |

## Synopsis

    #include <gtkextra.h>

                        GtkPlotPC;
    enum                GtkPlotPageSize;
    enum                GtkPlotPageOrientation;
    enum                GtkPlotUnits;
                        GtkPlotPoint;
    GtkObject *         gtk_plot_pc_new                     (void);
    gboolean            gtk_plot_pc_init                    (GtkPlotPC *pc);
    void                gtk_plot_pc_leave                   (GtkPlotPC *pc);
    void                gtk_plot_pc_set_viewport            (GtkPlotPC *pc,
                                                             gdouble w,
                                                             gdouble h);
    void                gtk_plot_pc_gsave                   (GtkPlotPC *pc);
    void                gtk_plot_pc_grestore                (GtkPlotPC *pc);
    void                gtk_plot_pc_clip                    (GtkPlotPC *pc,
                                                             GdkRectangle *area);
    void                gtk_plot_pc_clip_mask               (GtkPlotPC *pc,
                                                             gdouble x,
                                                             gdouble y,
                                                             GdkBitmap *mask);
    void                gtk_plot_pc_set_color               (GtkPlotPC *pc,
                                                             GdkColor *color);
    void                gtk_plot_pc_set_lineattr            (GtkPlotPC *pc,
                                                             gfloat line_width,
                                                             GdkLineStyle line_style,
                                                             GdkCapStyle cap_style,
                                                             GdkJoinStyle join_style);
    void                gtk_plot_pc_set_dash                (GtkPlotPC *pc,
                                                             gdouble offset_,
                                                             gdouble *values,
                                                             gint num_values);
    void                gtk_plot_pc_draw_point              (GtkPlotPC *pc,
                                                             gdouble x,
                                                             gdouble y);
    void                gtk_plot_pc_draw_line               (GtkPlotPC *pc,
                                                             gdouble x1,
                                                             gdouble y1,
                                                             gdouble x2,
                                                             gdouble y2);
    void                gtk_plot_pc_draw_lines              (GtkPlotPC *pc,
                                                             GtkPlotPoint *points,
                                                             gint numpoints);
    void                gtk_plot_pc_draw_rectangle          (GtkPlotPC *pc,
                                                             gboolean filled,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble width,
                                                             gdouble height);
    void                gtk_plot_pc_draw_polygon            (GtkPlotPC *pc,
                                                             gint filled,
                                                             GtkPlotPoint *points,
                                                             gint numpoints);
    void                gtk_plot_pc_draw_ellipse            (GtkPlotPC *pc,
                                                             gboolean filled,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble width,
                                                             gdouble height);
    void                gtk_plot_pc_draw_circle             (GtkPlotPC *pc,
                                                             gint filled,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble size);
    void                gtk_plot_pc_set_font                (GtkPlotPC *pc,
                                                             GtkPSFont *psfont,
                                                             gint height);
    void                gtk_plot_pc_draw_string             (GtkPlotPC *pc,
                                                             gint x,
                                                             gint y,
                                                             gint angle,
                                                             const GdkColor *fg,
                                                             const GdkColor *bg,
                                                             gboolean transparent,
                                                             gint border,
                                                             gint border_space,
                                                             gint border_width,
                                                             gint shadow_width,
                                                             const gchar *font,
                                                             gint height,
                                                             GtkJustification just,
                                                             const gchar *text);
    void                gtk_plot_pc_draw_pixmap             (GtkPlotPC *pc,
                                                             GdkPixmap *pixmap,
                                                             GdkBitmap *mask,
                                                             gint xsrc,
                                                             gint ysrc,
                                                             gint xdest,
                                                             gint ydest,
                                                             gint width,
                                                             gint height,
                                                             gdouble scale_x,
                                                             gdouble scale_y);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkPlotPC
                         +----GtkPlotCairo
                         +----GtkPlotGdk
                         +----GtkPlotPS

## Description

Base Class for GtkPlotCairo, GtkPlotGdk and GtkPlotPS.

## Details

### GtkPlotPC

    typedef struct _GtkPlotPC GtkPlotPC;

### enum GtkPlotPageSize

    typedef enum{
         GTK_PLOT_LETTER	,
         GTK_PLOT_LEGAL	,
         GTK_PLOT_A4	,
         GTK_PLOT_EXECUTIVE	,
         GTK_PLOT_CUSTOM
    } GtkPlotPageSize;

### enum GtkPlotPageOrientation

    typedef enum{
         GTK_PLOT_PORTRAIT	,
         GTK_PLOT_LANDSCAPE
    } GtkPlotPageOrientation;

### enum GtkPlotUnits

    typedef enum{
         GTK_PLOT_PSPOINTS	,
         GTK_PLOT_MM	,
         GTK_PLOT_CM	,
         GTK_PLOT_INCHES
    } GtkPlotUnits;

### GtkPlotPoint

    typedef struct {
    } GtkPlotPoint;

The GtkPlotPoint struct contains only private data. It should only be accessed through the functions described below.

### gtk_plot_pc_new ()

    GtkObject *         gtk_plot_pc_new                     (void);

Returns : |

### gtk_plot_pc_init ()

    gboolean            gtk_plot_pc_init                    (GtkPlotPC *pc);

`pc` : |
Returns : |

### gtk_plot_pc_leave ()

    void                gtk_plot_pc_leave                   (GtkPlotPC *pc);

`pc` : |

### gtk_plot_pc_set_viewport ()

    void                gtk_plot_pc_set_viewport            (GtkPlotPC *pc,
                                                             gdouble w,
                                                             gdouble h);

`pc` : |
`w` : |
`h` : |

### gtk_plot_pc_gsave ()

    void                gtk_plot_pc_gsave                   (GtkPlotPC *pc);

`pc` : |

### gtk_plot_pc_grestore ()

    void                gtk_plot_pc_grestore                (GtkPlotPC *pc);

`pc` : |

### gtk_plot_pc_clip ()

    void                gtk_plot_pc_clip                    (GtkPlotPC *pc,
                                                             GdkRectangle *area);

`pc` : |
`area` : |

### gtk_plot_pc_clip_mask ()

    void                gtk_plot_pc_clip_mask               (GtkPlotPC *pc,
                                                             gdouble x,
                                                             gdouble y,
                                                             GdkBitmap *mask);

`pc` : |
`x` : |
`y` : |
`mask` : |

### gtk_plot_pc_set_color ()

    void                gtk_plot_pc_set_color               (GtkPlotPC *pc,
                                                             GdkColor *color);

`pc` : |
`color` : |

### gtk_plot_pc_set_lineattr ()

    void                gtk_plot_pc_set_lineattr            (GtkPlotPC *pc,
                                                             gfloat line_width,
                                                             GdkLineStyle line_style,
                                                             GdkCapStyle cap_style,
                                                             GdkJoinStyle join_style);

`pc` : |
`line_width` : |
`line_style` : |
`cap_style` : |
`join_style` : |

### gtk_plot_pc_set_dash ()

    void                gtk_plot_pc_set_dash                (GtkPlotPC *pc,
                                                             gdouble offset_,
                                                             gdouble *values,
                                                             gint num_values);

`pc` : |
`offset_` : |
`values` : |
`num_values` : |

### gtk_plot_pc_draw_point ()

    void                gtk_plot_pc_draw_point              (GtkPlotPC *pc,
                                                             gdouble x,
                                                             gdouble y);

`pc` : |
`x` : |
`y` : |

### gtk_plot_pc_draw_line ()

    void                gtk_plot_pc_draw_line               (GtkPlotPC *pc,
                                                             gdouble x1,
                                                             gdouble y1,
                                                             gdouble x2,
                                                             gdouble y2);

`pc` : |
`x1` : |
`y1` : |
`x2` : |
`y2` : |

### gtk_plot_pc_draw_lines ()

    void                gtk_plot_pc_draw_lines              (GtkPlotPC *pc,
                                                             GtkPlotPoint *points,
                                                             gint numpoints);

`pc` : |
`points` : |
`numpoints` : |

### gtk_plot_pc_draw_rectangle ()

    void                gtk_plot_pc_draw_rectangle          (GtkPlotPC *pc,
                                                             gboolean filled,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble width,
                                                             gdouble height);

`pc` : |
`filled` : |
`x` : |
`y` : |
`width` : |
`height` : |

### gtk_plot_pc_draw_polygon ()

    void                gtk_plot_pc_draw_polygon            (GtkPlotPC *pc,
                                                             gint filled,
                                                             GtkPlotPoint *points,
                                                             gint numpoints);

`pc` : |
`filled` : |
`points` : |
`numpoints` : |

### gtk_plot_pc_draw_ellipse ()

    void                gtk_plot_pc_draw_ellipse            (GtkPlotPC *pc,
                                                             gboolean filled,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble width,
                                                             gdouble height);

`pc` : |
`filled` : |
`x` : |
`y` : |
`width` : |
`height` : |

### gtk_plot_pc_draw_circle ()

    void                gtk_plot_pc_draw_circle             (GtkPlotPC *pc,
                                                             gint filled,
                                                             gdouble x,
                                                             gdouble y,
                                                             gdouble size);

`pc` : |
`filled` : |
`x` : |
`y` : |
`size` : |

### gtk_plot_pc_set_font ()

    void                gtk_plot_pc_set_font                (GtkPlotPC *pc,
                                                             GtkPSFont *psfont,
                                                             gint height);

`pc` : |
`psfont` : |
`height` : |

### gtk_plot_pc_draw_string ()

    void                gtk_plot_pc_draw_string             (GtkPlotPC *pc,
                                                             gint x,
                                                             gint y,
                                                             gint angle,
                                                             const GdkColor *fg,
                                                             const GdkColor *bg,
                                                             gboolean transparent,
                                                             gint border,
                                                             gint border_space,
                                                             gint border_width,
                                                             gint shadow_width,
                                                             const gchar *font,
                                                             gint height,
                                                             GtkJustification just,
                                                             const gchar *text);

`pc` : |
`x` : |
`y` : |
`angle` : |
`fg` : |
`bg` : |
`transparent` : |
`border` : |
`border_space` : |
`border_width` : |
`shadow_width` : |
`font` : |
`height` : |
`just` : |
`text` : |

### gtk_plot_pc_draw_pixmap ()

    void                gtk_plot_pc_draw_pixmap             (GtkPlotPC *pc,
                                                             GdkPixmap *pixmap,
                                                             GdkBitmap *mask,
                                                             gint xsrc,
                                                             gint ysrc,
                                                             gint xdest,
                                                             gint ydest,
                                                             gint width,
                                                             gint height,
                                                             gdouble scale_x,
                                                             gdouble scale_y);

`pc` : |
`pixmap` : |
`mask` : |
`xsrc` : |
`ysrc` : |
`xdest` : |
`ydest` : |
`width` : |
`height` : |
`scale_x` : |
`scale_y` : |