1 /* -*- Mode: C ; c-basic-offset: 2 -*- */
3 * LADI Session Handler (ladish)
5 * Copyright (C) 2009 Nedko Arnaudov <nedko@arnaudov.name>
7 **************************************************************************
8 * This file contains implementation of graph canvas object
9 **************************************************************************
11 * LADI Session Handler is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
16 * LADI Session Handler is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with LADI Session Handler. If not, see <http://www.gnu.org/licenses/>
23 * or write to the Free Software Foundation, Inc.,
24 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
30 #include "graph_canvas.h"
31 #include "../common/debug.h"
43 graph_canvas_handle
* graph_canvas_handle_ptr
)
45 struct graph_canvas
* graph_canvas_ptr
;
47 graph_canvas_ptr
= malloc(sizeof(struct graph_canvas
));
48 if (graph_canvas_ptr
== NULL
)
53 if (!canvas_create(width
, height
, &graph_canvas_ptr
->canvas
))
55 free(graph_canvas_ptr
);
59 graph_canvas_ptr
->graph
= NULL
;
61 *graph_canvas_handle_ptr
= (graph_canvas_handle
)graph_canvas_ptr
;
66 #define graph_canvas_ptr ((struct graph_canvas *)graph_canvas)
73 lash_info("canvas::clear()");
83 lash_info("canvas::client_appeared(%"PRIu64
", \"%s\")", id
, name
);
92 lash_info("canvas::client_disappeared(%"PRIu64
")", id
);
101 const char * port_name
,
106 lash_info("canvas::port_appeared(%"PRIu64
", %"PRIu64
", \"%s\")", client_id
, port_id
, port_name
);
116 lash_info("canvas::port_disappeared(%"PRIu64
", %"PRIu64
")", client_id
, port_id
);
128 lash_info("canvas::ports_connected(%"PRIu64
", %"PRIu64
", %"PRIu64
", %"PRIu64
")", client1_id
, port1_id
, client2_id
, port2_id
);
140 lash_info("canvas::ports_disconnected(%"PRIu64
", %"PRIu64
", %"PRIu64
", %"PRIu64
")", client1_id
, port1_id
, client2_id
, port2_id
);
144 graph_canvas_destroy(
145 graph_canvas_handle graph_canvas
)
147 if (graph_canvas_ptr
->graph
!= NULL
)
149 graph_canvas_detach(graph_canvas
);
152 free(graph_canvas_ptr
);
157 graph_canvas_handle graph_canvas
,
160 assert(graph_canvas_ptr
->graph
== NULL
);
176 graph_canvas_ptr
->graph
= graph
;
183 graph_canvas_handle graph_canvas
)
185 assert(graph_canvas_ptr
->graph
!= NULL
);
186 graph_detach(graph_canvas_ptr
->graph
, graph_canvas
);
187 graph_canvas_ptr
->graph
= NULL
;
191 graph_canvas_get_canvas(
192 graph_canvas_handle graph_canvas
)
194 return graph_canvas_ptr
->canvas
;