## GogTool

GogTool — On canvas graph edition tools

## Synopsis

                        GogTool;
                        GogToolAction;
    GogToolAction*      gog_tool_action_new                 (GogView *view,
                                                             GogTool *tool,
                                                             double x,
                                                             double y);
    void                gog_tool_action_move                (GogToolAction *action,
                                                             double x,
                                                             double y);
    void                gog_tool_action_double_click        (GogToolAction *action);
    void                gog_tool_action_free                (GogToolAction *action);

## Description

## Details

### GogTool

    typedef struct {
    	char const 	*name;

    	/* GdkCursorType	 cursor_type; Not compatible with --without-gtk */
    	int	 	cursor_type;

    	gboolean 	(*point) 	(GogView *view, double x, double y, GogObject **object);
    	void 		(*render)	(GogView *view);
    	void 		(*init)		(GogToolAction *action);
    	void 		(*move)		(GogToolAction *action, double x, double y);
    	void		(*double_click)	(GogToolAction *action);
    	void 		(*destroy)	(GogToolAction *action);
    } GogTool;

### GogToolAction

    typedef struct {
    	double 		 start_x, start_y;
    	GogView 	*view;
    	GogTool 	*tool;
    	gpointer	 data;
    } GogToolAction;

### gog_tool_action_new ()

    GogToolAction*      gog_tool_action_new                 (GogView *view,
                                                             GogTool *tool,
                                                             double x,
                                                             double y);

`view` : |
`tool` : |
`x` : |
`y` : |
Returns : |

### gog_tool_action_move ()

    void                gog_tool_action_move                (GogToolAction *action,
                                                             double x,
                                                             double y);

`action` : |
`x` : |
`y` : |

### gog_tool_action_double_click ()

    void                gog_tool_action_double_click        (GogToolAction *action);

`action` : |

### gog_tool_action_free ()

    void                gog_tool_action_free                (GogToolAction *action);

`action` : |