## 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 ()

## 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. |