From 90a3362b23584eabade1b7ab9eef06649f4c276a Mon Sep 17 00:00:00 2001 From: Etienne Brateau <etienne.brateau@ensiie.fr> Date: Sun, 16 Dec 2018 16:16:51 +0100 Subject: [PATCH] Move page structure into page.h --- log/include/log_action.h | 1 + log/include/logdef.h | 8 -------- log/include/page.h | 19 +++++++++++++++++++ log/src/node.c | 8 +------- log/src/page.c | 20 ++++++++++---------- log/src/screen.c | 3 --- 6 files changed, 31 insertions(+), 28 deletions(-) diff --git a/log/include/log_action.h b/log/include/log_action.h index 11f417e..d808d5a 100644 --- a/log/include/log_action.h +++ b/log/include/log_action.h @@ -4,6 +4,7 @@ #include"logdef.h" #include "gate.h" #include "wire.h" +#include "page.h" #include<limits.h> typedef enum diff --git a/log/include/logdef.h b/log/include/logdef.h index a6fd4f7..027b2ef 100644 --- a/log/include/logdef.h +++ b/log/include/logdef.h @@ -250,14 +250,6 @@ typedef struct log_brec { unsigned f7 : 1, f6 : 1, f5 : 1, f4 : 1, f3 : 1, f2 : 1, f1 : 1, f0 : 1; } log_brec; /* Dashed box */ -typedef struct log_regrec { - short pagenum, x1, y1, x2, y2; - long regstamp; - na_long info; - struct log_regrec *next; - int f7, f6, f5, f4, f3, f2, f1, f0; -} log_regrec; /* Sensitive region */ - typedef enum { simst_null, simst_off, simst_notactive, simst_notready, simst_running diff --git a/log/include/page.h b/log/include/page.h index 9fd6286..cdffd28 100644 --- a/log/include/page.h +++ b/log/include/page.h @@ -1,8 +1,27 @@ #ifndef PAGE_H #define PAGE_H +typedef struct log_regrec { + short pagenum; + short x1, y1, x2, y2; + long regstamp; + na_long info; + struct log_regrec *next; + int f7, f6, f5, f4, f3, f2, f1, f0; +} log_regrec; /* Sensitive region */ + void chpage(short pg); void chpageplace(short pg, short x1, short y1, short x2, short y2); +int pageempty(short pg); + +int pagenull(short pg); + +int pagechanged(short pg); + +int anychanged(); + +void newpage(short pg); + #endif diff --git a/log/src/node.c b/log/src/node.c index 4054bb7..ced7386 100644 --- a/log/src/node.c +++ b/log/src/node.c @@ -374,13 +374,6 @@ void dumpnodes() void delgetnode(log_nrec **save, log_nrec **old, log_nrec **n) { - /* if save <> nil then - begin -n := save; --> Not safe! <-- -save := nil; -end -else -*/ copynode(*old, n); } @@ -635,3 +628,4 @@ int trycombinenodes(log_nrec **n1, log_nrec **n2) queuecombine(&cnbase, n1, n2); return (checkcombine(&cnbase)); } + diff --git a/log/src/page.c b/log/src/page.c index 975f6d9..b9ba5fe 100644 --- a/log/src/page.c +++ b/log/src/page.c @@ -39,7 +39,7 @@ void chpageplace(short pg, short x1, short y1, short x2, short y2) } -int pageempty(int pg) +int pageempty(short pg) { return (gg.gbase[pg - 1] == NULL && gg.hwbase[pg - 1] == NULL && gg.vwbase[pg - 1] == NULL && gg.bbase[pg - 1] == NULL && @@ -74,12 +74,12 @@ int anychanged() /*= =*/ /*================================================*/ -void newpage(short p) +void newpage(short pg) { short i; garbagecoll(); - for (i = gg.numpages; i < p; i++) + for (i = gg.numpages; i < pg; i++) { xoffp[i] = (origin + across / 2) * gg.scale / log_scale0 - across / 2; yoffp[i] = (origin + baseline / 2) * gg.scale / log_scale0 - baseline / 2; @@ -96,17 +96,17 @@ void newpage(short p) curfilename[i] = NULL; vlsimode[i] = vlsi; } - if (p != gg.curpage) + if (pg != gg.curpage) { xoffp[gg.curpage - 1] = gg.xoff; yoffp[gg.curpage - 1] = gg.yoff; - gg.xoff = xoffp[p - 1]; - gg.yoff = yoffp[p - 1]; - vlsi = vlsimode[p - 1]; + gg.xoff = xoffp[pg - 1]; + gg.yoff = yoffp[pg - 1]; + vlsi = vlsimode[pg - 1]; curwcolor = log_wcol_normal; - gg.numpages = P_imax2((long)p, gg.numpages); - gg.curpage = p; - realcurpage = p; + gg.numpages = P_imax2((long)pg, gg.numpages); + gg.curpage = pg; + realcurpage = pg; } while (gg.numpages > gg.curpage && pagenull((int)gg.numpages)) gg.numpages--; diff --git a/log/src/screen.c b/log/src/screen.c index 3b42583..e3f6c30 100644 --- a/log/src/screen.c +++ b/log/src/screen.c @@ -1984,9 +1984,6 @@ void drawnode(log_nrec *n) /*= =*/ /*================================================*/ -int pageempty (int pg); - - void refrpagedisp() { short num; -- GitLab