208 b.
UR.
x = p.
x + closeenough;
209 b.
UR.
y = p.
y + closeenough;
210 b.
LL.
x = p.
x - closeenough;
211 b.
LL.
y = p.
y - closeenough;
273 job->
button = (
unsigned char)button;
278 job->
button = (
unsigned char)button;
284 job->
button = (
unsigned char)button;
434 int dflt_width, dflt_height;
435 dflt_width = job->
width;
436 dflt_height = job->
height;
438 MIN((
double) job->
width / (
double) dflt_width,
439 (
double) job->
height / (
double) dflt_height);
bool overlap_node(node_t *n, boxf b)
bool overlap_edge(edge_t *e, boxf b)
char * agxget(void *obj, Agsym_t *sym)
#define agfindedgeattr(g, a)
Agedge_t * agfstout(Agraph_t *g, Agnode_t *n)
Agedge_t * agnxtout(Agraph_t *g, Agedge_t *e)
#define agfindgraphattr(g, a)
int agclose(Agraph_t *g)
deletes a graph, freeing its associated storage
Agraph_t * agread(void *chan, Agdisc_t *disc)
constructs a new graph
Agnode_t * agnxtnode(Agraph_t *g, Agnode_t *n)
Agnode_t * agprvnode(Agraph_t *g, Agnode_t *n)
Agnode_t * agfstnode(Agraph_t *g)
Agnode_t * aglstnode(Agraph_t *g)
#define agfindnodeattr(g, a)
Agraph_t * agraphof(void *obj)
void aginit(Agraph_t *g, int kind, const char *rec_name, int rec_size, int move_to_front)
attach new records to objects of specified kind
int gvLayout(GVC_t *gvc, graph_t *g, const char *engine)
int gvRenderFilename(GVC_t *gvc, graph_t *g, const char *format, const char *filename)
FILE * gv_fopen(const char *filename, const char *mode)
wrapper around fopen for internal library usage
static int quit_cb(GVJ_t *job)
static void gvevent_render(GVJ_t *job, const char *format, const char *filename)
static void gvevent_read(GVJ_t *job, const char *filename, const char *layout)
static void gvevent_select_current_obj(GVJ_t *job)
static void gv_node_state(GVJ_t *job, node_t *n)
static int up_cb(GVJ_t *job)
static int toggle_fit_cb(GVJ_t *job)
static void gv_graph_state(GVJ_t *job, graph_t *g)
static void gvevent_enter_obj(GVJ_t *job)
static void gvevent_button_press(GVJ_t *job, int button, pointf pointer)
static void gvevent_motion(GVJ_t *job, pointf pointer)
static int right_cb(GVJ_t *job)
static pointf pointer2graph(GVJ_t *job, pointf pointer)
static void gvevent_refresh(GVJ_t *job)
static void gvevent_find_current_obj(GVJ_t *job, pointf pointer)
static int zoom_out_cb(GVJ_t *job)
gvevent_key_binding_t gvevent_key_binding[]
static graph_t * gvevent_find_cluster(graph_t *g, boxf b)
void graph_cleanup(graph_t *g)
static int down_cb(GVJ_t *job)
static void gv_edge_state(GVJ_t *job, edge_t *e)
static void gvevent_layout(GVJ_t *job, const char *layout)
gvdevice_callbacks_t gvdevice_callbacks
static int left_cb(GVJ_t *job)
const size_t gvevent_key_binding_size
static void gvevent_leave_obj(GVJ_t *job)
static int zoom_in_cb(GVJ_t *job)
static void * gvevent_find_obj(graph_t *g, boxf b)
void emit_graph(GVJ_t *job, graph_t *g)
static void gvevent_button_release(GVJ_t *job, int button, pointf pointer)
GVIO_API const char * format
static gvloadimage_engine_t engine
char * strdup_and_subst_obj(char *str, void *obj)
static int layout(graph_t *g, layout_info *infop)
gvplugin_active_layout_t layout
void(* cleanup)(graph_t *g)
gvlayout_engine_t * engine
#define GUI_STATE_SELECTED
#define GUI_STATE_VISITED