- Rewrote Command Reference document (simplified and now includes screenshots)
- Updated example diagram to use new Traffic Flows feature - Added an additional paste shortcut for windows compatibility ('v') - Grid is now back to being on by default again - Grid is automatically turned off when a new map is loaded. - Grid is automatically turned on when all maps are cleared (via the new map button) - Removed -g from Windows Makefile (since I can't make gdb work under mingw anyway) - Current filename is now displayed in title bar - Modified welcome text - Added new vector shape: Bezier Curve - Redrew Cloud object to use bezier curves instead of lines - Added Copy, Paste and Grid buttons - Combined X&Y position matching into a single button (use RMB for Y position match) - Added Traffic Flow button (LMB = toggle display of flows, RMB = define flows) - 1 bit of "Unused" part of colour struct on links, objects and text is now used to show whether or not to fill this thing. - 2 bit of "Unused" part of colour struct on links, objects and text is now used to show whether or not this thing is a traffic flow. - Fixed bug where first toolbox button hilighted would "stick" - Fixed bug where status text was overwritten during VIDEO_EXPOSE event
This commit is contained in:
parent
5300b3e324
commit
edb6d59b81
22
CHANGELOG
22
CHANGELOG
|
@ -10,6 +10,28 @@ Ideas for future versions:
|
|||
- Implement a toggle-able traffic flow display (for example, you might click
|
||||
a button and have arrows appear to show all SMTP mail flows)
|
||||
|
||||
Version 1.4:
|
||||
- Rewrote Command Reference document (simplified and now includes screenshots)
|
||||
- Updated example diagram to use new Traffic Flows feature
|
||||
- Added an additional paste shortcut for windows compatibility ('v')
|
||||
- Grid is now back to being on by default again
|
||||
- Grid is automatically turned off when a new map is loaded.
|
||||
- Grid is automatically turned on when all maps are cleared (via the new map button)
|
||||
- Removed -g from Windows Makefile (since I can't make gdb work under mingw anyway)
|
||||
- Current filename is now displayed in title bar
|
||||
- Modified welcome text
|
||||
- Added new vector shape: Bezier Curve
|
||||
- Redrew Cloud object to use bezier curves instead of lines
|
||||
- Added Copy, Paste and Grid buttons
|
||||
- Combined X&Y position matching into a single button (use RMB for Y position match)
|
||||
- Added Traffic Flow button (LMB = toggle display of flows, RMB = define flows)
|
||||
- 1 bit of "Unused" part of colour struct on links, objects and text is now used to
|
||||
show whether or not to fill this thing.
|
||||
- 2 bit of "Unused" part of colour struct on links, objects and text is now used to
|
||||
show whether or not this thing is a traffic flow.
|
||||
- Fixed bug where first toolbox button hilighted would "stick"
|
||||
- Fixed bug where status text was overwritten during VIDEO_EXPOSE event
|
||||
|
||||
Version 1.3:
|
||||
- Grid is now off by default
|
||||
- Added keyboard shortcuts ('0' through '9' to select or define)
|
||||
|
|
16
Makefile
16
Makefile
|
@ -3,14 +3,12 @@ netmapr: netmapr.c constants.h netmapr.h Makefile
|
|||
ln -f netmapr netmapr-viewer
|
||||
|
||||
install: netmapr
|
||||
install -C -o root -m 755 netmapr /usr/local/bin/netmapr
|
||||
install -C -D -o root -m 755 netmapr /usr/local/bin/netmapr
|
||||
ln -f /usr/local/bin/netmapr /usr/local/bin/netmapr-viewer
|
||||
install -C -o root -m 644 buttons.dat /usr/local/share/netmapr/buttons.dat
|
||||
install -C -o root -m 644 objects.dat /usr/local/share/netmapr/objects.dat
|
||||
install -C -o root -m 644 verdana.ttf /usr/local/share/netmapr/verdana.ttf
|
||||
install -C -o root -m 644 icon.bmp /usr/local/share/netmapr/icon.bmp
|
||||
|
||||
ss: netmapr.jpg
|
||||
convert netmapr.jpg -geometry 320x240 netmapr-small.jpg
|
||||
convert netmapr.jpg -geometry 800x600 netmapr-fm.jpg
|
||||
install -C -D -o root -m 644 buttons.dat /usr/local/share/netmapr/buttons.dat
|
||||
install -C -D -o root -m 644 objects.dat /usr/local/share/netmapr/objects.dat
|
||||
install -C -D -o root -m 644 verdana.ttf /usr/local/share/netmapr/verdana.ttf
|
||||
install -C -D -o root -m 644 icon.bmp /usr/local/share/netmapr/icon.bmp
|
||||
|
||||
clean: netmapr convert netmapr-viewer
|
||||
rm -f netmapr convert netmapr-viewer
|
||||
|
|
|
@ -8,3 +8,6 @@ install: netmapr
|
|||
install -C -o root -m 644 objects.dat /usr/local/share/netmapr/objects.dat
|
||||
install -C -o root -m 644 verdana.ttf /usr/local/share/netmapr/verdana.ttf
|
||||
install -C -o root -m 644 icon.bmp /usr/local/share/netmapr/icon.bmp
|
||||
|
||||
clean: netmapr convert netmapr-viewer
|
||||
rm -f netmapr convert netmapr-viewer
|
||||
|
|
|
@ -9,3 +9,6 @@ install: netmapr
|
|||
install -C -D -o root -m 644 objects.dat /usr/local/share/netmapr/objects.dat
|
||||
install -C -D -o root -m 644 verdana.ttf /usr/local/share/netmapr/verdana.ttf
|
||||
install -C -D -o root -m 644 icon.bmp /usr/local/share/netmapr/icon.bmp
|
||||
|
||||
clean: netmapr convert netmapr-viewer
|
||||
rm -f netmapr convert netmapr-viewer
|
||||
|
|
|
@ -3,3 +3,7 @@ netmapr: netmapr.c constants.h netmapr.h Makefile
|
|||
|
||||
convert: convert.c convert.h Makefile
|
||||
gcc -Wall -g convert.c -I/usr/local/include -oconvert -lmingw32 -L/usr/local/lib -lSDLmain -lSDL
|
||||
|
||||
|
||||
clean: netmapr convert netmapr-viewer
|
||||
rm -f netmapr convert netmapr-viewer
|
||||
|
|
83
buttons.dat
83
buttons.dat
|
@ -21,6 +21,60 @@ line 20 100 60 20 190 190 190
|
|||
line 100 100 60 20 190 190 190
|
||||
line 40 60 80 60 190 190 190
|
||||
end
|
||||
button copy 120 120
|
||||
# corner
|
||||
line 10 20 30 0 190 190 190
|
||||
line 30 0 30 20 190 190 190
|
||||
line 10 20 30 20 190 190 190
|
||||
# paper
|
||||
line 10 20 10 70 190 190 190
|
||||
line 10 70 40 70 190 190 190
|
||||
line 60 40 60 0 190 190 190
|
||||
line 60 0 30 0 190 190 190
|
||||
# 2nd corner
|
||||
line 40 60 60 40 190 190 190
|
||||
line 40 60 60 60 190 190 190
|
||||
line 60 40 60 60 190 190 190
|
||||
# 2nd paper
|
||||
line 40 60 40 110 190 190 190
|
||||
line 40 110 90 110 190 190 190
|
||||
line 90 110 90 40 190 190 190
|
||||
line 90 40 60 40 190 190 190
|
||||
end
|
||||
button paste 120 120
|
||||
# clip
|
||||
line 45 0 55 0 190 190 190
|
||||
line 55 0 70 15 190 190 190
|
||||
line 45 0 30 15 190 190 190
|
||||
line 30 15 70 15 190 190 190
|
||||
# board
|
||||
line 50 5 10 5 190 190 190
|
||||
line 10 5 10 90 190 190 190
|
||||
line 10 90 50 90 190 190 190
|
||||
line 90 40 90 5 190 190 190
|
||||
line 90 5 60 5 190 190 190
|
||||
# paper
|
||||
line 90 40 50 40 190 190 190
|
||||
line 50 40 50 110 190 190 190
|
||||
line 50 110 110 110 190 190 190
|
||||
line 110 110 110 60 190 190 190
|
||||
line 110 60 90 40 190 190 190
|
||||
# fold
|
||||
line 90 40 90 60 190 190 190
|
||||
line 90 60 110 60 190 190 190
|
||||
# lines
|
||||
line 60 50 80 50 190 190 190
|
||||
line 60 60 80 60 190 190 190
|
||||
line 60 74 95 74 190 190 190
|
||||
line 60 86 95 86 190 190 190
|
||||
line 60 99 95 99 190 190 190
|
||||
end
|
||||
button grid 120 120
|
||||
line 10 35 100 35 190 190 190
|
||||
line 10 75 100 75 190 190 190
|
||||
line 35 10 35 100 190 190 190
|
||||
line 75 10 75 100 190 190 190
|
||||
end
|
||||
button fgcol 120 120
|
||||
# colour box
|
||||
box 10 10 100 70 190 190 190
|
||||
|
@ -76,18 +130,25 @@ box 60 10 100 50 190 190 190
|
|||
box 60 60 100 100 190 190 190
|
||||
# lines
|
||||
line 10 10 60 10 150 150 150
|
||||
line 10 30 60 30 150 150 150
|
||||
line 10 50 60 50 150 150 150
|
||||
line 10 10 10 100 150 150 150
|
||||
#
|
||||
line 25 30 60 30 150 150 150
|
||||
line 25 30 25 100 150 150 150
|
||||
#
|
||||
line 35 50 60 50 150 150 150
|
||||
line 35 50 35 100 150 150 150
|
||||
end
|
||||
button matchy 120 120
|
||||
#left
|
||||
box 5 60 45 100 190 190 190
|
||||
#right
|
||||
box 60 60 100 100 190 190 190
|
||||
#lines
|
||||
line 60 10 60 60 150 150 150
|
||||
line 80 10 80 60 150 150 150
|
||||
line 100 10 100 60 150 150 150
|
||||
button flow 120 90
|
||||
# t
|
||||
line 0 10 30 10 190 190 190
|
||||
line 15 10 15 40 190 190 190
|
||||
# c
|
||||
line 70 10 40 10 190 190 190
|
||||
line 40 10 40 40 190 190 190
|
||||
line 40 40 70 40 190 190 190
|
||||
# p
|
||||
box 80 10 105 20 190 190 190
|
||||
line 80 20 80 40 190 190 190
|
||||
end
|
||||
button drilldown 120 120
|
||||
# down line
|
||||
|
|
39
constants.h
39
constants.h
|
@ -1,5 +1,6 @@
|
|||
#define VERSION "1.3"
|
||||
#define VERSION "1.4"
|
||||
|
||||
#define SMALLBUFLEN 64
|
||||
#define BUFLEN 512
|
||||
|
||||
#define DOUBLECLICKTHRES 250
|
||||
|
@ -40,6 +41,8 @@
|
|||
|
||||
#define MAXFILLSTACK 500000
|
||||
|
||||
#define BEZIERQUALITY 50
|
||||
|
||||
#define SHORTCUTSIZE (10)
|
||||
|
||||
#define OLDMAXVECTORSPERIMAGE (60)
|
||||
|
@ -50,9 +53,8 @@
|
|||
#define OBJSELHANDLEPCT (15)
|
||||
|
||||
|
||||
/* used as a NULL value for colours */
|
||||
#define NOCOLOUR (99)
|
||||
#define USECOLOUR (100)
|
||||
#define USECOLOUR (0x01) /* used as a NULL value for colours */
|
||||
#define ISFLOW (0x02) /* used to show whether things are traffic flows */
|
||||
|
||||
#define GRIDBRIGHTNESS 100
|
||||
|
||||
|
@ -75,6 +77,7 @@
|
|||
#define VT_FILL (3)
|
||||
#define VT_ELLIPSE (4)
|
||||
#define VT_FILLBOX (5)
|
||||
#define VT_BEZIER (6)
|
||||
|
||||
#define TRUE (-1)
|
||||
#define FALSE (0)
|
||||
|
@ -104,23 +107,27 @@
|
|||
#define S_FILLCOL (22)
|
||||
#define S_EDITTEXT (23)
|
||||
#define S_CHANGEOBJECT (24)
|
||||
#define S_DRAWFLOW (25)
|
||||
|
||||
|
||||
#define TB_POINTER (0)
|
||||
#define TB_ADDOBJ (1)
|
||||
#define TB_ADDTEXT (2)
|
||||
#define TB_FGCOL (3)
|
||||
#define TB_FILLCOL (4)
|
||||
#define TB_LINESTYLE (5)
|
||||
#define TB_MATCHSIZE (6)
|
||||
#define TB_MATCHX (7)
|
||||
#define TB_MATCHY (8)
|
||||
#define TB_DRILLDOWN (9)
|
||||
#define TB_CREATETELE (10)
|
||||
#define TB_DELETEMAP (11)
|
||||
#define TB_NEW (12)
|
||||
#define TB_LOAD (13)
|
||||
#define TB_SAVE (14)
|
||||
#define TB_COPY (3)
|
||||
#define TB_PASTE (4)
|
||||
#define TB_GRID (5)
|
||||
#define TB_FGCOL (6)
|
||||
#define TB_FILLCOL (7)
|
||||
#define TB_LINESTYLE (8)
|
||||
#define TB_MATCHSIZE (9)
|
||||
#define TB_MATCHPOS (10)
|
||||
#define TB_FLOW (11)
|
||||
#define TB_DRILLDOWN (12)
|
||||
#define TB_CREATETELE (13)
|
||||
#define TB_DELETEMAP (14)
|
||||
#define TB_NEW (15)
|
||||
#define TB_LOAD (16)
|
||||
#define TB_SAVE (17)
|
||||
|
||||
#define SIDEBARW 100
|
||||
|
||||
|
|
2
dist.sh
2
dist.sh
|
@ -8,6 +8,7 @@ WINFILE=${FULLNAME}-win32.zip
|
|||
mkdir ${FULLNAME}
|
||||
cp README.txt INSTALL.txt Makefile.linux Makefile.freebsd Makefile.windows objects.dat buttons.dat netmapr.c netmapr.h constants.h convert.c convert.h icon.bmp verdana.ttf example.map ${FULLNAME}/
|
||||
cp -R doc ${FULLNAME}/
|
||||
rm -rf ${FULLNAME}/doc/CVS
|
||||
tar zcvf ${TARFILE} ${FULLNAME}
|
||||
rm -rf ${FULLNAME}
|
||||
|
||||
|
@ -15,5 +16,6 @@ rm -rf ${FULLNAME}
|
|||
mkdir ${FULLNAME}
|
||||
cp README.txt INSTALL.txt objects.dat buttons.dat netmapr.exe netmapr.c netmapr.h constants.h convert.c convert.h verdana.ttf example.map icon.bmp windows_files/*.dll ${FULLNAME}/
|
||||
cp -R doc ${FULLNAME}/
|
||||
rm -rf ${FULLNAME}/doc/CVS
|
||||
zip -r ${WINFILE} ${FULLNAME}
|
||||
rm -rf ${FULLNAME}
|
||||
|
|
BIN
example.map
BIN
example.map
Binary file not shown.
19
netmapr.h
19
netmapr.h
|
@ -44,6 +44,7 @@ typedef struct {
|
|||
int y;
|
||||
int w;
|
||||
int h;
|
||||
/* top bit of c.unused says whether or not this is a flow */
|
||||
SDL_Color c;
|
||||
int anchor;
|
||||
} text_t;
|
||||
|
@ -58,6 +59,7 @@ typedef struct {
|
|||
int dstyoff;
|
||||
int npoints;
|
||||
xy_t point[MAXPOINTS];
|
||||
/* top bit of c.unused says whether or not this is a flow */
|
||||
SDL_Color col;
|
||||
int style;
|
||||
} link_t;
|
||||
|
@ -105,8 +107,9 @@ typedef struct {
|
|||
int w;
|
||||
int h;
|
||||
int child;
|
||||
/* fillcol.unused = 1 means to fill with this colour */
|
||||
/* fillcol.unused = NOCOLOUR means to ignore this*/
|
||||
/* fillcol.unused top bit unused says whether or not this is a flow */
|
||||
/* (fillcol.unused & 1) == 1 means to fill with this colour */
|
||||
/* (fillcol.unused & 1) == NOCOLOUR means to ignore this*/
|
||||
SDL_Color fillcol;
|
||||
} mapobject_t;
|
||||
|
||||
|
@ -161,15 +164,18 @@ typedef struct {
|
|||
|
||||
map_t map[MAXMAPS];
|
||||
|
||||
char typedesc[6][BUFLEN];
|
||||
|
||||
void addlinkpoint(int linkid, int x, int y);
|
||||
int addvector(vectorimg_t *vimg, int type, int x1, int y1, int x2, int y2, SDL_Color *c);
|
||||
void changegridsize(void);
|
||||
void changelinearrow(int changeby);
|
||||
void changelinestyle(int changeby);
|
||||
void changelinethickness(int changeby);
|
||||
void changemap(int newmap);
|
||||
void changestate(int newstate);
|
||||
void cleanup(void);
|
||||
void copy(void);
|
||||
int createobject(int type, int x, int y);
|
||||
void copyline(SDL_Surface *screen,int x1, int y1, int x2, int y2, int *lbuf);
|
||||
void deletething(int id, int type);
|
||||
|
@ -177,10 +183,13 @@ void deletelink(int linkid);
|
|||
void deleteobject(int oid );
|
||||
void deletetext(int textid);
|
||||
void drawarrowhead(SDL_Surface *screen, double x1, double y1, double x2, double y2, SDL_Color c, int arrowstyle, int arrowpos);
|
||||
void lerp(int *newx, int *newy, int ax, int ay, int bx, int by, float t);
|
||||
void drawbezier(SDL_Surface *screen, int x1, int y1, int x2,int y2, int x3,int y3, int x4,int y4, SDL_Color c);
|
||||
void drawbox(SDL_Surface *screen, int x1, int y1, int x2, int y2, SDL_Color c);
|
||||
void drawfillbox(SDL_Surface *screen, int x1, int y1, int x2, int y2, SDL_Color c);
|
||||
void drawellipsepoints(SDL_Surface *screen, int x1, int y1, int x, int y, SDL_Color c);
|
||||
void drawellipse(SDL_Surface *screen, int x1, int y1, int x2, int y2, SDL_Color c);
|
||||
void drawflowbox(SDL_Surface *dest, int oid, int otype);
|
||||
void drawcolorchart(SDL_Surface *dest);
|
||||
void drawmaplist(SDL_Surface *dest);
|
||||
int drawletter(SDL_Surface *dest,int x, int y, int w, int h, char let, SDL_Color col);
|
||||
|
@ -225,12 +234,14 @@ int linkat(int x, int y);
|
|||
int loadmap(void);
|
||||
void lowerselected(void);
|
||||
int objat(int x, int y);
|
||||
void paste(void);
|
||||
void pasteline(SDL_Surface *screen, int *lbuf);
|
||||
void pop(int *x, int *y);
|
||||
void push(int x, int y);
|
||||
int initgraphics(void);
|
||||
void initmap(int mapnum);
|
||||
int initobject(int onum);
|
||||
int isflow(int oid, int otype);
|
||||
int isonline (int fx, int fy, int x1, int y1, int x2, int y2);
|
||||
int isonlink(int linkid, int mx, int my);
|
||||
int isonlinkdst(int lineid, int mx, int my);
|
||||
|
@ -245,6 +256,7 @@ int isonmapname (int x, int y);
|
|||
int isongoback (int x, int y);
|
||||
void initvars(void);
|
||||
void raiseselected(void);
|
||||
void setmod(int tf);
|
||||
int savemap(void);
|
||||
int showfiledialog(void);
|
||||
void startedittext (int o);
|
||||
|
@ -258,6 +270,8 @@ int startresize (int x, int y);
|
|||
int startresizetext (int x, int y);
|
||||
int starttextmove(int x, int y);
|
||||
int textat(int x, int y);
|
||||
void toggleflow(int oid, int otype);
|
||||
void togglegrid(void);
|
||||
int thingat(int x, int y);
|
||||
int updatefilename(void);
|
||||
int updatelinkshadow(int x, int y);
|
||||
|
@ -267,3 +281,4 @@ int updateresizeshadow(int x, int y);
|
|||
int updateresizetextshadow(int x, int y);
|
||||
int updatetextcursor(void);
|
||||
int updatetextshadow(int x, int y);
|
||||
void updatewm(void);
|
||||
|
|
51
objects.dat
51
objects.dat
|
@ -222,48 +222,15 @@ line 90 30 90 80 0 0 0
|
|||
# fill monitor screen
|
||||
fill 50 50 0 0 255
|
||||
end
|
||||
object cloud 105 105
|
||||
# top
|
||||
# /
|
||||
line 0 15 15 0 0 0 0
|
||||
line 15 0 30 0 0 0 0
|
||||
line 30 0 37 10 0 0 0
|
||||
line 37 10 45 0 0 0 0
|
||||
line 45 0 60 0 0 0 0
|
||||
line 60 0 67 10 0 0 0
|
||||
line 67 10 75 0 0 0 0
|
||||
line 75 0 90 0 0 0 0
|
||||
line 90 0 104 15 0 0 0
|
||||
# right
|
||||
# |
|
||||
line 104 15 104 30 0 0 0
|
||||
line 104 30 90 37 0 0 0
|
||||
line 90 37 104 45 0 0 0
|
||||
line 104 45 104 60 0 0 0
|
||||
line 104 60 90 67 0 0 0
|
||||
line 90 67 104 75 0 0 0
|
||||
line 104 75 104 90 0 0 0
|
||||
line 104 90 90 104 0 0 0
|
||||
# bottom
|
||||
# _
|
||||
line 90 104 75 104 0 0 0
|
||||
line 75 104 67 94 0 0 0
|
||||
line 67 94 60 104 0 0 0
|
||||
line 60 104 45 104 0 0 0
|
||||
line 45 104 37 94 0 0 0
|
||||
line 37 94 30 104 0 0 0
|
||||
line 30 104 15 104 0 0 0
|
||||
line 15 104 0 90 0 0 0
|
||||
# left
|
||||
# |
|
||||
line 0 90 0 75 0 0 0
|
||||
line 0 75 10 67 0 0 0
|
||||
line 10 67 0 60 0 0 0
|
||||
line 0 60 0 45 0 0 0
|
||||
line 0 45 10 37 0 0 0
|
||||
line 10 37 0 30 0 0 0
|
||||
line 0 30 0 15 0 0 0
|
||||
# insides
|
||||
object cloud 102 102
|
||||
bezier 37 15 45 0 60 0 67 15 0 0 0
|
||||
bezier 67 15 80 0 104 15 90 37 0 0 0
|
||||
bezier 90 37 104 45 104 60 90 67 0 0 0
|
||||
bezier 90 67 104 75 90 104 67 89 0 0 0
|
||||
bezier 67 89 60 104 45 104 37 89 0 0 0
|
||||
bezier 37 89 30 104 0 90 10 67 0 0 0
|
||||
bezier 10 67 0 60 0 45 10 37 0 0 0
|
||||
bezier 10 37 0 30 15 0 37 15 0 0 0
|
||||
fill 60 60 180 180 180
|
||||
end
|
||||
object server 120 120
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/sh
|
||||
VERSION=`cat constants.h | grep VERSION | awk '{ v=$3; gsub("\"","",v); print v }'`
|
||||
|
||||
FULLNAME=netmapr-${VERSION}
|
||||
TARFILE=${FULLNAME}.tar.gz
|
||||
WINFILE=${FULLNAME}-win32.zip
|
||||
|
||||
|
||||
mkdir ${FULLNAME}
|
||||
cp README.txt INSTALL.txt objects.dat buttons.dat netmapr.exe netmapr.c netmapr.h constants.h convert.c convert.h verdana.ttf example.map icon.bmp windows_files/*.dll ${FULLNAME}/
|
||||
cp -R doc ${FULLNAME}/
|
Loading…
Reference in New Issue