Start work on NDA
This commit is contained in:
parent
88102cafea
commit
90ee3fc724
Binary file not shown.
Binary file not shown.
Binary file not shown.
10
Make.engine
10
Make.engine
|
@ -1,3 +1,9 @@
|
|||
#
|
||||
# Make.engine
|
||||
# By: Jeremy Rand
|
||||
#
|
||||
|
||||
|
||||
CALC_OBJS=abCalc.o abCStack.o abCMode.o abCError.o
|
||||
|
||||
EXPR_OBJS=expr/abCExpr.o expr/abCExpReal.o expr/abCExprInt.o
|
||||
|
@ -8,7 +14,9 @@ OPS_OBJS=ops/abCOp.o ops/abCOpAdd.o ops/abCOpSubtr.o ops/abCOpMult.o \
|
|||
ops/abCOpStws.o ops/abCOpRcws.o ops/abCOpSl.o ops/abCOpRl.o ops/abCOpSr.o \
|
||||
ops/abCOpRr.o ops/abCOpAsr.o
|
||||
|
||||
OBJS=abCMain.o $(CALC_OBJS) $(EXPR_OBJS) $(OPS_OBJS)
|
||||
SHELL_OBJS=abCMain.o $(CALC_OBJS) $(EXPR_OBJS) $(OPS_OBJS)
|
||||
|
||||
NDA_OBJS=abCNDA.o $(CALC_OBJS) $(EXPR_OBJS) $(OPS_OBJS)
|
||||
|
||||
abCMain.o: abCalc.h abCStack.h expr/abCExpr.h ops/abCOp.h abCError.h
|
||||
|
||||
|
|
11
Make.mac
11
Make.mac
|
@ -1,3 +1,8 @@
|
|||
#
|
||||
# Make.mac
|
||||
# By: Jeremy Rand
|
||||
#
|
||||
|
||||
NAME=abCalc
|
||||
|
||||
CFLAGS=-I.
|
||||
|
@ -6,8 +11,8 @@ all: $(NAME)
|
|||
|
||||
include Make.engine
|
||||
|
||||
$(NAME): $(OBJS)
|
||||
cc -o $(NAME) $(OBJS)
|
||||
$(NAME): $(SHELL_OBJS)
|
||||
cc -o $(NAME) $(SHELL_OBJS)
|
||||
|
||||
clean:
|
||||
rm -f $(NAME) $(OBJS)
|
||||
rm -f $(NAME) $(SHELL_OBJS)
|
||||
|
|
20
Makefile
20
Makefile
|
@ -1,16 +1,26 @@
|
|||
NAME=abCalc
|
||||
#
|
||||
# Makefile
|
||||
# By: Jeremy Rand
|
||||
#
|
||||
|
||||
all: $(NAME)
|
||||
SHELL_NAME=abCalc
|
||||
NDA_NAME=abCalcNDA
|
||||
|
||||
all: $(SHELL_NAME) $(NDA_NAME)
|
||||
|
||||
.INCLUDE: "Make.engine"
|
||||
|
||||
CFLAGS=-D ABCALC_GSOS
|
||||
|
||||
$(NAME): fixtype $(OBJS)
|
||||
occ -o $(NAME) $(OBJS)
|
||||
$(SHELL_NAME): fixtype $(SHELL_OBJS)
|
||||
occ -o $(SHELL_NAME) $(SHELL_OBJS)
|
||||
|
||||
$(NDA_NAME): fixtype $(NDA_OBJS)
|
||||
|
||||
|
||||
clean:
|
||||
cp -p rm -f $(NAME) $(OBJS) $(NAME).r $(NAME).root
|
||||
cp -p rm -f $(SHELL_NAME) $(SHELL_OBJS) $(SHELL_NAME).root
|
||||
cp -p rm -f $(NDA_NAME) $(NDA_OBJS) $(NDA_NAME).r $(NDA_NAME).root
|
||||
cp -p rm -f *.root
|
||||
cp -p rm -f expr/*.root
|
||||
cp -p rm -f ops/*.root
|
||||
|
|
|
@ -0,0 +1,73 @@
|
|||
/*
|
||||
abCalcNDA.c
|
||||
By: Jeremy Rand
|
||||
*/
|
||||
|
||||
|
||||
#pragma nda NDAOpen NDAClose NDAAction NDAInit 60 0x03FF " abCalc\\H**"
|
||||
|
||||
|
||||
#include <types.h>
|
||||
|
||||
|
||||
static BOOLEAN gCalcActive;
|
||||
static GrafPortPtr gCalcWinPtr;
|
||||
|
||||
|
||||
void NDAClose(void)
|
||||
{
|
||||
if (gCalcActive) {
|
||||
CloseWindow(gCalcWinPtr);
|
||||
gCalcActive = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void NDAInit(int code)
|
||||
{
|
||||
if (code == 1)
|
||||
gCalcActive = FALSE;
|
||||
else if (gCalcActive)
|
||||
NDAClose();
|
||||
}
|
||||
|
||||
|
||||
GrafPortPtr NDAOpen(void)
|
||||
{
|
||||
GrafPortPtr wPtr;
|
||||
|
||||
wPtr = NULL;
|
||||
if (!clockActive) {
|
||||
if (OpenResourceFork()) {
|
||||
gCalcWinPtr = NewWindow2("\p abCalc ", 0, NULL, NULL, 0x02, wrNum, rWindParam1);
|
||||
if (toolerror() == 0) {
|
||||
SetSysWindow(gCalcWinPtr);
|
||||
clockActive = TRUE;
|
||||
wPtr = clockWinPtr;
|
||||
}
|
||||
CloseResourceFork();
|
||||
}
|
||||
}
|
||||
return wPtr;
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN NDAAction(int code, EventRecord *sysEvent)
|
||||
{
|
||||
int event;
|
||||
static EventRecord localEvent;
|
||||
|
||||
switch (code) {
|
||||
case eventAction:
|
||||
localEvent.what = sysEvent->what;
|
||||
localEvent.message = sysEvent->message;
|
||||
localEvent.when = sysEvent->when;
|
||||
localEvent.where = sysEvent->where;
|
||||
localEvent.modifiers = sysEvent->modifiers;
|
||||
event = TaskMasterDA(0, &localEvent);
|
||||
break;
|
||||
case runAction:
|
||||
break;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
/*
|
||||
abCalcNDA.defs
|
||||
By: Jeremy Rand
|
||||
*/
|
||||
|
||||
#define ABCALC_WINDOW_NUM 1001
|
||||
#define ABCALC_LINED_COLORS 1002
|
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
abCalcNDA.h
|
||||
By: Jeremy Rand
|
||||
*/
|
||||
|
||||
|
||||
#include "types.rez"
|
||||
#include "abCalcNda.defs"
|
||||
|
||||
|
||||
resource rWindParam1 (ABCALC_WINDOW_NUM) {
|
||||
$C0A5, /* wFrameBits */
|
||||
nil, /* wTitle */
|
||||
0, /* wRefCon */
|
||||
{0,0,0,0}, /* ZoomRect */
|
||||
ABCALC_LINED_COLORS, /* wColor ID */
|
||||
{0,0}, /* Origin */
|
||||
{0,0}, /* data size */
|
||||
{0,0}, /* max height-width */
|
||||
{0,0}, /* scroll ver hors */
|
||||
{0,0}, /* page ver horiz */
|
||||
0, /* winfoRefcon */
|
||||
0, /* wInfoHeight */
|
||||
{50,50,62,200}, /* wposition */
|
||||
infront, /* wPlane */
|
||||
nil, /* wStorage */
|
||||
$0800 /* wInVerb */
|
||||
};
|
||||
|
||||
|
||||
resource rWindColor (ABCALC_LINED_COLORS) {
|
||||
0x0000, /* frameColor */
|
||||
0x0F00, /* titleColor */
|
||||
0x020F, /* tbarColor */
|
||||
0xF0F0, /* growColor */
|
||||
0x00F0, /* infoColor */
|
||||
};
|
Loading…
Reference in New Issue