mirror of
https://github.com/jeremysrand/abCalc.git
synced 2025-02-17 05:30:29 +00:00
Start work on NDA
This commit is contained in:
parent
88102cafea
commit
90ee3fc724
BIN
.abCalcNDA.c.swp
Normal file
BIN
.abCalcNDA.c.swp
Normal file
Binary file not shown.
Binary file not shown.
BIN
.abCalcNDA.rez.swp
Normal file
BIN
.abCalcNDA.rez.swp
Normal file
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
|
||||
|
73
abCalcNDA.c
Normal file
73
abCalcNDA.c
Normal 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
7
abCalcNDA.defs
Normal 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
37
abCalcNDA.rez
Normal 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 */
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user