From 187b3af647b0737709d4e407077ba9945df4bd64 Mon Sep 17 00:00:00 2001 From: DarwinNE Date: Fri, 10 Jan 2020 22:27:40 +0100 Subject: [PATCH] Implement close button. --- IConsole/Makefile | 26 ++++++++++++++++++++++++++ IConsole/retro/IConsoleWindow.cc | 8 ++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 IConsole/Makefile diff --git a/IConsole/Makefile b/IConsole/Makefile new file mode 100644 index 0000000000..4ea7c1636a --- /dev/null +++ b/IConsole/Makefile @@ -0,0 +1,26 @@ +# path to RETRO68 +RETRO68=../../Retro68-build/toolchain + +PREFIX=$(RETRO68)/m68k-apple-macos +CC=$(RETRO68)/bin/m68k-apple-macos-gcc +CXX=$(RETRO68)/bin/m68k-apple-macos-g++ +REZ=$(RETRO68)/bin/Rez + +LDFLAGS=retro/libIConsole.a +RINCLUDES=$(PREFIX)/RIncludes +REZFLAGS=-I$(RINCLUDES) + +IConsoleTest.bin IConsoleTest.APPL IConsoleTest.dsk: IConsoleTest.code.bin + $(REZ) $(REZFLAGS) \ + --copy "IConsoleTest.code.bin" \ + "$(RINCLUDES)/Retro68APPL.r" \ + -t "APPL" -c "????" \ + -o IConsoleTest.bin --cc IConsoleTest.APPL --cc IConsoleTest.dsk + + +IConsoleTest.code.bin: IConsoleTest.o + $(CXX) $< -o $@ $(LDFLAGS) # C++ used for linking because RetroConsole needs it + +.PHONY: clean +clean: + rm -f IConsoleTest.bin IConsoleTest.APPL IConsoleTest.dsk IConsoleTest.code.bin IConsoleTest.code.bin.gdb IConsoleTest.o diff --git a/IConsole/retro/IConsoleWindow.cc b/IConsole/retro/IConsoleWindow.cc index f8043b62d8..0872fbcc94 100644 --- a/IConsole/retro/IConsoleWindow.cc +++ b/IConsole/retro/IConsoleWindow.cc @@ -32,7 +32,7 @@ IConsoleWindow::IConsoleWindow(Rect r, ConstStr255Param title) { GrafPtr port; //Retro68 Improved Console - win = NewWindow(NULL, &r, "\pThe Queen's Footsteps", true, 0, (WindowPtr)-1, false, 0); + win = NewWindow(NULL, &r, "\pThe Queen's Footsteps", true, 0, (WindowPtr)-1, true, 0); #if !TARGET_API_MAC_CARBON port = win; @@ -105,7 +105,6 @@ char IConsoleWindow::WaitNextChar() } break; case mouseDown: - switch(FindWindow(event.where, &eventWin)) { case inDrag: @@ -118,6 +117,11 @@ char IConsoleWindow::WaitNextChar() Reshape(Rect {0, 0, (short) (growResult >> 16), (short) (growResult & 0xFFFF) }); } break; + case inGoAway: + { + if (TrackGoAway(eventWin,event.where)) + exit(0); + } } break; }