Start work on NDA

This commit is contained in:
Jeremy Rand 2013-07-25 13:33:38 -05:00
parent 88102cafea
commit 90ee3fc724
9 changed files with 149 additions and 9 deletions

BIN
.abCalcNDA.c.swp Normal file

Binary file not shown.

BIN
.abCalcNDA.rez.swp Normal file

Binary file not shown.

View File

@ -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

View File

@ -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)

View File

@ -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

73
abCalcNDA.c Normal file
View File

@ -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;
}

7
abCalcNDA.defs Normal file
View File

@ -0,0 +1,7 @@
/*
abCalcNDA.defs
By: Jeremy Rand
*/
#define ABCALC_WINDOW_NUM 1001
#define ABCALC_LINED_COLORS 1002

37
abCalcNDA.rez Normal file
View File

@ -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 */
};