aboutsummaryrefslogtreecommitdiff
path: root/tracker/tracker.h
diff options
context:
space:
mode:
Diffstat (limited to 'tracker/tracker.h')
-rw-r--r--tracker/tracker.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/tracker/tracker.h b/tracker/tracker.h
new file mode 100644
index 0000000..7df761c
--- /dev/null
+++ b/tracker/tracker.h
@@ -0,0 +1,61 @@
+/* Copyright (c) 2007 Federico Ferri
+ * For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ * WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
+
+#ifndef __G_GRID_H
+#define __G_GRID_H
+
+#include <ctype.h>
+#include "m_pd.h"
+#include "m_imp.h"
+#include "g_canvas.h"
+#include "s_stuff.h"
+#include "t_tk.h"
+#include <unistd.h>
+#include <stdio.h>
+
+#define MAX_BUF 10
+
+typedef struct _tracker
+{
+ t_object x_obj;
+ t_glist *x_glist;
+ t_int x_selected; // selected flag (in edit mode)
+ t_int x_columns; // # of cols
+ t_int x_rows; // # of rows
+ t_int x_active_row; // selected item row
+ t_int x_active_column; // selected item col
+ t_int x_ndigits; // cell width (+1 of margin added automatically)
+ t_int x_cursor_pos; // visual cursor position (row indicator)
+ char x_buf[MAX_BUF+1]; // edit buffer
+ t_int x_cell_width; // cell width in pixels (auto computed)
+ t_int x_cell_height; // cell height in pixels (auto computed)
+ t_float** x_data; // data (2d matrix)
+ t_outlet* outlet0; // outlet
+} t_tracker;
+
+static void tracker_draw_new(t_tracker* x, t_glist* glist);
+static void tracker_draw_update(t_tracker* x);
+static void tracker_draw_move(t_tracker* x, t_glist* glist);
+static void tracker_draw_erase(t_tracker* x, t_glist* glist);
+static void tracker_draw_select(t_tracker* x, t_glist* glist);
+static void tracker_getrect(t_gobj* z, t_glist* owner, int* xp1, int* yp1, int* xp2, int* yp2);
+static void tracker_save(t_gobj* z, t_binbuf* b);
+static void tracker_properties(t_gobj* z, t_glist* owner);
+static void tracker_dialog(t_tracker* x, t_symbol* s, int argc, t_atom* argv);
+static void tracker_select(t_gobj* z, t_glist* glist, int selected);
+static void tracker_vis(t_gobj* z, t_glist* glist, int vis);
+static void tracker_delete(t_gobj* z, t_glist* glist);
+static void tracker_displace(t_gobj* z, t_glist* glist, int dx, int dy);
+static void tracker_resize(t_tracker* x, int newrows, int newcols);
+static void tracker_free(t_tracker* x);
+static void tracker_getrow(t_tracker* x, t_float row);
+static void tracker_setrow(t_tracker* x, t_symbol* s, int argc, t_atom* argv);
+static void tracker_getitem(t_tracker* x, t_float row, t_float col);
+static void tracker_setitem(t_tracker* x, t_float row, t_float col, t_float val);
+static void tracker_motion(t_tracker* x, t_floatarg dx, t_floatarg dy);
+static void tracker_select_item(t_tracker* x, int r, int c);
+static void tracker_select_movecur(t_tracker* x, int dx, int dy);
+void tracker_setup(void);
+
+#endif // __G_GRID_H