//
// $Id: ipfw-allowonly.c,v 1.4 2001/11/16 04:46:20 mavetju Exp $
//
//
// Draw the graphics
//
// Draw only the allow-fields
//
#include <gtk/gtk.h>
#include "ipfw-graph.h"
//
// Draw the graphs
//
static long piles[MAXSTORED];
// draw the coloured piles on top of each other
static void draw_pile(DATA_TYPE data) {
int x,y;
for (x=MAXSTORED-xsize;x<MAXSTORED;x++) {
y=piles[x];
gdk_draw_line(drawtable[current_page].pixmap,data.gc,
x-(MAXSTORED-xsize),
ysize_drawing-(ysize_drawing*(y))/maxyvalues[x],
x-(MAXSTORED-xsize),
ysize_drawing-(ysize_drawing*(y+data.table[x]))/maxyvalues[x]);
piles[x]+=data.table[x];
}
}
// draw a realtime graph
static void draw_line(DATA_TYPE data) {
int x;
for (x=MAXSTORED-xsize;x<MAXSTORED;x++)
gdk_draw_line(bytes_pixmap,data.gc,
x-1-(MAXSTORED-xsize),
ysize_bytes-(ysize_bytes*data.table[x-1])/maxyvalue,
x-(MAXSTORED-xsize),
ysize_bytes-(ysize_bytes*data.table[x ])/maxyvalue);
}
void allowonly_bytes(void) {
draw_line(data_bytes);
}
void allowonly_drawing(void) {
int i;
if (drawtable[current_page].pixmap==NULL)
return;
memset(piles,0,MAXSTORED*sizeof(long));
for (i=0;i<data_size;i++)
if (data[i].allow)
draw_pile(data[i]);
}
syntax highlighted by Code2HTML, v. 0.9.1