summaryrefslogtreecommitdiff
path: root/apps/plugins/pdbox/PDa/src/g_graph.c
diff options
context:
space:
mode:
authorPeter D'Hoye <peter.dhoye@gmail.com>2009-07-03 22:16:11 +0000
committerPeter D'Hoye <peter.dhoye@gmail.com>2009-07-03 22:16:11 +0000
commit0d4560cb0305029fa5f0739670286176ab47cb65 (patch)
tree9899f4324664a77e6a5884fdd1541818a28a2172 /apps/plugins/pdbox/PDa/src/g_graph.c
parenteabeb928ddfdbe5fc6379efb87d9522803310649 (diff)
downloadrockbox-0d4560cb0305029fa5f0739670286176ab47cb65.zip
rockbox-0d4560cb0305029fa5f0739670286176ab47cb65.tar.gz
rockbox-0d4560cb0305029fa5f0739670286176ab47cb65.tar.bz2
rockbox-0d4560cb0305029fa5f0739670286176ab47cb65.tar.xz
Accept FS #10244 by Wincent Balin: more pdbox work done for GSoC; also some keyword and line-ending fixes by me
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21626 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/pdbox/PDa/src/g_graph.c')
-rw-r--r--apps/plugins/pdbox/PDa/src/g_graph.c83
1 files changed, 78 insertions, 5 deletions
diff --git a/apps/plugins/pdbox/PDa/src/g_graph.c b/apps/plugins/pdbox/PDa/src/g_graph.c
index c81bac1..a3d1798 100644
--- a/apps/plugins/pdbox/PDa/src/g_graph.c
+++ b/apps/plugins/pdbox/PDa/src/g_graph.c
@@ -6,12 +6,21 @@
"graphs" inside another glist. LATER move the inlet/outlet code of g_canvas.c
to this file... */
+#ifdef ROCKBOX
+#include "plugin.h"
+#include "pdbox.h"
+#include "m_pd.h"
+#include "g_canvas.h"
+#define snprintf rb->snprintf
+#define atof rb_atof
+#else /* ROCKBOX */
#include <stdlib.h>
#include "m_pd.h"
#include "t_tk.h"
#include "g_canvas.h"
#include <stdio.h>
#include <string.h>
+#endif /* ROCKBOX */
/* ---------------------- forward definitions ----------------- */
@@ -80,7 +89,11 @@ void glist_delete(t_glist *x, t_gobj *y)
if (gl->gl_isgraph)
{
char tag[80];
+#ifdef ROCKBOX
+ snprintf(tag, sizeof(tag)-1, "graph%x", (int)gl);
+#else /* ROCKBOX */
sprintf(tag, "graph%x", (int)gl);
+#endif /* ROCKBOX */
glist_eraseiofor(x, &gl->gl_obj, tag);
}
else
@@ -112,16 +125,22 @@ void glist_delete(t_glist *x, t_gobj *y)
/* remove every object from a glist. Experimental. */
void glist_clear(t_glist *x)
{
+#ifdef ROCKBOX
+ t_gobj *y;
+#else
t_gobj *y, *y2;
+#endif
int dspstate = canvas_suspend_dsp();
- while (y = x->gl_list)
+ while((y = x->gl_list))
glist_delete(x, y);
canvas_resume_dsp(dspstate);
}
void glist_retext(t_glist *glist, t_text *y)
{
+#ifndef ROCKBOX
t_canvas *c = glist_getcanvas(glist);
+#endif
/* check that we have built rtexts yet. LATER need a better test. */
if (glist->gl_editor && glist->gl_editor->e_rtext)
{
@@ -167,6 +186,9 @@ static t_gobj *glist_merge(t_glist *x, t_gobj *g1, t_gobj *g2)
{
t_gobj *g = 0, *g9 = 0;
float f1 = 0, f2 = 0;
+#ifdef ROCKBOX
+ (void) x;
+#endif
if (g1)
f1 = gobj_getxforsort(g1);
if (g2)
@@ -190,7 +212,7 @@ static t_gobj *glist_merge(t_glist *x, t_gobj *g1, t_gobj *g2)
if (g9)
g9->g_next = g1, g9 = g1;
else g9 = g = g1;
- if (g1 = g1->g_next)
+ if((g1 = g1->g_next))
f1 = gobj_getxforsort(g1);
g9->g_next = 0;
continue;
@@ -198,7 +220,7 @@ static t_gobj *glist_merge(t_glist *x, t_gobj *g1, t_gobj *g2)
if (g9)
g9->g_next = g2, g9 = g2;
else g9 = g = g2;
- if (g2 = g2->g_next)
+ if((g2 = g2->g_next))
f2 = gobj_getxforsort(g2);
g9->g_next = 0;
continue;
@@ -333,6 +355,9 @@ void canvas_resortinlets(t_canvas *x)
t_outlet *canvas_addoutlet(t_canvas *x, t_pd *who, t_symbol *s)
{
t_outlet *op = outlet_new(&x->gl_obj, s);
+#ifdef ROCKBOX
+ (void) who;
+#endif
if (!x->gl_loading && x->gl_owner && glist_isvisible(x->gl_owner))
{
gobj_vis(&x->gl_gobj, x->gl_owner, 0);
@@ -444,6 +469,9 @@ static void graph_yticks(t_glist *x,
static void graph_xlabel(t_glist *x, t_symbol *s, int argc, t_atom *argv)
{
int i;
+#ifdef ROCKBOX
+ (void) s;
+#endif
if (argc < 1) error("graph_xlabel: no y value given");
else
{
@@ -460,6 +488,9 @@ static void graph_xlabel(t_glist *x, t_symbol *s, int argc, t_atom *argv)
static void graph_ylabel(t_glist *x, t_symbol *s, int argc, t_atom *argv)
{
int i;
+#ifdef ROCKBOX
+ (void) s;
+#endif
if (argc < 1) error("graph_ylabel: no x value given");
else
{
@@ -613,10 +644,14 @@ void glist_redraw(t_glist *x)
}
/* redraw all the lines */
linetraverser_start(&t, x);
- while (oc = linetraverser_next(&t))
+ while((oc = linetraverser_next(&t)))
+#ifdef ROCKBOX
+ ;
+#else /* ROCKBOX */
sys_vgui(".x%x.c coords l%x %d %d %d %d\n",
glist_getcanvas(x), oc,
t.tr_lx1, t.tr_ly1, t.tr_lx2, t.tr_ly2);
+#endif /* ROCKBOX */
}
if (x->gl_owner)
{
@@ -651,7 +686,11 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
if (!vis)
rtext_erase(glist_findrtext(parent_glist, &x->gl_obj));
+#ifdef ROCKBOX
+ snprintf(tag, sizeof(tag)-1, "graph%x", (int) x);
+#else
sprintf(tag, "graph%x", (int)x);
+#endif
if (vis)
glist_drawiofor(parent_glist, &x->gl_obj, 1,
tag, x1, y1, x2, y2);
@@ -660,6 +699,7 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
just show the bounding rectangle */
if (x->gl_havewindow)
{
+#ifndef ROCKBOX
if (vis)
{
sys_vgui(".x%x.c create polygon\
@@ -672,6 +712,7 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
sys_vgui(".x%x.c delete %s\n",
glist_getcanvas(x->gl_owner), tag);
}
+#endif
return;
}
/* otherwise draw (or erase) us as a graph inside another glist. */
@@ -681,10 +722,12 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
float f;
/* draw a rectangle around the graph */
+#ifndef ROCKBOX
sys_vgui(".x%x.c create line\
%d %d %d %d %d %d %d %d %d %d -tags %s\n",
glist_getcanvas(x->gl_owner),
x1, y1, x1, y2, x2, y2, x2, y1, x1, y1, tag);
+#endif
/* draw ticks on horizontal borders. If lperb field is
zero, this is disabled. */
@@ -698,6 +741,7 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
f < 0.99 * x->gl_x2 + 0.01*x->gl_x1; i++,
f += x->gl_xtick.k_inc)
{
+#ifndef ROCKBOX
int tickpix = (i % x->gl_xtick.k_lperb ? 2 : 4);
sys_vgui(".x%x.c create line %d %d %d %d -tags %s\n",
glist_getcanvas(x->gl_owner),
@@ -707,11 +751,13 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
glist_getcanvas(x->gl_owner),
(int)glist_xtopixels(x, f), (int)lpix,
(int)glist_xtopixels(x, f), (int)lpix + tickpix, tag);
+#endif
}
for (i = 1, f = x->gl_xtick.k_point - x->gl_xtick.k_inc;
f > 0.99 * x->gl_x1 + 0.01*x->gl_x2;
i++, f -= x->gl_xtick.k_inc)
{
+#ifndef ROCKBOX
int tickpix = (i % x->gl_xtick.k_lperb ? 2 : 4);
sys_vgui(".x%x.c create line %d %d %d %d -tags %s\n",
glist_getcanvas(x->gl_owner),
@@ -721,6 +767,7 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
glist_getcanvas(x->gl_owner),
(int)glist_xtopixels(x, f), (int)lpix,
(int)glist_xtopixels(x, f), (int)lpix + tickpix, tag);
+#endif
}
}
@@ -735,6 +782,7 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
f < 0.99 * ubound + 0.01 * lbound;
i++, f += x->gl_ytick.k_inc)
{
+#ifndef ROCKBOX
int tickpix = (i % x->gl_ytick.k_lperb ? 2 : 4);
sys_vgui(".x%x.c create line %d %d %d %d -tags %s\n",
glist_getcanvas(x->gl_owner),
@@ -744,11 +792,13 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
glist_getcanvas(x->gl_owner),
x2, (int)glist_ytopixels(x, f),
x2 - tickpix, (int)glist_ytopixels(x, f), tag);
+#endif
}
for (i = 1, f = x->gl_ytick.k_point - x->gl_ytick.k_inc;
f > 0.99 * lbound + 0.01 * ubound;
i++, f -= x->gl_ytick.k_inc)
{
+#ifndef ROCKBOX
int tickpix = (i % x->gl_ytick.k_lperb ? 2 : 4);
sys_vgui(".x%x.c create line %d %d %d %d -tags %s\n",
glist_getcanvas(x->gl_owner),
@@ -758,19 +808,27 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
glist_getcanvas(x->gl_owner),
x2, (int)glist_ytopixels(x, f),
x2 - tickpix, (int)glist_ytopixels(x, f), tag);
+#endif
}
}
/* draw x labels */
for (i = 0; i < x->gl_nxlabels; i++)
+#ifdef ROCKBOX
+ ;
+#else /* ROCKBOX */
sys_vgui(".x%x.c create text\
%d %d -text {%s} -font -*-courier-bold--normal--%d-* -tags %s\n",
glist_getcanvas(x),
(int)glist_xtopixels(x, atof(x->gl_xlabel[i]->s_name)),
(int)glist_ytopixels(x, x->gl_xlabely), x->gl_xlabel[i]->s_name,
glist_getfont(x), tag);
+#endif /* ROCKBOX */
/* draw y labels */
for (i = 0; i < x->gl_nylabels; i++)
+#ifdef ROCKBOX
+ ;
+#else /* ROCKBOX */
sys_vgui(".x%x.c create text\
%d %d -text {%s} -font -*-courier-bold--normal--%d-* -tags %s\n",
glist_getcanvas(x),
@@ -778,6 +836,7 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
(int)glist_ytopixels(x, atof(x->gl_ylabel[i]->s_name)),
x->gl_ylabel[i]->s_name,
glist_getfont(x), tag);
+#endif /* ROCKBOX */
/* draw contents of graph as glist */
for (g = x->gl_list; g; g = g->g_next)
@@ -785,8 +844,10 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
}
else
{
+#ifndef ROCKBOX
sys_vgui(".x%x.c delete %s\n",
glist_getcanvas(x->gl_owner), tag);
+#endif
for (g = x->gl_list; g; g = g->g_next)
gobj_vis(g, x, 0);
}
@@ -904,10 +965,12 @@ static void graph_select(t_gobj *z, t_glist *glist, int state)
t_rtext *y = glist_findrtext(glist, &x->gl_obj);
if (canvas_showtext(x))
rtext_select(y, state);
+#ifndef ROCKBOX
sys_vgui(".x%x.c itemconfigure %sR -fill %s\n", glist,
rtext_gettag(y), (state? "blue" : "black"));
sys_vgui(".x%x.c itemconfigure graph%x -fill %s\n",
glist_getcanvas(glist), z, (state? "blue" : "black"));
+#endif
}
}
@@ -941,10 +1004,11 @@ static void graph_delete(t_gobj *z, t_glist *glist)
t_glist *x = (t_glist *)z;
t_gobj *y;
text_widgetbehavior.w_deletefn(z, glist);
- while (y = x->gl_list)
+ while((y = x->gl_list))
glist_delete(x, y);
}
+#ifndef ROCKBOX
static float graph_lastxpix, graph_lastypix;
static void graph_motion(void *z, t_floatarg dx, t_floatarg dy)
@@ -986,6 +1050,7 @@ static void graph_motion(void *z, t_floatarg dx, t_floatarg dy)
else vec[newx] = newy;
garray_redraw(a);
}
+#endif
static int graph_click(t_gobj *z, struct _glist *glist,
int xpix, int ypix, int shift, int alt, int dbl, int doit)
@@ -1037,11 +1102,16 @@ void graph_properties(t_gobj *z, t_glist *owner)
t_glist *x = (t_glist *)z;
{
t_gobj *y;
+#ifdef ROCKBOX
+ (void) owner;
+#else /* ROCKBOX */
char graphbuf[200];
+
sprintf(graphbuf, "pdtk_graph_dialog %%s %g %g %g %g %d %d\n",
x->gl_x1, x->gl_y1, x->gl_x2, x->gl_y2,
x->gl_pixwidth, x->gl_pixheight);
gfxstub_new(&x->gl_pd, x, graphbuf);
+#endif /* ROCKBOX */
for (y = x->gl_list; y; y = y->g_next)
if (pd_class(&y->g_pd) == garray_class)
@@ -1071,6 +1141,9 @@ static void graph_dialog(t_glist *x, t_symbol *s, int argc, t_atom *argv)
t_float y2 = atom_getfloatarg(3, argc, argv);
t_float xpix = atom_getfloatarg(4, argc, argv);
t_float ypix = atom_getfloatarg(5, argc, argv);
+#ifdef ROCKBOX
+ (void) s;
+#endif
if (x1 != x->gl_x1 || x2 != x->gl_x2 ||
y1 != x->gl_y1 || y2 != x->gl_y2)
graph_bounds(x, x1, y1, x2, y2);