## GOGraphWidget

GOGraphWidget — Widget showing a GogGraph.

## Functions

GogChart * | go_graph_widget_get_chart ()
GogGraph * | go_graph_widget_get_graph ()
GogRenderer * | go_graph_widget_get_renderer ()
GtkWidget * | go_graph_widget_new ()
void | go_graph_widget_set_size_mode ()

## Properties

gdouble | aspect-ratio | Read / Write / Construct
GogGraph * | graph | Read / Write / Construct Only
gdouble | hres | Read / Write / Construct Only
gdouble | vres | Read / Write / Construct Only

## Types and Values

| GOGraphWidget
| GOGraphWidgetClass
enum | GOGraphWidgetSizeMode

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkLayout
                        ╰── GOGraphWidget

## Implemented Interfaces

GOGraphWidget implements AtkImplementorIface, GtkBuildable and GtkScrollable.

## Description

Utility widget for showing a GogGraph.

## Functions

### go_graph_widget_get_chart ()

    GogChart *
    go_graph_widget_get_chart (GOGraphWidget *widget);

#### Parameters

widget | GOGraphWidget |

#### Returns

the GogChart created by `go_graph_widget_new()`.

[transfer none]

### go_graph_widget_get_graph ()

    GogGraph *
    go_graph_widget_get_graph (GOGraphWidget *widget);

#### Parameters

widget | GOGraphWidget |

#### Returns

the GogGraph embedded in the widget.

[transfer none]

### go_graph_widget_get_renderer ()

    GogRenderer *
    go_graph_widget_get_renderer (GOGraphWidget *widget);

#### Parameters

widget | GOGraphWidget |

#### Returns

the GogRenderer used by the widget.

[transfer none]

### go_graph_widget_new ()

    GtkWidget *
    go_graph_widget_new (GogGraph *graph);

Creates a new GOGraphWidget with an embedded GogGraph. If graph is NULL, the graph will be auto-created, and a GogChart will be added graph.

#### Parameters

graph | GogGraph |

#### Returns

the newly created GOGraphWidget.

### go_graph_widget_set_size_mode ()

    void
    go_graph_widget_set_size_mode (GOGraphWidget *widget,
                                   GOGraphWidgetSizeMode size_mode,
                                   int width,
                                   int height);

Sets the size mode of the GOGraphWidget. It is used to determine the size and position of the drawn chart. The following sizing modes are supported:

GO_GRAPH_WIDGET_SIZE_MODE_FIT, aspect ratio set. The aspect ratio is guaranteed to be maintained, i.e. the graph is never squeezed, and will always fit into the visible area.

GO_GRAPH_WIDGET_SIZE_MODE_FIT, no aspect ratio set. The aspect ratio is adapted to make the graph exactly fit into the visible area.

GO_GRAPH_WIDGET_SIZE_MODE_FIT_WIDTH, aspect ratio set. The aspect ratio is guaranteed to be maintained, i.e. the graph is never squezzed, and will always occupy the whole width of the visible area.

GO_GRAPH_WIDGET_SIZE_MODE_FIT_HEIGHT, aspect ratio set. The aspect ratio is guaranteed to be maintained, i.e. the graph is never squezzed, and will always occupy the whole height of the visible area.

GO_GRAPH_WIDGET_SIZE_MODE_FIT_FIXED_SIZE, no aspect ratio set. The graph will occupy the area specified by width/height, its aspect ratio will be determined by height/width.

#### Parameters

widget | GOGraphWidget |
size_mode | GOGraphWidgetSizeMode |
width | in pixels |
height | in pixels |

## Types and Values

### GOGraphWidget

    typedef struct _GOGraphWidget GOGraphWidget;

### GOGraphWidgetClass

    typedef struct _GOGraphWidgetClass GOGraphWidgetClass;

### enum GOGraphWidgetSizeMode

#### Members

GO_GRAPH_WIDGET_SIZE_MODE_FIT | fits the allocated size, conserving the aspect ratio. |
GO_GRAPH_WIDGET_SIZE_MODE_FIT_WIDTH | fits the width, conserving the aspect ratio. |
GO_GRAPH_WIDGET_SIZE_MODE_FIT_HEIGHT | fits the width, conserving the aspect ratio. |
GO_GRAPH_WIDGET_SIZE_MODE_FIXED_SIZE | use original size. |

## Property Details

### The `“aspect-ratio”` property

      “aspect-ratio”             gdouble

Aspect ratio for rendering the graph, used only if greater than 0.

Flags: Read / Write / Construct

Default value: -1

### The `“graph”` property

      “graph”                    GogGraph *

The graph to render.

Flags: Read / Write / Construct Only

### The `“hres”` property

      “hres”                     gdouble

Assumed horizontal screen resolution in pixels per inch.

Flags: Read / Write / Construct Only

Allowed values: >= 1

Default value: 96

### The `“vres”` property

      “vres”                     gdouble

Assumed vertical screen resolution in pixels per inch.

Flags: Read / Write / Construct Only

Allowed values: >= 1

Default value: 96