From 9d338480c07406f85925a9ff8685636e7770e7d7 Mon Sep 17 00:00:00 2001 From: camh Date: Sat, 27 Nov 2021 23:48:59 -0800 Subject: [PATCH] continue code clean up --- .vscode/settings.json | 3 +- Sample.c | 849 ++++++++---------- build/%NuklearQuickDraw.ad | Bin 332679 -> 332665 bytes build/.rsrc/NuklearQuickDraw.APPL | Bin 332597 -> 332583 bytes build/CMakeFiles/CMakeOutput.log | 144 +-- .../NuklearQuickDraw.dir/C.includecache | 8 +- .../NuklearQuickDraw.dir/Sample.c.obj | Bin 259284 -> 259256 bytes build/NuklearQuickDraw.bin | Bin 332800 -> 332800 bytes build/NuklearQuickDraw.code.bin | Bin 331776 -> 331776 bytes build/NuklearQuickDraw.code.bin.gdb | Bin 441400 -> 441392 bytes build/NuklearQuickDraw.dsk | Bin 819200 -> 819200 bytes nuklear_app.c | 457 +++++----- nuklear_quickdraw.h | 10 +- 13 files changed, 733 insertions(+), 738 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 030f90b..7c546ef 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -10,6 +10,7 @@ "fonts.h": "c", "devices.h": "c", "stdlib.h": "c", - "serialhelper.h": "c" + "serialhelper.h": "c", + "coprocessorjs.h": "c" } } \ No newline at end of file diff --git a/Sample.c b/Sample.c index b6636f4..4cc67a5 100644 --- a/Sample.c +++ b/Sample.c @@ -29,37 +29,8 @@ #define WINDOW_WIDTH 510 #define WINDOW_HEIGHT 302 -#define NK_ZERO_COMMAND_MEMORY -#define NK_INCLUDE_FIXED_TYPES -#define NK_INCLUDE_STANDARD_IO -// #define NK_INCLUDE_STANDARD_VARARGS -#define NK_INCLUDE_DEFAULT_ALLOCATOR -#define NK_IMPLEMENTATION -#define NK_QUICKDRAW_IMPLEMENTATION -// #define NK_BUTTON_TRIGGER_ON_RELEASE -#define NK_MEMSET memset -#define NK_MEMCPY memcpy - -void aFailed(char *file, int line) { - - MoveTo(10, 10); - char *textoutput; - sprintf(textoutput, "%s:%d", file, line); - writeSerialPortDebug(boutRefNum, "assertion failure"); - writeSerialPortDebug(boutRefNum, textoutput); - // hold the program - we want to be able to read the text! assuming anything after the assert would be a crash - while (true) {} -} - -int mouse_x; -int mouse_y; - -#define NK_ASSERT(e) \ - if (!(e)) \ - aFailed(__FILE__, __LINE__) -#include "nuklear.h" -#include "nuklear_quickdraw.h" #include "nuklear_app.c" + /* GMac is used to hold the result of a SysEnvirons call. This makes it convenient for any routine to check the environment. */ SysEnvRec gMac; /* set up by Initialize */ @@ -96,7 +67,6 @@ Boolean IsDAWindow( WindowPtr window ); Boolean TrapAvailable( short tNumber, TrapType tType ); void AlertUser( void ); - /* Define HiWrd and LoWrd macros for efficiency. */ #define HiWrd(aLong) (((aLong) >> 16) & 0xFFFF) #define LoWrd(aLong) ((aLong) & 0xFFFF) @@ -118,191 +88,167 @@ void AlertUser( void ); #pragma segment Main void main() { - Initialize(); /* initialize the program */ - sprintf(activeChat, "no active chat"); + Initialize(); /* initialize the program */ + UnloadSeg((Ptr) Initialize); /* note that Initialize must not be in Main! */ - UnloadSeg((Ptr) Initialize); /* note that Initialize must not be in Main! */ + // run our nuklear app one time to render the window telling us to be patient for the coprocessor + // app to load up + struct nk_context *ctx = initializeNuklearApp(); + SysBeep(1); - struct nk_context *ctx; - - #ifdef MAC_APP_DEBUGGING - - // writeSerialPortDebug(boutRefNum, "call nk_init"); - #endif - - graphql_input_window_size = nk_rect(WINDOW_WIDTH / 4, WINDOW_HEIGHT / 4, WINDOW_WIDTH / 2, 120); - chats_window_size = nk_rect(0, 0, 180, WINDOW_HEIGHT); - messages_window_size = nk_rect(180, 0, 330, WINDOW_HEIGHT - 36); - message_input_window_size = nk_rect(180, WINDOW_HEIGHT - 36, 330, 36); - ctx = nk_quickdraw_init(WINDOW_WIDTH, WINDOW_HEIGHT); - - // run our nuklear app one time to render the window telling us to be patient for the coprocessor - // app to load up - nk_input_begin(ctx); - nk_input_end(ctx); - boxTest(ctx); - nk_quickdraw_render(FrontWindow(), ctx); - nk_clear(ctx); - SysBeep(1); - - writeSerialPortDebug(boutRefNum, "setupCoprocessor!"); setupCoprocessor("nuklear", "modem"); // could also be "printer", modem is 0 in PCE settings - printer would be 1 + // we could build a nuklear window for selection char programResult[MAX_RECEIVE_SIZE]; - writeSerialPortDebug(boutRefNum, "sendProgramToCoprocessor!"); sendProgramToCoprocessor(OUTPUT_JS, programResult); - coprocessorLoaded = 1; - sprintf(ip_input_buffer, "http://"); + coprocessorLoaded = 1; - #ifdef MAC_APP_DEBUGGING - - // writeSerialPortDebug(boutRefNum, "call into event loop"); - #endif - - EventLoop(ctx); /* call the main event loop */ + EventLoop(ctx); /* call the main event loop */ } #pragma segment Main void EventLoop(struct nk_context *ctx) { - RgnHandle cursorRgn; - Boolean gotEvent; - Boolean hasNextEvent; - EventRecord event; - EventRecord nextEventRecord; - Point mouse; - cursorRgn = NewRgn(); + RgnHandle cursorRgn; + Boolean gotEvent; + Boolean hasNextEvent; + EventRecord event; + EventRecord nextEventRecord; + Point mouse; + cursorRgn = NewRgn(); - int lastMouseHPos = 0; - int lastMouseVPos = 0; - int lastUpdatedTickCount = 0; + int lastMouseHPos = 0; + int lastMouseVPos = 0; + int lastUpdatedTickCount = 0; - do { + do { - // check for new stuff every 10 sec? - if (TickCount() - lastUpdatedTickCount > 600) { + // check for new stuff every 10 sec? + // note! this is used by some of the functionality in our nuklear_app to trigger + // new chat lookups + if (TickCount() - lastUpdatedTickCount > 600) { - // writeSerialPortDebug(boutRefNum, "update by tick count"); - lastUpdatedTickCount = TickCount(); + // writeSerialPortDebug(boutRefNum, "update by tick count"); + lastUpdatedTickCount = TickCount(); - if (strcmp(activeChat, "no active chat")) { + if (strcmp(activeChat, "no active chat")) { - // writeSerialPortDebug(boutRefNum, "check chat"); - getHasNewMessagesInChat(activeChat); - } - } + // writeSerialPortDebug(boutRefNum, "check chat"); + getHasNewMessagesInChat(activeChat); + } + } - Boolean beganInput = false; - - #ifdef MAC_APP_DEBUGGING - - // writeSerialPortDebug(boutRefNum, "nk_input_begin"); - #endif + Boolean beganInput = false; #ifdef MAC_APP_DEBUGGING - // writeSerialPortDebug(boutRefNum, "nk_input_begin complete"); + writeSerialPortDebug(boutRefNum, "nk_input_begin"); #endif - GetGlobalMouse(&mouse); + #ifdef MAC_APP_DEBUGGING - // as far as i can tell, there is no way to event on mouse movement with mac libraries, - // so we are just going to track on our own, and create our own events. - // this seems kind of a bummer to not pass this to event handling code, but to make - // it work we would need to create a dummy event, etc, so we will just directly - // call the nk_input_motion command + writeSerialPortDebug(boutRefNum, "nk_input_begin complete"); + #endif + + GetGlobalMouse(&mouse); + + // as far as i can tell, there is no way to event on mouse movement with mac libraries, + // so we are just going to track on our own, and create our own events. + // this seems kind of a bummer to not pass this to event handling code, but to make + // it work we would need to create a dummy event, etc, so we will just directly + // call the nk_input_motion command if (lastMouseHPos != mouse.h || lastMouseVPos != mouse.v) { - #ifdef MAC_APP_DEBUGGING + #ifdef MAC_APP_DEBUGGING - // writeSerialPortDebug(boutRefNum, "nk_input_motion!"); - #endif + // writeSerialPortDebug(boutRefNum, "nk_input_motion!"); + #endif - firstOrMouseMove = true; + firstOrMouseMove = true; Point tempPoint; SetPt(&tempPoint, mouse.h, mouse.v); GlobalToLocal(&tempPoint); beganInput = true; - nk_input_begin(ctx); - nk_input_motion(ctx, tempPoint.h, tempPoint.v); + nk_input_begin(ctx); + nk_input_motion(ctx, tempPoint.h, tempPoint.v); - mouse_x = tempPoint.h; - mouse_y = tempPoint.v; + mouse_x = tempPoint.h; + mouse_y = tempPoint.v; - lastUpdatedTickCount = TickCount(); + lastUpdatedTickCount = TickCount(); } else { - gotEvent = GetNextEvent(everyEvent, &event); - gotMouseEvent = false; + gotEvent = GetNextEvent(everyEvent, &event); + gotMouseEvent = false; - // drain all events before rendering -- really this only applies to keyboard events now - while (gotEvent) { + // drain all events before rendering -- really this only applies to keyboard events now + while (gotEvent) { - lastUpdatedTickCount = TickCount(); + lastUpdatedTickCount = TickCount(); - #ifdef MAC_APP_DEBUGGING + #ifdef MAC_APP_DEBUGGING - writeSerialPortDebug(boutRefNum, "calling to DoEvent"); - #endif + writeSerialPortDebug(boutRefNum, "calling to DoEvent"); + #endif - if (!beganInput) { + if (!beganInput) { - nk_input_begin(ctx); - beganInput = true; - } + nk_input_begin(ctx); + beganInput = true; + } - DoEvent(&event, ctx); + DoEvent(&event, ctx); - #ifdef MAC_APP_DEBUGGING + #ifdef MAC_APP_DEBUGGING - writeSerialPortDebug(boutRefNum, "done with DoEvent"); - #endif + writeSerialPortDebug(boutRefNum, "done with DoEvent"); + #endif - if (!gotMouseEvent) { + if (!gotMouseEvent) { - gotEvent = GetNextEvent(everyEvent, &event); - } else { + gotEvent = GetNextEvent(everyEvent, &event); + } else { - gotEvent = false; - } - } - } + gotEvent = false; + } + } + } lastMouseHPos = mouse.h; lastMouseVPos = mouse.v; - SystemTask(); + SystemTask(); // only re-render if there is an event, prevents screen flickering if (beganInput || firstOrMouseMove) { - nk_input_end(ctx); + nk_input_end(ctx); - firstOrMouseMove = false; + firstOrMouseMove = false; - // #ifdef MAC_APP_DEBUGGING + #ifdef MAC_APP_DEBUGGING - // writeSerialPortDebug(boutRefNum, "nk_quickdraw_render"); - // #endif + writeSerialPortDebug(boutRefNum, "nk_quickdraw_render"); + #endif - boxTest(ctx); + nuklearApp(ctx); - nk_quickdraw_render(FrontWindow(), ctx); + nk_quickdraw_render(FrontWindow(), ctx); - nk_clear(ctx); + nk_clear(ctx); } - #ifdef MAC_APP_DEBUGGING + #ifdef MAC_APP_DEBUGGING - // writeSerialPortDebug(boutRefNum, "nk_input_render complete"); + // writeSerialPortDebug(boutRefNum, "nk_input_render complete"); #endif - } while ( true ); /* loop forever; we quit via ExitToShell */ + } while ( true ); /* loop forever; we quit via ExitToShell */ } /*EventLoop*/ @@ -312,22 +258,22 @@ void EventLoop(struct nk_context *ctx) #pragma segment Main void DoEvent(EventRecord *event, struct nk_context *ctx) { - short part; + short part; short err; - WindowPtr window; - Boolean hit; - char key; - Point aPoint; + WindowPtr window; + Boolean hit; + char key; + Point aPoint; - switch ( event->what ) { + switch ( event->what ) { case mouseUp: - gotMouseEvent = true; + gotMouseEvent = true; - #ifdef MAC_APP_DEBUGGING - // writeSerialPortDebug(boutRefNum, "mouseup"); - #endif + #ifdef MAC_APP_DEBUGGING + // writeSerialPortDebug(boutRefNum, "mouseup"); + #endif part = FindWindow(event->where, &window); switch (part) @@ -336,173 +282,171 @@ void DoEvent(EventRecord *event, struct nk_context *ctx) { nk_quickdraw_handle_event(event, ctx); break; default: - break; + break; } break; - case mouseDown: + case mouseDown: - gotMouseEvent = true; + gotMouseEvent = true; - #ifdef MAC_APP_DEBUGGING - // writeSerialPortDebug(boutRefNum, "mousedown"); - #endif + #ifdef MAC_APP_DEBUGGING + writeSerialPortDebug(boutRefNum, "mousedown"); + #endif - part = FindWindow(event->where, &window); - switch ( part ) { - case inMenuBar: /* process a mouse menu command (if any) */ - AdjustMenus(); - DoMenuCommand(MenuSelect(event->where)); - break; - case inSysWindow: /* let the system handle the mouseDown */ - SystemClick(event, window); - break; - case inContent: - if ( window != FrontWindow() ) { - SelectWindow(window); + part = FindWindow(event->where, &window); + switch ( part ) { + case inMenuBar: /* process a mouse menu command (if any) */ + AdjustMenus(); + DoMenuCommand(MenuSelect(event->where)); + break; + case inSysWindow: /* let the system handle the mouseDown */ + SystemClick(event, window); + break; + case inContent: + if ( window != FrontWindow() ) { + SelectWindow(window); - } + } nk_quickdraw_handle_event(event, ctx); - break; - case inDrag: /* pass screenBits.bounds to get all gDevices */ - DragWindow(window, event->where, &qd.screenBits.bounds); - break; - case inGrow: - break; - case inZoomIn: - case inZoomOut: - hit = TrackBox(window, event->where, part); - if ( hit ) { - SetPort(window); /* the window must be the current port... */ - EraseRect(&window->portRect); /* because of a bug in ZoomWindow */ - ZoomWindow(window, part, true); /* note that we invalidate and erase... */ - InvalRect(&window->portRect); /* to make things look better on-screen */ - } - break; - } - break; - case keyDown: - case autoKey: /* check for menukey equivalents */ - + break; + case inDrag: /* pass screenBits.bounds to get all gDevices */ + DragWindow(window, event->where, &qd.screenBits.bounds); + break; + case inGrow: + break; + case inZoomIn: + case inZoomOut: + hit = TrackBox(window, event->where, part); + if ( hit ) { + SetPort(window); /* the window must be the current port... */ + EraseRect(&window->portRect); /* because of a bug in ZoomWindow */ + ZoomWindow(window, part, true); /* note that we invalidate and erase... */ + InvalRect(&window->portRect); /* to make things look better on-screen */ + } + break; + } + break; + case keyDown: + case autoKey: /* check for menukey equivalents */ + - #ifdef MAC_APP_DEBUGGING - // writeSerialPortDebug(boutRefNum, "key"); - #endif + #ifdef MAC_APP_DEBUGGING + writeSerialPortDebug(boutRefNum, "key"); + #endif - key = event->message & charCodeMask; - if ( event->modifiers & cmdKey ) { /* Command key down */ - if ( event->what == keyDown ) { - AdjustMenus(); /* enable/disable/check menu items properly */ - DoMenuCommand(MenuKey(key)); - } - } + key = event->message & charCodeMask; + if ( event->modifiers & cmdKey ) { /* Command key down */ + if ( event->what == keyDown ) { + AdjustMenus(); /* enable/disable/check menu items properly */ + DoMenuCommand(MenuKey(key)); + } + } nk_quickdraw_handle_event(event, ctx); - break; - case activateEvt: - - #ifdef MAC_APP_DEBUGGING - // writeSerialPortDebug(boutRefNum, "activate"); - #endif - DoActivate((WindowPtr) event->message, (event->modifiers & activeFlag) != 0); - break; - case updateEvt: - - #ifdef MAC_APP_DEBUGGING - // writeSerialPortDebug(boutRefNum, "update"); - #endif - DoUpdate((WindowPtr) event->message); - break; - /* 1.01 - It is not a bad idea to at least call DIBadMount in response - to a diskEvt, so that the user can format a floppy. */ - case diskEvt: - - #ifdef MAC_APP_DEBUGGING - // writeSerialPortDebug(boutRefNum, "disk"); - #endif - if ( HiWord(event->message) != noErr ) { - SetPt(&aPoint, kDILeft, kDITop); - err = DIBadMount(aPoint, event->message); - } - break; + break; + case activateEvt: + + #ifdef MAC_APP_DEBUGGING + writeSerialPortDebug(boutRefNum, "activate"); + #endif + DoActivate((WindowPtr) event->message, (event->modifiers & activeFlag) != 0); + break; + case updateEvt: + + #ifdef MAC_APP_DEBUGGING + writeSerialPortDebug(boutRefNum, "update"); + #endif + DoUpdate((WindowPtr) event->message); + break; + /* 1.01 - It is not a bad idea to at least call DIBadMount in response + to a diskEvt, so that the user can format a floppy. */ + case diskEvt: + + #ifdef MAC_APP_DEBUGGING + writeSerialPortDebug(boutRefNum, "disk"); + #endif + if ( HiWord(event->message) != noErr ) { + SetPt(&aPoint, kDILeft, kDITop); + err = DIBadMount(aPoint, event->message); + } + break; - case osEvt: - - #ifdef MAC_APP_DEBUGGING - // writeSerialPortDebug(boutRefNum, "os"); - #endif + case osEvt: + + #ifdef MAC_APP_DEBUGGING + riteSerialPortDebug(boutRefNum, "os"); + #endif - // this should be trigger on mousemove but does not -- if we can figure that out, we should call through to - // nk_quickdraw_handle_event, and allow it to handle the mousemove events - /* 1.02 - must BitAND with 0x0FF to get only low byte */ - switch ((event->message >> 24) & 0x0FF) { /* high byte of message */ - case kSuspendResumeMessage: /* suspend/resume is also an activate/deactivate */ - gInBackground = (event->message & kResumeMask) == 0; - DoActivate(FrontWindow(), !gInBackground); - break; - } - break; - } + // this should be trigger on mousemove but does not -- if we can figure that out, we should call through to + // nk_quickdraw_handle_event, and allow it to handle the mousemove events + /* 1.02 - must BitAND with 0x0FF to get only low byte */ + switch ((event->message >> 24) & 0x0FF) { /* high byte of message */ + case kSuspendResumeMessage: /* suspend/resume is also an activate/deactivate */ + gInBackground = (event->message & kResumeMask) == 0; + DoActivate(FrontWindow(), !gInBackground); + break; + } + break; + } } /*DoEvent*/ /* Get the global coordinates of the mouse. When you call OSEventAvail - it will return either a pending event or a null event. In either case, - the where field of the event record will contain the current position - of the mouse in global coordinates and the modifiers field will reflect - the current state of the modifiers. Another way to get the global - coordinates is to call GetMouse and LocalToGlobal, but that requires - being sure that thePort is set to a valid port. */ + it will return either a pending event or a null event. In either case, + the where field of the event record will contain the current position + of the mouse in global coordinates and the modifiers field will reflect + the current state of the modifiers. Another way to get the global + coordinates is to call GetMouse and LocalToGlobal, but that requires + being sure that thePort is set to a valid port. */ #pragma segment Main void GetGlobalMouse(mouse) - Point *mouse; + Point *mouse; { - EventRecord event; - - OSEventAvail(kNoEvents, &event); /* we aren't interested in any events */ - *mouse = event.where; /* just the mouse position */ + EventRecord event; + + OSEventAvail(kNoEvents, &event); /* we aren't interested in any events */ + *mouse = event.where; /* just the mouse position */ } /*GetGlobalMouse*/ /* This is called when an update event is received for a window. - It calls DrawWindow to draw the contents of an application window. - As an effeciency measure that does not have to be followed, it - calls the drawing routine only if the visRgn is non-empty. This - will handle situations where calculations for drawing or drawing - itself is very time-consuming. */ + It calls DrawWindow to draw the contents of an application window. + As an effeciency measure that does not have to be followed, it + calls the drawing routine only if the visRgn is non-empty. This + will handle situations where calculations for drawing or drawing + itself is very time-consuming. */ #pragma segment Main void DoUpdate(window) - WindowPtr window; + WindowPtr window; { - if ( IsAppWindow(window) ) { - BeginUpdate(window); - EndUpdate(window); - } + if ( IsAppWindow(window) ) { + BeginUpdate(window); + EndUpdate(window); + } } /*DoUpdate*/ /* This is called when a window is activated or deactivated. - In Sample, the Window Manager's handling of activate and - deactivate events is sufficient. Other applications may have - TextEdit records, controls, lists, etc., to activate/deactivate. */ + In Sample, the Window Manager's handling of activate and + deactivate events is sufficient. Other applications may have + TextEdit records, controls, lists, etc., to activate/deactivate. */ #pragma segment Main void DoActivate(window, becomingActive) - WindowPtr window; - Boolean becomingActive; + WindowPtr window; + Boolean becomingActive; { - if ( IsAppWindow(window) ) { - if ( becomingActive ) - /* do whatever you need to at activation */ ; - else - /* do whatever you need to at deactivation */ ; - } + if ( IsAppWindow(window) ) { + if ( becomingActive ) + /* do whatever you need to at activation */ ; + else + /* do whatever you need to at deactivation */ ; + } } /*DoActivate*/ - - /* Draw the contents of the application window. We do some drawing in color, using Classic QuickDraw's color capabilities. This will be black and white on old machines, but color on color machines. At this point, the windowÕs visRgn @@ -510,117 +454,116 @@ void DoActivate(window, becomingActive) static Rect okayButtonBounds; - /* Enable and disable menus based on the current state. - The user can only select enabled menu items. We set up all the menu items - before calling MenuSelect or MenuKey, since these are the only times that - a menu item can be selected. Note that MenuSelect is also the only time - the user will see menu items. This approach to deciding what enable/ - disable state a menu item has the advantage of concentrating all - the decision-making in one routine, as opposed to being spread throughout - the application. Other application designs may take a different approach - that is just as valid. */ + The user can only select enabled menu items. We set up all the menu items + before calling MenuSelect or MenuKey, since these are the only times that + a menu item can be selected. Note that MenuSelect is also the only time + the user will see menu items. This approach to deciding what enable/ + disable state a menu item has the advantage of concentrating all + the decision-making in one routine, as opposed to being spread throughout + the application. Other application designs may take a different approach + that is just as valid. */ #pragma segment Main void AdjustMenus() { - WindowPtr window; - MenuHandle menu; + WindowPtr window; + MenuHandle menu; - window = FrontWindow(); + window = FrontWindow(); - menu = GetMenuHandle(mFile); - if ( IsDAWindow(window) ) /* we can allow desk accessories to be closed from the menu */ - EnableItem(menu, iClose); - else - DisableItem(menu, iClose); /* but not our traffic light window */ + menu = GetMenuHandle(mFile); + if ( IsDAWindow(window) ) /* we can allow desk accessories to be closed from the menu */ + EnableItem(menu, iClose); + else + DisableItem(menu, iClose); /* but not our traffic light window */ - menu = GetMenuHandle(mEdit); - if ( IsDAWindow(window) ) { /* a desk accessory might need the edit menuÉ */ - EnableItem(menu, iUndo); - EnableItem(menu, iCut); - EnableItem(menu, iCopy); - EnableItem(menu, iClear); - EnableItem(menu, iPaste); - } else { /* Ébut we donÕt use it */ - DisableItem(menu, iUndo); - DisableItem(menu, iCut); - DisableItem(menu, iCopy); - DisableItem(menu, iClear); - DisableItem(menu, iPaste); - } + menu = GetMenuHandle(mEdit); + if ( IsDAWindow(window) ) { /* a desk accessory might need the edit menuÉ */ + EnableItem(menu, iUndo); + EnableItem(menu, iCut); + EnableItem(menu, iCopy); + EnableItem(menu, iClear); + EnableItem(menu, iPaste); + } else { /* Ébut we donÕt use it */ + DisableItem(menu, iUndo); + DisableItem(menu, iCut); + DisableItem(menu, iCopy); + DisableItem(menu, iClear); + DisableItem(menu, iPaste); + } - menu = GetMenuHandle(mLight); - if ( IsAppWindow(window) ) { /* we know that it must be the traffic light */ - EnableItem(menu, iStop); - EnableItem(menu, iGo); - } else { - DisableItem(menu, iStop); - DisableItem(menu, iGo); - } + menu = GetMenuHandle(mLight); + if ( IsAppWindow(window) ) { /* we know that it must be the traffic light */ + EnableItem(menu, iStop); + EnableItem(menu, iGo); + } else { + DisableItem(menu, iStop); + DisableItem(menu, iGo); + } } /*AdjustMenus*/ /* This is called when an item is chosen from the menu bar (after calling - MenuSelect or MenuKey). It performs the right operation for each command. - It is good to have both the result of MenuSelect and MenuKey go to - one routine like this to keep everything organized. */ + MenuSelect or MenuKey). It performs the right operation for each command. + It is good to have both the result of MenuSelect and MenuKey go to + one routine like this to keep everything organized. */ #pragma segment Main void DoMenuCommand(menuResult) - long menuResult; + long menuResult; { - short menuID; /* the resource ID of the selected menu */ - short menuItem; /* the item number of the selected menu */ - short itemHit; - Str255 daName; - short daRefNum; - Boolean handledByDA; + short menuID; /* the resource ID of the selected menu */ + short menuItem; /* the item number of the selected menu */ + short itemHit; + Str255 daName; + short daRefNum; + Boolean handledByDA; - menuID = HiWord(menuResult); /* use macros for efficiency to... */ - menuItem = LoWord(menuResult); /* get menu item number and menu number */ - switch ( menuID ) { - case mApple: - switch ( menuItem ) { - // case iAbout: /* bring up alert for About */ + menuID = HiWord(menuResult); /* use macros for efficiency to... */ + menuItem = LoWord(menuResult); /* get menu item number and menu number */ + switch ( menuID ) { + case mApple: + switch ( menuItem ) { + // case iAbout: /* bring up alert for About */ default: - itemHit = Alert(rAboutAlert, nil); - break; + itemHit = Alert(rAboutAlert, nil); + break; /* - default: // all non-About items in this menu are DAs - // type Str255 is an array in MPW 3 - GetItem(GetMHandle(mApple), menuItem, daName); - daRefNum = OpenDeskAcc(daName); - break; + default: // all non-About items in this menu are DAs + // type Str255 is an array in MPW 3 + GetItem(GetMHandle(mApple), menuItem, daName); + daRefNum = OpenDeskAcc(daName); + break; */ - } - break; - case mFile: - switch ( menuItem ) { - case iClose: - DoCloseWindow(FrontWindow()); - break; - case iQuit: - Terminate(); - break; - } - break; - case mEdit: /* call SystemEdit for DA editing & MultiFinder */ - handledByDA = SystemEdit(menuItem-1); /* since we donÕt do any Editing */ - break; - case mLight: - sendNewChat = 1; - break; + } + break; + case mFile: + switch ( menuItem ) { + case iClose: + DoCloseWindow(FrontWindow()); + break; + case iQuit: + Terminate(); + break; + } + break; + case mEdit: /* call SystemEdit for DA editing & MultiFinder */ + handledByDA = SystemEdit(menuItem-1); /* since we donÕt do any Editing */ + break; + case mLight: + sendNewChat = 1; + break; case mHelp: - switch ( menuItem ) { - case iQuickHelp: + switch ( menuItem ) { + case iQuickHelp: itemHit = Alert(rAboutAlert, nil); - break; - case iUserGuide: + break; + case iUserGuide: { - // AlertUser(); + // AlertUser(); // write data to serial port // Configure PCE/macplus to map serial port to ser_b.out. This port can then be used for debug output @@ -660,32 +603,32 @@ void DoMenuCommand(menuResult) is128KROM, hasSysEnvirons, hasStripAddr, hasSetDefaultStartup); // // writeSerialPortDebug(boutRefNum, str2); - break; + break; } - } - break; - } - HiliteMenu(0); /* unhighlight what MenuSelect (or MenuKey) hilited */ + } + break; + } + HiliteMenu(0); /* unhighlight what MenuSelect (or MenuKey) hilited */ } /*DoMenuCommand*/ /* Close a window. This handles desk accessory and application windows. */ /* 1.01 - At this point, if there was a document associated with a - window, you could do any document saving processing if it is 'dirty'. - DoCloseWindow would return true if the window actually closed, i.e., - the user didnÕt cancel from a save dialog. This result is handy when - the user quits an application, but then cancels the save of a document - associated with a window. */ + window, you could do any document saving processing if it is 'dirty'. + DoCloseWindow would return true if the window actually closed, i.e., + the user didnÕt cancel from a save dialog. This result is handy when + the user quits an application, but then cancels the save of a document + associated with a window. */ #pragma segment Main Boolean DoCloseWindow(window) - WindowPtr window; + WindowPtr window; { - /* if ( IsDAWindow(window) ) - CloseDeskAcc(((WindowPeek) window)->windowKind); - else */ if ( IsAppWindow(window) ) - CloseWindow(window); - return true; + /* if ( IsDAWindow(window) ) + CloseDeskAcc(((WindowPeek) window)->windowKind); + else */ if ( IsAppWindow(window) ) + CloseWindow(window); + return true; } /*DoCloseWindow*/ @@ -693,86 +636,86 @@ Boolean DoCloseWindow(window) they can update their documents, if any. */ /* 1.01 - If we find out that a cancel has occurred, we won't exit to the - shell, but will return instead. */ + shell, but will return instead. */ #pragma segment Main void Terminate() { - WindowPtr aWindow; - Boolean closed; - - closed = true; - do { - aWindow = FrontWindow(); /* get the current front window */ - if (aWindow != nil) - closed = DoCloseWindow(aWindow); /* close this window */ - } - while (closed && (aWindow != nil)); - if (closed) - ExitToShell(); /* exit if no cancellation */ + WindowPtr aWindow; + Boolean closed; + + closed = true; + do { + aWindow = FrontWindow(); /* get the current front window */ + if (aWindow != nil) + closed = DoCloseWindow(aWindow); /* close this window */ + } + while (closed && (aWindow != nil)); + if (closed) + ExitToShell(); /* exit if no cancellation */ } /*Terminate*/ #pragma segment Initialize void Initialize() { - Handle menuBar; - WindowPtr window; - long total, contig; - EventRecord event; - short count; + Handle menuBar; + WindowPtr window; + long total, contig; + EventRecord event; + short count; - gInBackground = false; + gInBackground = false; - InitGraf((Ptr) &qd.thePort); - InitFonts(); - InitWindows(); - InitMenus(); - TEInit(); - InitDialogs(nil); - InitCursor(); + InitGraf((Ptr) &qd.thePort); + InitFonts(); + InitWindows(); + InitMenus(); + TEInit(); + InitDialogs(nil); + InitCursor(); - for (count = 1; count <= 3; count++) { - EventAvail(everyEvent, &event); - } + for (count = 1; count <= 3; count++) { + EventAvail(everyEvent, &event); + } - window = (WindowPtr) NewPtr(sizeof(WindowRecord)); + window = (WindowPtr) NewPtr(sizeof(WindowRecord)); - if ( window == nil ) { - AlertUser(); - } + if ( window == nil ) { + AlertUser(); + } - window = GetNewWindow(rWindow, (Ptr) window, (WindowPtr) -1); - SetPort(window); + window = GetNewWindow(rWindow, (Ptr) window, (WindowPtr) -1); + SetPort(window); - menuBar = GetNewMBar(rMenuBar); /* read menus into menu bar */ + menuBar = GetNewMBar(rMenuBar); /* read menus into menu bar */ - if ( menuBar == nil ) { + if ( menuBar == nil ) { - AlertUser(); - } + AlertUser(); + } - SetMenuBar(menuBar); /* install menus */ - DisposeHandle(menuBar); - AppendResMenu(GetMenuHandle(mApple), 'DRVR'); /* add DA names to Apple menu */ - DrawMenuBar(); - + SetMenuBar(menuBar); /* install menus */ + DisposeHandle(menuBar); + AppendResMenu(GetMenuHandle(mApple), 'DRVR'); /* add DA names to Apple menu */ + DrawMenuBar(); + } /*Initialize*/ #pragma segment Main Boolean IsAppWindow(window) - WindowPtr window; + WindowPtr window; { - short windowKind; + short windowKind; - if ( window == nil ) { - return false; - } /* application windows have windowKinds = userKind (8) */ + if ( window == nil ) { + return false; + } /* application windows have windowKinds = userKind (8) */ - windowKind = ((WindowPeek) window)->windowKind; + windowKind = ((WindowPeek) window)->windowKind; - return (windowKind = userKind); + return (windowKind = userKind); } /*IsAppWindow*/ @@ -780,39 +723,39 @@ Boolean IsAppWindow(window) #pragma segment Main Boolean IsDAWindow(window) - WindowPtr window; + WindowPtr window; { - if ( window == nil ) { - return false; - } - /* DA windows have negative windowKinds */ - return ((WindowPeek) window)->windowKind < 0; + if ( window == nil ) { + return false; + } + /* DA windows have negative windowKinds */ + return ((WindowPeek) window)->windowKind < 0; } /*IsDAWindow*/ #pragma segment Initialize Boolean TrapAvailable(tNumber,tType) - short tNumber; - TrapType tType; + short tNumber; + TrapType tType; { - if ( ( tType == ToolTrap ) && - ( gMac.machineType > envMachUnknown ) && - ( gMac.machineType < envMacII ) ) { /* it's a 2048KE, Plus, or SE */ - tNumber = tNumber & 0x03FF; - if ( tNumber > 0x01FF ) { /* which means the tool traps */ - tNumber = _Unimplemented; /* only go to 0x01FF */ - } - } + if ( ( tType == ToolTrap ) && + ( gMac.machineType > envMachUnknown ) && + ( gMac.machineType < envMacII ) ) { /* it's a 2048KE, Plus, or SE */ + tNumber = tNumber & 0x03FF; + if ( tNumber > 0x01FF ) { /* which means the tool traps */ + tNumber = _Unimplemented; /* only go to 0x01FF */ + } + } - return NGetTrapAddress(tNumber, tType) != GetTrapAddress(_Unimplemented); + return NGetTrapAddress(tNumber, tType) != GetTrapAddress(_Unimplemented); } /*TrapAvailable*/ #pragma segment Main void AlertUser() { - short itemHit; + short itemHit; - SetCursor(&qd.arrow); - itemHit = Alert(rUserAlert, nil); - ExitToShell(); + SetCursor(&qd.arrow); + itemHit = Alert(rUserAlert, nil); + ExitToShell(); } /* AlertUser */ \ No newline at end of file diff --git a/build/%NuklearQuickDraw.ad b/build/%NuklearQuickDraw.ad index f487703391cbb0fa0821eb834a79636a5f9c3680..b5f5c1a8fe1cd1a5d0f3ee8c1f8362c188972d63 100644 GIT binary patch delta 7105 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 aV4c7sP`)9_cDwk_gLCoz9e(NK((rHpod~u7 delta 7123 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%0AcEv#B!W2G@sKs3%z{ zGuT(YOe76rAmd>cG3VL!mD?UF*-|Y@xhvGcc#Y9*CVwu-4u~Zi6@~qujZUV?2XmOflWZ^y8zLh1HS?XcH0NSu{UY{hohDidZFH z;+<7uE#m2_%gL)J9)_F3mRWcbw&Q%umAYQbz8>R)>AkU;>Y&iKOtiz3zx~bKW#P76 z&*s(JgFRMH+JVEJFO#6t!3Tj-D9-}i*V9!PRl?RLOk`60WGpk#1V><;SW{4+5vSgu zJa#r-$EUsb5}quf7eEMJDq%|}H`0&6Gp029t296Kb4yt?3}SI9o9$ASS5HA|iy6cN zrEGC<2>q6lMk^eVDs4BDVIJ@yqUYr8i>NPSEBW_y97%cs;kZS#>eCGU$G02hdY1G(v^)*u%2Jku2F|u%c;=M zuhyMZ_EPDja+=D2QuzlJRUK~gp)!-oJSt156jRwwWgnHJRQ^omB9$+x+@w29ONI2? zDa_lKQQ1PJfsO;cnj{SsM#V{zl-5CtgeiH{l2lvNy;Kg+pWyT_PC=#PHY;b5e)QM0 z$EeKs--?np%yD7)nZ?<+f*)BTeoTERac&{z}_kQow?7ZOkq z5->N-WC2rhM6kbKa6(~3vR@Qwn3N$mr}a>KjJrf``bxyJz)n&a;Z*`VOS1`g39OZ} zCAOI_NRo8YI>H44)BkJ{?i85bK}L3`N#N}q4_A!!Gd6s30{#!XPOYlaz>sJ>$+4|g z;2i?LFYr?We=jh7AdHQy5tu$ec$2_1m+)f(3x`IY6d1U3BYzTDChVl)yF+`!vD?Ga wGTvaKv5`Z`N#II>odw=1uvXw-39J)X{I3?pFgNt9=;zKkx&011Je;2RZ(QOnd;kCd diff --git a/build/CMakeFiles/CMakeOutput.log b/build/CMakeFiles/CMakeOutput.log index 8097bda..7d0598b 100644 --- a/build/CMakeFiles/CMakeOutput.log +++ b/build/CMakeFiles/CMakeOutput.log @@ -33,13 +33,13 @@ The CXX compiler identification is GNU, found in "/home/camh/Documents/Retro68kA Determining if the C compiler works passed with the following output: Change Dir: /home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp -Run Build Command(s):/usr/bin/make cmTC_3ea6b/fast && /usr/bin/make -f CMakeFiles/cmTC_3ea6b.dir/build.make CMakeFiles/cmTC_3ea6b.dir/build +Run Build Command(s):/usr/bin/make cmTC_918b7/fast && /usr/bin/make -f CMakeFiles/cmTC_918b7.dir/build.make CMakeFiles/cmTC_918b7.dir/build make[1]: Entering directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_3ea6b.dir/testCCompiler.c.obj -/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -o CMakeFiles/cmTC_3ea6b.dir/testCCompiler.c.obj -c /home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp/testCCompiler.c -Linking C executable cmTC_3ea6b -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3ea6b.dir/link.txt --verbose=1 -/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc CMakeFiles/cmTC_3ea6b.dir/testCCompiler.c.obj -o cmTC_3ea6b +Building C object CMakeFiles/cmTC_918b7.dir/testCCompiler.c.obj +/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -o CMakeFiles/cmTC_918b7.dir/testCCompiler.c.obj -c /home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTC_918b7 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_918b7.dir/link.txt --verbose=1 +/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc CMakeFiles/cmTC_918b7.dir/testCCompiler.c.obj -o cmTC_918b7 make[1]: Leaving directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp' @@ -47,18 +47,18 @@ make[1]: Leaving directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/b Detecting C compiler ABI info compiled with the following output: Change Dir: /home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp -Run Build Command(s):/usr/bin/make cmTC_5fa0d/fast && /usr/bin/make -f CMakeFiles/cmTC_5fa0d.dir/build.make CMakeFiles/cmTC_5fa0d.dir/build +Run Build Command(s):/usr/bin/make cmTC_e11fa/fast && /usr/bin/make -f CMakeFiles/cmTC_e11fa.dir/build.make CMakeFiles/cmTC_e11fa.dir/build make[1]: Entering directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj -/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -v -o CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c +Building C object CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj +/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -v -o CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c Using built-in specs. COLLECT_GCC=/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc Target: m68k-apple-macos Configured with: /home/camh/Retro68/gcc/configure --target=m68k-apple-macos --prefix=/home/camh/Retro68-build/toolchain/ --enable-languages=c,c++ --with-arch=m68k --with-cpu=m68000 --disable-libssp MAKEINFO=missing Thread model: single gcc version 9.1.0 (GCC) -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=68000' - /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/cc1 -quiet -v -Wno-trigraphs /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mcpu=68000 -auxbase-strip CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj -version -o /tmp/cc0xPyCJ.s +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=68000' + /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/cc1 -quiet -v -Wno-trigraphs /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mcpu=68000 -auxbase-strip CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj -version -o /tmp/ccSTTGFz.s GNU C17 (GCC) version 9.1.0 (m68k-apple-macos) compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version none GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 @@ -73,14 +73,14 @@ GNU C17 (GCC) version 9.1.0 (m68k-apple-macos) compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version none GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 68baab70957df643ffb4605a09112146 -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=68000' - /home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/bin/as -mcpu=68000 -o CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj /tmp/cc0xPyCJ.s +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=68000' + /home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/bin/as -mcpu=68000 -o CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj /tmp/ccSTTGFz.s COMPILER_PATH=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/bin/ LIBRARY_PATH=/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=68000' -Linking C executable cmTC_5fa0d -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5fa0d.dir/link.txt --verbose=1 -/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -v CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj -o cmTC_5fa0d +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=68000' +Linking C executable cmTC_e11fa +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e11fa.dir/link.txt --verbose=1 +/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -v CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj -o cmTC_e11fa Using built-in specs. COLLECT_GCC=/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc COLLECT_LTO_WRAPPER=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/lto-wrapper @@ -90,9 +90,9 @@ Thread model: single gcc version 9.1.0 (GCC) COMPILER_PATH=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/bin/ LIBRARY_PATH=/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5fa0d' '-mcpu=68000' - /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/collect2 -plugin /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/liblto_plugin.so -plugin-opt=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccJgDXGa.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lretrocrt -plugin-opt=-pass-through=-lInterface -elf2mac -q -undefined=_consolewrite -o cmTC_5fa0d -L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0 -L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj --start-group -lgcc -lc -lretrocrt -lInterface --end-group -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5fa0d' '-mcpu=68000' +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e11fa' '-mcpu=68000' + /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/collect2 -plugin /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/liblto_plugin.so -plugin-opt=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/lto-wrapper -plugin-opt=-fresolution=/tmp/cc8x2spZ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lretrocrt -plugin-opt=-pass-through=-lInterface -elf2mac -q -undefined=_consolewrite -o cmTC_e11fa -L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0 -L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj --start-group -lgcc -lc -lretrocrt -lInterface --end-group +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e11fa' '-mcpu=68000' make[1]: Leaving directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp' @@ -114,18 +114,18 @@ Parsed C implicit link information from above output: link line regex: [^( *|.*[/\])(m68k-apple-macos-ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] ignore line: [Change Dir: /home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp] ignore line: [] - ignore line: [Run Build Command(s):/usr/bin/make cmTC_5fa0d/fast && /usr/bin/make -f CMakeFiles/cmTC_5fa0d.dir/build.make CMakeFiles/cmTC_5fa0d.dir/build] + ignore line: [Run Build Command(s):/usr/bin/make cmTC_e11fa/fast && /usr/bin/make -f CMakeFiles/cmTC_e11fa.dir/build.make CMakeFiles/cmTC_e11fa.dir/build] ignore line: [make[1]: Entering directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp'] - ignore line: [Building C object CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj] - ignore line: [/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -v -o CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c] + ignore line: [Building C object CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj] + ignore line: [/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -v -o CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc] ignore line: [Target: m68k-apple-macos] ignore line: [Configured with: /home/camh/Retro68/gcc/configure --target=m68k-apple-macos --prefix=/home/camh/Retro68-build/toolchain/ --enable-languages=c c++ --with-arch=m68k --with-cpu=m68000 --disable-libssp MAKEINFO=missing] ignore line: [Thread model: single] ignore line: [gcc version 9.1.0 (GCC) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=68000'] - ignore line: [ /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/cc1 -quiet -v -Wno-trigraphs /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mcpu=68000 -auxbase-strip CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj -version -o /tmp/cc0xPyCJ.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=68000'] + ignore line: [ /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/cc1 -quiet -v -Wno-trigraphs /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mcpu=68000 -auxbase-strip CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj -version -o /tmp/ccSTTGFz.s] ignore line: [GNU C17 (GCC) version 9.1.0 (m68k-apple-macos)] ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version none] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] @@ -140,14 +140,14 @@ Parsed C implicit link information from above output: ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version none] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] ignore line: [Compiler executable checksum: 68baab70957df643ffb4605a09112146] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=68000'] - ignore line: [ /home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/bin/as -mcpu=68000 -o CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj /tmp/cc0xPyCJ.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=68000'] + ignore line: [ /home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/bin/as -mcpu=68000 -o CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj /tmp/ccSTTGFz.s] ignore line: [COMPILER_PATH=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/bin/] ignore line: [LIBRARY_PATH=/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=68000'] - ignore line: [Linking C executable cmTC_5fa0d] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5fa0d.dir/link.txt --verbose=1] - ignore line: [/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -v CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj -o cmTC_5fa0d ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=68000'] + ignore line: [Linking C executable cmTC_e11fa] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e11fa.dir/link.txt --verbose=1] + ignore line: [/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -v CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj -o cmTC_e11fa ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc] ignore line: [COLLECT_LTO_WRAPPER=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/lto-wrapper] @@ -157,13 +157,13 @@ Parsed C implicit link information from above output: ignore line: [gcc version 9.1.0 (GCC) ] ignore line: [COMPILER_PATH=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/bin/] ignore line: [LIBRARY_PATH=/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5fa0d' '-mcpu=68000'] - link line: [ /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/collect2 -plugin /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/liblto_plugin.so -plugin-opt=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccJgDXGa.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lretrocrt -plugin-opt=-pass-through=-lInterface -elf2mac -q -undefined=_consolewrite -o cmTC_5fa0d -L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0 -L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj --start-group -lgcc -lc -lretrocrt -lInterface --end-group] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e11fa' '-mcpu=68000'] + link line: [ /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/collect2 -plugin /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/liblto_plugin.so -plugin-opt=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/lto-wrapper -plugin-opt=-fresolution=/tmp/cc8x2spZ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lretrocrt -plugin-opt=-pass-through=-lInterface -elf2mac -q -undefined=_consolewrite -o cmTC_e11fa -L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0 -L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj --start-group -lgcc -lc -lretrocrt -lInterface --end-group] arg [/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/collect2] ==> ignore arg [-plugin] ==> ignore arg [/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/liblto_plugin.so] ==> ignore arg [-plugin-opt=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccJgDXGa.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/cc8x2spZ.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore arg [-plugin-opt=-pass-through=-lretrocrt] ==> ignore @@ -172,10 +172,10 @@ Parsed C implicit link information from above output: arg [-q] ==> ignore arg [-undefined=_consolewrite] ==> ignore arg [-o] ==> ignore - arg [cmTC_5fa0d] ==> ignore + arg [cmTC_e11fa] ==> ignore arg [-L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0] ==> dir [/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0] arg [-L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib] ==> dir [/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib] - arg [CMakeFiles/cmTC_5fa0d.dir/CMakeCCompilerABI.c.obj] ==> ignore + arg [CMakeFiles/cmTC_e11fa.dir/CMakeCCompilerABI.c.obj] ==> ignore arg [--start-group] ==> ignore arg [-lgcc] ==> lib [gcc] arg [-lc] ==> lib [c] @@ -192,13 +192,13 @@ Parsed C implicit link information from above output: Determining if the CXX compiler works passed with the following output: Change Dir: /home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp -Run Build Command(s):/usr/bin/make cmTC_146be/fast && /usr/bin/make -f CMakeFiles/cmTC_146be.dir/build.make CMakeFiles/cmTC_146be.dir/build +Run Build Command(s):/usr/bin/make cmTC_f76ee/fast && /usr/bin/make -f CMakeFiles/cmTC_f76ee.dir/build.make CMakeFiles/cmTC_f76ee.dir/build make[1]: Entering directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp' -Building CXX object CMakeFiles/cmTC_146be.dir/testCXXCompiler.cxx.obj -/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -o CMakeFiles/cmTC_146be.dir/testCXXCompiler.cxx.obj -c /home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx -Linking CXX executable cmTC_146be -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_146be.dir/link.txt --verbose=1 -/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ CMakeFiles/cmTC_146be.dir/testCXXCompiler.cxx.obj -o cmTC_146be +Building CXX object CMakeFiles/cmTC_f76ee.dir/testCXXCompiler.cxx.obj +/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -o CMakeFiles/cmTC_f76ee.dir/testCXXCompiler.cxx.obj -c /home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTC_f76ee +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f76ee.dir/link.txt --verbose=1 +/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ CMakeFiles/cmTC_f76ee.dir/testCXXCompiler.cxx.obj -o cmTC_f76ee make[1]: Leaving directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp' @@ -206,18 +206,18 @@ make[1]: Leaving directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/b Detecting CXX compiler ABI info compiled with the following output: Change Dir: /home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp -Run Build Command(s):/usr/bin/make cmTC_bfc98/fast && /usr/bin/make -f CMakeFiles/cmTC_bfc98.dir/build.make CMakeFiles/cmTC_bfc98.dir/build +Run Build Command(s):/usr/bin/make cmTC_cda93/fast && /usr/bin/make -f CMakeFiles/cmTC_cda93.dir/build.make CMakeFiles/cmTC_cda93.dir/build make[1]: Entering directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp' -Building CXX object CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj -/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -v -o CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp +Building CXX object CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj +/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -v -o CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp Using built-in specs. COLLECT_GCC=/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ Target: m68k-apple-macos Configured with: /home/camh/Retro68/gcc/configure --target=m68k-apple-macos --prefix=/home/camh/Retro68-build/toolchain/ --enable-languages=c,c++ --with-arch=m68k --with-cpu=m68000 --disable-libssp MAKEINFO=missing Thread model: single gcc version 9.1.0 (GCC) -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=68000' - /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/cc1plus -quiet -v -Wno-trigraphs /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mcpu=68000 -auxbase-strip CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj -version -o /tmp/ccdqlTJR.s +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=68000' + /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/cc1plus -quiet -v -Wno-trigraphs /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mcpu=68000 -auxbase-strip CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj -version -o /tmp/ccF02m1E.s GNU C++14 (GCC) version 9.1.0 (m68k-apple-macos) compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version none GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 @@ -235,14 +235,14 @@ GNU C++14 (GCC) version 9.1.0 (m68k-apple-macos) compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version none GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 5b31867a30cfa7e65d4bce12c39f8a21 -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=68000' - /home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/bin/as -mcpu=68000 -o CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj /tmp/ccdqlTJR.s +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=68000' + /home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/bin/as -mcpu=68000 -o CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj /tmp/ccF02m1E.s COMPILER_PATH=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/bin/ LIBRARY_PATH=/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=68000' -Linking CXX executable cmTC_bfc98 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_bfc98.dir/link.txt --verbose=1 -/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -v CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_bfc98 +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=68000' +Linking CXX executable cmTC_cda93 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_cda93.dir/link.txt --verbose=1 +/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -v CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_cda93 Using built-in specs. COLLECT_GCC=/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ COLLECT_LTO_WRAPPER=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/lto-wrapper @@ -252,9 +252,9 @@ Thread model: single gcc version 9.1.0 (GCC) COMPILER_PATH=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/bin/ LIBRARY_PATH=/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_bfc98' '-mcpu=68000' - /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/collect2 -plugin /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/liblto_plugin.so -plugin-opt=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccWbSNKh.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lretrocrt -plugin-opt=-pass-through=-lInterface -elf2mac -q -undefined=_consolewrite -o cmTC_bfc98 -L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0 -L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj -lstdc++ -lm --start-group -lgcc -lc -lretrocrt -lInterface --end-group -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_bfc98' '-mcpu=68000' +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_cda93' '-mcpu=68000' + /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/collect2 -plugin /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/liblto_plugin.so -plugin-opt=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccFpWhb8.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lretrocrt -plugin-opt=-pass-through=-lInterface -elf2mac -q -undefined=_consolewrite -o cmTC_cda93 -L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0 -L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj -lstdc++ -lm --start-group -lgcc -lc -lretrocrt -lInterface --end-group +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_cda93' '-mcpu=68000' make[1]: Leaving directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp' @@ -282,18 +282,18 @@ Parsed CXX implicit link information from above output: link line regex: [^( *|.*[/\])(m68k-apple-macos-ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] ignore line: [Change Dir: /home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp] ignore line: [] - ignore line: [Run Build Command(s):/usr/bin/make cmTC_bfc98/fast && /usr/bin/make -f CMakeFiles/cmTC_bfc98.dir/build.make CMakeFiles/cmTC_bfc98.dir/build] + ignore line: [Run Build Command(s):/usr/bin/make cmTC_cda93/fast && /usr/bin/make -f CMakeFiles/cmTC_cda93.dir/build.make CMakeFiles/cmTC_cda93.dir/build] ignore line: [make[1]: Entering directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp'] - ignore line: [Building CXX object CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj] - ignore line: [/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -v -o CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Building CXX object CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj] + ignore line: [/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -v -o CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++] ignore line: [Target: m68k-apple-macos] ignore line: [Configured with: /home/camh/Retro68/gcc/configure --target=m68k-apple-macos --prefix=/home/camh/Retro68-build/toolchain/ --enable-languages=c c++ --with-arch=m68k --with-cpu=m68000 --disable-libssp MAKEINFO=missing] ignore line: [Thread model: single] ignore line: [gcc version 9.1.0 (GCC) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=68000'] - ignore line: [ /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/cc1plus -quiet -v -Wno-trigraphs /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mcpu=68000 -auxbase-strip CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj -version -o /tmp/ccdqlTJR.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=68000'] + ignore line: [ /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/cc1plus -quiet -v -Wno-trigraphs /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mcpu=68000 -auxbase-strip CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj -version -o /tmp/ccF02m1E.s] ignore line: [GNU C++14 (GCC) version 9.1.0 (m68k-apple-macos)] ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version none] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] @@ -311,14 +311,14 @@ Parsed CXX implicit link information from above output: ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version none] ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] ignore line: [Compiler executable checksum: 5b31867a30cfa7e65d4bce12c39f8a21] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=68000'] - ignore line: [ /home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/bin/as -mcpu=68000 -o CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj /tmp/ccdqlTJR.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=68000'] + ignore line: [ /home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/bin/as -mcpu=68000 -o CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj /tmp/ccF02m1E.s] ignore line: [COMPILER_PATH=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/bin/] ignore line: [LIBRARY_PATH=/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=68000'] - ignore line: [Linking CXX executable cmTC_bfc98] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_bfc98.dir/link.txt --verbose=1] - ignore line: [/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -v CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_bfc98 ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=68000'] + ignore line: [Linking CXX executable cmTC_cda93] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_cda93.dir/link.txt --verbose=1] + ignore line: [/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -v CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_cda93 ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++] ignore line: [COLLECT_LTO_WRAPPER=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/lto-wrapper] @@ -328,13 +328,13 @@ Parsed CXX implicit link information from above output: ignore line: [gcc version 9.1.0 (GCC) ] ignore line: [COMPILER_PATH=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/bin/] ignore line: [LIBRARY_PATH=/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/:/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_bfc98' '-mcpu=68000'] - link line: [ /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/collect2 -plugin /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/liblto_plugin.so -plugin-opt=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccWbSNKh.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lretrocrt -plugin-opt=-pass-through=-lInterface -elf2mac -q -undefined=_consolewrite -o cmTC_bfc98 -L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0 -L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj -lstdc++ -lm --start-group -lgcc -lc -lretrocrt -lInterface --end-group] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_cda93' '-mcpu=68000'] + link line: [ /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/collect2 -plugin /home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/liblto_plugin.so -plugin-opt=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccFpWhb8.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lretrocrt -plugin-opt=-pass-through=-lInterface -elf2mac -q -undefined=_consolewrite -o cmTC_cda93 -L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0 -L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj -lstdc++ -lm --start-group -lgcc -lc -lretrocrt -lInterface --end-group] arg [/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/collect2] ==> ignore arg [-plugin] ==> ignore arg [/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/liblto_plugin.so] ==> ignore arg [-plugin-opt=/home/camh/Retro68-build/toolchain/libexec/gcc/m68k-apple-macos/9.1.0/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccWbSNKh.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccFpWhb8.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore arg [-plugin-opt=-pass-through=-lretrocrt] ==> ignore @@ -343,10 +343,10 @@ Parsed CXX implicit link information from above output: arg [-q] ==> ignore arg [-undefined=_consolewrite] ==> ignore arg [-o] ==> ignore - arg [cmTC_bfc98] ==> ignore + arg [cmTC_cda93] ==> ignore arg [-L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0] ==> dir [/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0] arg [-L/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib] ==> dir [/home/camh/Retro68-build/toolchain/lib/gcc/m68k-apple-macos/9.1.0/../../../../m68k-apple-macos/lib] - arg [CMakeFiles/cmTC_bfc98.dir/CMakeCXXCompilerABI.cpp.obj] ==> ignore + arg [CMakeFiles/cmTC_cda93.dir/CMakeCXXCompilerABI.cpp.obj] ==> ignore arg [-lstdc++] ==> lib [stdc++] arg [-lm] ==> lib [m] arg [--start-group] ==> ignore diff --git a/build/CMakeFiles/NuklearQuickDraw.dir/C.includecache b/build/CMakeFiles/NuklearQuickDraw.dir/C.includecache index 7bc9ed0..924d4c8 100644 --- a/build/CMakeFiles/NuklearQuickDraw.dir/C.includecache +++ b/build/CMakeFiles/NuklearQuickDraw.dir/C.includecache @@ -61,10 +61,6 @@ output_js.h /home/camh/Documents/Retro68kApps/NuklearQuickDraw/output_js.h coprocessorjs.h /home/camh/Documents/Retro68kApps/NuklearQuickDraw/coprocessorjs.h -nuklear.h -/home/camh/Documents/Retro68kApps/NuklearQuickDraw/nuklear.h -nuklear_quickdraw.h -/home/camh/Documents/Retro68kApps/NuklearQuickDraw/nuklear_quickdraw.h nuklear_app.c /home/camh/Documents/Retro68kApps/NuklearQuickDraw/nuklear_app.c @@ -129,6 +125,10 @@ assert.h /home/camh/Documents/Retro68kApps/NuklearQuickDraw/nuklear_app.c Types.h - +nuklear.h +/home/camh/Documents/Retro68kApps/NuklearQuickDraw/nuklear.h +nuklear_quickdraw.h +/home/camh/Documents/Retro68kApps/NuklearQuickDraw/nuklear_quickdraw.h /home/camh/Documents/Retro68kApps/NuklearQuickDraw/nuklear_quickdraw.h MacTypes.h diff --git a/build/CMakeFiles/NuklearQuickDraw.dir/Sample.c.obj b/build/CMakeFiles/NuklearQuickDraw.dir/Sample.c.obj index 7eaba497354eaea7525ae937a0277622c6534f52..48c404ff6b613e383d31d0240550ff611291f81d 100644 GIT binary patch delta 28312 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 delta 28467 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 JC!gSm{|5>8+VcPa diff --git a/build/NuklearQuickDraw.bin b/build/NuklearQuickDraw.bin index 84b9078280af427b9126654a9d51842b5e202554..9679acd0a17ba4a2aae54df3ac74e00b2b32c91d 100644 GIT binary patch delta 7237 zcmbVR3tW`dw*S^Qn_)l%T6yoE*QKCPPBqz^0$;qQmlH}F+*lqT!bq&PIGj29F!D^7- zy<#H$_THG6sOmtk;oi_c{6E-iRG>^+*cB*Gy1gdHcY)EebC z2uiGD{bH$J=9fIM#NKa~)UxvxVefNkdrxzVpZ|VHvYtD>hU)wisY8;CMm`e5ZPXn#jKO9bj zF(==XsiWi66IADYZ1BI&G&k!ox%uN~NZjr8licK@PolZWEoWY!TK}otpoATb2r0>?7s`8d+ui%^^Rqfhe+MM=7 zhzzCH{Hs4vo!z#Z;B0Rj%HjMGIKn>HrctB#nu|=0vi4MJ9Bg-C)Hu@d0M#8Gzf#xb z8+9byyy4d(F4pbb13Vy3B5(BMIDfHWJ!c#w`cpway zAs_35U^2NF%a!R^uhx#<>{vptmZRr~+hV~$ynyg>EJ0ZNMjZTwqekdWR=$ph zi4F*VBX7fv(9CEyAx?1l+W9yfmJD-2!3 z@T^9{(+@YMP?&i1{gk{^$d$?CU|QJg!@?ofte>u3m}=C#rAH;waL z5u7>7>TF6Z@KH`YN=ShZw&g&yvnSt82i!0qm)6ma6LaAPiHsfxk+MsXdPtv6ab2pE z=D}-RCBg)C7&Z$AC>KpITmy5I;K$)>jmtcT1u*o1QiEp99lGSQ@?J7kbgip&N zhJ-)KPXzLBnL%S8E4(b)(Ri`|B7;o&`O+|PL%DiJK}5DCyTyLY(4=mK@QDBK0$TE{ z{ode$LWm|1Hx~k(6WCe^v9wEW7DAy84lDU3@R61vih2gD&Tt-&tcFY?J*#1oy%mUy z$_e1}xUn4GAxKRY5@^Sl?1WlD__GB92_4r8_$%MiTb_fb0MgKPEd?l7F|CDX8Ku^# zN=o!Jyi!R}<|;lfzzQw6;f5;mN)SIhR|Ss{uir@9#D>KiX(AgoZ6s?p4Btd&k_~5X zg1?bS2XDDy!b{Liw&JWXjcrSO$N&jLE$F>4pt#QV1Ei&a~er&*izCW*8=hT8YgaXu5{_QGS+3RIggT%dOHq}o$xpev4FMUW-Z z&`XRic1V?~o#rSZxAG5i61WS==NytR;Fo(LnP!<;17T>Wfdo50JoW#$p(AxwyN_r_YmA8y5_$VH$A^59s_CCmy+hjbrj{>$G57a^g%C(d4cMGT2!bEv*KQ2BEX4|zawZPm6v+g#T?&0pM7jR@9_>*HK z9D|lR=nsv!p^mPLm$9*qqPGiA*Fg~+!IXMB@sH!wdP@IBY^;ajhA(=j4ZAMs$k?fS zh>$CMlB;L3q#UU*f;+VL2OQZ5dj5FmzS_7`gBKg<0G^4r8Xyv%ZJ=wQ5w|wb1$6>H zYoKizL_2dij&6c6-pdUVS9bH^PSO;r zx*oSR!6=VE_uAwR?L)lQ1ck5zC%y(xc<=ZZO2=M6EX^JnlL0x5XNU7qBTGRbo0fZ7=< z5#(L_QxrcBIZ+Q!E7=A)U6yMHE9(;F-A_2D(`M}2pP?A5S_cwOsMoN;?)ovG zz89`LTgex?U-S*>|LbAt{;pVuw6Z|MashX1SrDFK%mvG}EF5Pzsvt~vVpjZbMx)o9 z*Z@0sRLcS|K}*8-t3e4`v@DFs87CHqBvu9UvE&-~6E-ERqEec8K(&>4G*P`sQYSj( zdg&Hio5V(t{IMjmKLxKPv1lSb$wa(xWHNi$#Y>-9$+N>1PbRS;G+0lAE>j%6G*dDQ z0WYN|nN5a4w^dsX%~TN1KVl>K!$#M;JL)^JC>^EcU(gOOXU@>kr(;1nTP&VUIyx81q=8g`Z@mV8Y)@ye zKof2l!G^{+8GyDYoit(-FW?747CBCm-EG5ampJHCf`%&>N3i3r6sJAeY!uv7E@!hp z0VFEvIczDwU_6k^qH*##=7m4zvH-Y-apPE+a~nUPB3yYR8hUUFCthgb#2xE73Bf z)ix$ua58bDv-Xh&R4o(tm2FH09hbHQvwBmXpx)G4lw%WEm@D0ZSEjLOUt#>)Cb|L2 zqFS@|3FBKad^#c6igTy4(7ADUsk5tL8Pz?D#q9`2Q&oHhy&3F}lDo_LeP64!sNFY& z??Sr59x@OYja^@OCH3lZ%;N4&w1}t9UA#7(4KHsZLACp9A--1cPA1h(sgEJg>@uAs zeC%#(;-G-5eJ%y;M)nb*~0_9sfi{(om4U(9DAsTFon z;e9VS;_@7ZcFQSOAKf#8L+0|6JB-=XVXY` z$5GsAX1@5&lgukJ&GEW}h6VI4&M5SAAnLkI=8v4nI6_Q5Y(e8}vf*iFE_5ganpv## zC^5+>9A{?ZMXIPhgSp+v2WI@iWGH{6$Gexv_ADbk66JOG*CHI0t-^eQS(5p>yKkHj zbqk;Rt!h)1H-FjIcyeHCa-;%39=6Ch%$UUnMmj`=GxK^U_MT43?M17Rq%(Fkw9I0Y zC!aM)y&{g~rqGdKyBBuxo@=P+>l@!CV#nFNl@Irrs?2iUQhr_8(+6W_v&jC9+~u}f z;m1OpIh*A=^W8@~5}RhT%=kEpmz!`rD#t>8)l=kVah;C0ME!<+QlY;B2hU*>==dp~ z!-D0wySRQ13-cxmh3@vHPZFmFL2zsii;8%$c=^Ib^JXo}EGdyBDQ}8BcN_0p20^T! z%LbL7qM%ZCjY@|Ea^O%_VOAlJfmfS2g1c|D&^X~wMY9$at(=$lht=IQX!ITt{6dsJ>d9Wg>$)4f)pD55WE(jKb*;j7wWzmq+q!XN zJC(izAD?95CpYn_)R<_wRC&g-qeVX<^GtlU{erN+)0@_EHMdq%m19H5{7~T29JAoI zdF;u=zW9o7%0hRV&ygl?&YW76m7w0BW3APo<7yx5#JB=_6-3~;0`^${UG%kh!k9t7 zQS&pPzJSF-Cw^JLl3gsOD#}?~TqpVzvPVK9=u=DTDR$(oR8c~PdHzR;p0{qjkE;sV z4EmlpSIFYYM$UYC<%P^=QFcC&KIK=%)`%kSB_lo@C<9KjB zJ&D$$u895Tz!=X2wL9A~t!k81H}XEIqeUz$pjDe+#XqgMC3-Z;b{ij@#efBDdC1#* zuibb%NBUFCXvt5SR#g|yO$^c4#agv^U;&#)FDIXcERo3Ag>0n!v5e~$vLsHAEM$M7 z?yN=Z8Q6etEn>O-R!yxk3-~^2M9;-+D4jkJE@pp)8a%d`HN*G#bTJ!4I!B7xBd`kD z5|-@zHV=c^i5W|16V>3xCG-HP!IMi^LqB~^#uB|Tm4@|bDWMnWdc0J^qBdE>72{HR zpulE$G8s4yx{lB6X4M&TduIJG3z7BiAc4gE0ZzG)LG58Y;qSadM` z#@t@Szgmz!(x3)CvLm%z*(RiAw`wqLg)>PP3uBg*!w}`b(_DNAONkIPvoZua%OCr+;qH zpR<%Jv8A4Z*GaR8pDTF!Cl~RD1y3&_J-b^i_zKQ<&F<}Itm{A@{-|B1TvchHT{NEK zyzME$uMzw^f?q56p9D`6gtP96f~N_HpDB3KC4Pb6g+tv>3m&+0-LDE>Cf-R?DR>R% zJtj+&c#Da~3^Cv&_*sJ23Z8BO`g0ciV!`VKFC3*5<%U*>e(s!;$Mcx#?exJWqx(Mr D_%t|w delta 7216 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 HZXf(Nzk?{o diff --git a/build/NuklearQuickDraw.code.bin b/build/NuklearQuickDraw.code.bin index cc186c128b1ac8a4bf8638faa6f0ebd33d0a7a93..cc0396dab1092cccf85b7e3b4301217dc1fc606b 100644 GIT binary patch delta 6848 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 delta 6877 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 diff --git a/build/NuklearQuickDraw.code.bin.gdb b/build/NuklearQuickDraw.code.bin.gdb index ed81477fb9a08b84638dd86f3194fcfeb5684d3e..69a16f323ccba829cceab1c65dbc41da5b9e31ea 100755 GIT binary patch delta 50403 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 delta 50563 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 WE%f{)x&e4s4>Z9%{MY}ShWLL3d)27` diff --git a/build/NuklearQuickDraw.dsk b/build/NuklearQuickDraw.dsk index 15ca8052502e92bb6f0e8b8943c5a646b4d8e1c7..dedce1cd95003bedda16c7fdaa5403a721c4aaf1 100644 GIT binary patch delta 7362 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 nZUkBacLE)O2Z5g8A>~-M=hVb)K3;nBAF_4_1=I delta 7339 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 diff --git a/nuklear_app.c b/nuklear_app.c index 58c5988..34bf0cb 100644 --- a/nuklear_app.c +++ b/nuklear_app.c @@ -1,340 +1,391 @@ + + +void aFailed(char *file, int line) { + + MoveTo(10, 10); + char *textoutput; + sprintf(textoutput, "%s:%d", file, line); + writeSerialPortDebug(boutRefNum, "assertion failure"); + writeSerialPortDebug(boutRefNum, textoutput); + // hold the program - we want to be able to read the text! assuming anything after the assert would be a crash + while (true) {} +} + +#define NK_ASSERT(e) \ + if (!(e)) \ + aFailed(__FILE__, __LINE__) + +#define NK_ZERO_COMMAND_MEMORY +#define NK_INCLUDE_FIXED_TYPES +#define NK_INCLUDE_STANDARD_IO +// #define NK_INCLUDE_STANDARD_VARARGS +#define NK_INCLUDE_DEFAULT_ALLOCATOR +#define NK_IMPLEMENTATION +#define NK_QUICKDRAW_IMPLEMENTATION +// #define NK_BUTTON_TRIGGER_ON_RELEASE +#define NK_MEMSET memset +#define NK_MEMCPY memcpy + #include +#include "nuklear.h" +#include "nuklear_quickdraw.h" -char jsFunctionResponse[102400]; // Matches MAX_RECEIVE_SIZE - -Boolean gotMouseEvent = false; Boolean firstOrMouseMove = true; -int haveRun = 0; -int chatFriendlyNamesCounter = 0; -int ipAddressSet = 0; -int sendNewChat = 0; -char chatFriendlyNames[16][64]; +Boolean gotMouseEvent = false; char activeChat[64]; -int activeMessageCounter = 0; char activeChatMessages[15][2048]; // this should match to MAX_ROWS in index.js char box_input_buffer[2048]; +char chatFriendlyNames[16][64]; char ip_input_buffer[255]; +char jsFunctionResponse[102400]; // Matches MAX_RECEIVE_SIZE char new_message_input_buffer[255]; -short box_len; +int activeMessageCounter = 0; +int chatFriendlyNamesCounter = 0; +int coprocessorLoaded = 0; +int drawChatsOneMoreTime = 2; // this is how many 'iterations' of the UI that we need to see every element for +int forceRedraw = 2; // this is how many 'iterations' of the UI that we need to see every element for +int haveRun = 0; +int ipAddressSet = 0; +int mouse_x; +int mouse_y; +int sendNewChat = 0; short box_input_len; +short box_len; short new_message_input_buffer_len; static short ip_input_buffer_len; // TODO: setting a length here will make the default `http://...` work, but doesn't work right -- maybe due to perf work in nuklear -int forceRedraw = 2; // this is how many 'iterations' of the UI that we need to see every element for -int drawChatsOneMoreTime = 2; // this is how many 'iterations' of the UI that we need to see every element for -int coprocessorLoaded = 0; +struct nk_rect chats_window_size; +struct nk_rect graphql_input_window_size; +struct nk_rect message_input_window_size; +struct nk_rect messages_window_size; void getMessagesFromjsFunctionResponse() { - for (int i = 0; i < 15; i++) { + for (int i = 0; i < 15; i++) { - memset(&activeChatMessages[i], '\0', 2048); - } + memset(&activeChatMessages[i], '\0', 2048); + } - activeMessageCounter = 0; + activeMessageCounter = 0; - // writeSerialPortDebug(boutRefNum, "BEGIN"); + // writeSerialPortDebug(boutRefNum, "BEGIN"); - // writeSerialPortDebug(boutRefNum, jsFunctionResponse); - char *token = (char *)strtokm(jsFunctionResponse, "ENDLASTMESSAGE"); - // loop through the string to extract all other tokens - while (token != NULL) { + // writeSerialPortDebug(boutRefNum, jsFunctionResponse); + char *token = (char *)strtokm(jsFunctionResponse, "ENDLASTMESSAGE"); + // loop through the string to extract all other tokens + while (token != NULL) { - // writeSerialPortDebug(boutRefNum, "LOAD VALUE TO TOKEN"); - // writeSerialPortDebug(boutRefNum, token); - sprintf(activeChatMessages[activeMessageCounter], "%s", token); - // writeSerialPortDebug(boutRefNum, activeChatMessages[activeMessageCounter]); - // writeSerialPortDebug(boutRefNum, "DONE! LOAD VALUE TO TOKEN"); - token = (char *)strtokm(NULL, "ENDLASTMESSAGE"); - activeMessageCounter++; - } + // writeSerialPortDebug(boutRefNum, "LOAD VALUE TO TOKEN"); + // writeSerialPortDebug(boutRefNum, token); + sprintf(activeChatMessages[activeMessageCounter], "%s", token); + // writeSerialPortDebug(boutRefNum, activeChatMessages[activeMessageCounter]); + // writeSerialPortDebug(boutRefNum, "DONE! LOAD VALUE TO TOKEN"); + token = (char *)strtokm(NULL, "ENDLASTMESSAGE"); + activeMessageCounter++; + } - return; + return; } + // function to send messages in chat void sendMessage() { - char output[2048]; - sprintf(output, "%s&&&%s", activeChat, box_input_buffer); + char output[2048]; + sprintf(output, "%s&&&%s", activeChat, box_input_buffer); - memset(&box_input_buffer, '\0', 2048); - sprintf(box_input_buffer, ""); - box_input_len = 0; + memset(&box_input_buffer, '\0', 2048); + sprintf(box_input_buffer, ""); + box_input_len = 0; - callFunctionOnCoprocessor("sendMessage", output, jsFunctionResponse); + callFunctionOnCoprocessor("sendMessage", output, jsFunctionResponse); - getMessagesFromjsFunctionResponse(); + getMessagesFromjsFunctionResponse(); - forceRedraw = 3; - firstOrMouseMove = true; + forceRedraw = 3; + firstOrMouseMove = true; - return; + return; } void sendIPAddressToCoprocessor() { - char output[2048]; - sprintf(output, "%s", ip_input_buffer); + char output[2048]; + sprintf(output, "%s", ip_input_buffer); writeSerialPortDebug(boutRefNum, output); - callFunctionOnCoprocessor("setIPAddress", output, jsFunctionResponse); + callFunctionOnCoprocessor("setIPAddress", output, jsFunctionResponse); - return; + return; } // set up function to get messages in current chat // limit to recent messages // figure out pagination?? button on the top that says "get previous chats"? void getMessages(char *thread, int page) { - char output[62]; - sprintf(output, "%s&&&%d", thread, page); + char output[62]; + sprintf(output, "%s&&&%d", thread, page); // writeSerialPortDebug(boutRefNum, output); - callFunctionOnCoprocessor("getMessages", output, jsFunctionResponse); + callFunctionOnCoprocessor("getMessages", output, jsFunctionResponse); // writeSerialPortDebug(boutRefNum, jsFunctionResponse); getMessagesFromjsFunctionResponse(); - forceRedraw = 3; + forceRedraw = 3; - return; + return; } void getHasNewMessagesInChat(char *thread) { - char output[62]; - sprintf(output, "%s", thread); + char output[62]; + sprintf(output, "%s", thread); // writeSerialPortDebug(boutRefNum, output); - callFunctionOnCoprocessor("hasNewMessagesInChat", output, jsFunctionResponse); + callFunctionOnCoprocessor("hasNewMessagesInChat", output, jsFunctionResponse); // writeSerialPortDebug(boutRefNum, jsFunctionResponse); if (!strcmp(jsFunctionResponse, "true")) { - // writeSerialPortDebug(boutRefNum, "update current chat"); - SysBeep(1); - getMessages(thread, 0); - // force redraw - firstOrMouseMove = true; - } + // writeSerialPortDebug(boutRefNum, "update current chat"); + SysBeep(1); + getMessages(thread, 0); + // force redraw + firstOrMouseMove = true; + } - return; + return; } // set up function to get available chat (fill buttons on right hand side) // run it on some interval? make sure user is not typing!!! void getChats() { - if (haveRun) { + if (haveRun) { - return; - } + return; + } - haveRun = 1; + haveRun = 1; - callFunctionOnCoprocessor("getChats", "", jsFunctionResponse); + callFunctionOnCoprocessor("getChats", "", jsFunctionResponse); - char * token = (char *)strtokm(jsFunctionResponse, ","); - // loop through the string to extract all other tokens - while (token != NULL) { - sprintf(chatFriendlyNames[chatFriendlyNamesCounter++], "%s", token); - token = (char *)strtokm(NULL, ","); - } + char * token = (char *)strtokm(jsFunctionResponse, ","); + // loop through the string to extract all other tokens + while (token != NULL) { + sprintf(chatFriendlyNames[chatFriendlyNamesCounter++], "%s", token); + token = (char *)strtokm(NULL, ","); + } - return; + return; } Boolean chatWindowCollision; Boolean messageWindowCollision; Boolean checkCollision(struct nk_rect window) { - // writeSerialPortDebug(boutRefNum, "checkCollision!"); + // writeSerialPortDebug(boutRefNum, "checkCollision!"); - // Boolean testout = (window.x < mouse_x && - // window.x + window.w > mouse_x && - // window.y < mouse_y && - // window.y + window.h > mouse_y); - // char str[255]; - // sprintf(str, "what %d", testout); - // writeSerialPortDebug(boutRefNum, str); + // Boolean testout = (window.x < mouse_x && + // window.x + window.w > mouse_x && + // window.y < mouse_y && + // window.y + window.h > mouse_y); + // char str[255]; + // sprintf(str, "what %d", testout); + // writeSerialPortDebug(boutRefNum, str); - // if truthy return, mouse is over window! - return (window.x < mouse_x && - window.x + window.w > mouse_x && - window.y < mouse_y && - window.y + window.h > mouse_y); + // if truthy return, mouse is over window! + return (window.x < mouse_x && + window.x + window.w > mouse_x && + window.y < mouse_y && + window.y + window.h > mouse_y); } -struct nk_rect graphql_input_window_size; -struct nk_rect chats_window_size; -struct nk_rect messages_window_size; -struct nk_rect message_input_window_size; +static void nuklearApp(struct nk_context *ctx) { -static void boxTest(struct nk_context *ctx) { + // prompt the user for the graphql instance + if (!coprocessorLoaded) { - // prompt the user for the graphql instance - if (!coprocessorLoaded) { + if (nk_begin_titled(ctx, "Loading coprocessor services", "Loading coprocessor services", graphql_input_window_size, NK_WINDOW_TITLE|NK_WINDOW_BORDER)) { - if (nk_begin_titled(ctx, "Loading coprocessor services", "Loading coprocessor services", graphql_input_window_size, NK_WINDOW_TITLE|NK_WINDOW_BORDER)) { + nk_layout_row_begin(ctx, NK_STATIC, 20, 1); + { + nk_layout_row_push(ctx, 200); + nk_label_wrap(ctx, "Please wait"); + } + nk_layout_row_end(ctx); - nk_layout_row_begin(ctx, NK_STATIC, 20, 1); - { - nk_layout_row_push(ctx, 200); // 40% wide - nk_label_wrap(ctx, "Please wait"); - } - nk_layout_row_end(ctx); + nk_end(ctx); + } - nk_end(ctx); - } + return; + } - return; - } + // prompt the user for the graphql instance + if (!ipAddressSet) { - // prompt the user for the graphql instance - if (!ipAddressSet) { + if (nk_begin_titled(ctx, "Enter iMessage GraphQL Server", "Enter iMessage GraphQL Server", graphql_input_window_size, NK_WINDOW_TITLE|NK_WINDOW_BORDER)) { - if (nk_begin_titled(ctx, "Enter iMessage GraphQL Server", "Enter iMessage GraphQL Server", graphql_input_window_size, NK_WINDOW_TITLE|NK_WINDOW_BORDER)) { + nk_layout_row_begin(ctx, NK_STATIC, 20, 1); + { + nk_layout_row_push(ctx, 200); + nk_label_wrap(ctx, "ex: http://127.0.0.1"); + } + nk_layout_row_end(ctx); - nk_layout_row_begin(ctx, NK_STATIC, 20, 1); - { - nk_layout_row_push(ctx, 200); // 40% wide - nk_label_wrap(ctx, "ex: http://127.0.0.1"); - } - nk_layout_row_end(ctx); + nk_layout_row_begin(ctx, NK_STATIC, 30, 2); + { + nk_layout_row_push(ctx, WINDOW_WIDTH / 2 - 90); - nk_layout_row_begin(ctx, NK_STATIC, 30, 2); - { - nk_layout_row_push(ctx, WINDOW_WIDTH / 2 - 90); // 40% wide + nk_edit_string(ctx, NK_EDIT_SIMPLE, ip_input_buffer, &ip_input_buffer_len, 255, nk_filter_default); - nk_edit_string(ctx, NK_EDIT_SIMPLE, ip_input_buffer, &ip_input_buffer_len, 255, nk_filter_default); + nk_layout_row_push(ctx, 60); + if (nk_button_label(ctx, "save")) { + + ipAddressSet = 1; + forceRedraw = 2; + sendIPAddressToCoprocessor(); + } + } + nk_layout_row_end(ctx); - nk_layout_row_push(ctx, 60); // 40% wide - if (nk_button_label(ctx, "save")) { - - ipAddressSet = 1; - forceRedraw = 2; - sendIPAddressToCoprocessor(); - } - } - nk_layout_row_end(ctx); + nk_end(ctx); + } - nk_end(ctx); - } + return; + } - return; - } + // prompt the user for new chat + if (sendNewChat) { - // prompt the user for new chat - if (sendNewChat) { + if (nk_begin_titled(ctx, "Enter New Message Recipient", "Enter New Message Recipient", nk_rect(WINDOW_WIDTH / 4, WINDOW_HEIGHT / 4, WINDOW_WIDTH / 2, 120), NK_WINDOW_TITLE|NK_WINDOW_BORDER)) { - if (nk_begin_titled(ctx, "Enter New Message Recipient", "Enter New Message Recipient", nk_rect(WINDOW_WIDTH / 4, WINDOW_HEIGHT / 4, WINDOW_WIDTH / 2, 120), NK_WINDOW_TITLE|NK_WINDOW_BORDER)) { + nk_layout_row_begin(ctx, NK_STATIC, 30, 2); + { + nk_layout_row_push(ctx, WINDOW_WIDTH / 2 - 110); - nk_layout_row_begin(ctx, NK_STATIC, 30, 2); - { - nk_layout_row_push(ctx, WINDOW_WIDTH / 2 - 110); // 40% wide + nk_edit_string(ctx, NK_EDIT_SIMPLE, new_message_input_buffer, &new_message_input_buffer_len, 2048, nk_filter_default); - nk_edit_string(ctx, NK_EDIT_SIMPLE, new_message_input_buffer, &new_message_input_buffer_len, 2048, nk_filter_default); + nk_layout_row_push(ctx, 80); + if (nk_button_label(ctx, "open chat")) { + + sendNewChat = 0; + forceRedraw = 2; + // sendIPAddressToCoprocessor(); - nk_layout_row_push(ctx, 80); // 40% wide - if (nk_button_label(ctx, "open chat")) { - - sendNewChat = 0; - forceRedraw = 2; - // sendIPAddressToCoprocessor(); + sprintf(activeChat, new_message_input_buffer); + } + } + nk_layout_row_end(ctx); - sprintf(activeChat, new_message_input_buffer); - } - } - nk_layout_row_end(ctx); + nk_end(ctx); + } - nk_end(ctx); - } + return; + } - return; - } - - chatWindowCollision = checkCollision(chats_window_size); + chatWindowCollision = checkCollision(chats_window_size); if ((chatWindowCollision || forceRedraw || drawChatsOneMoreTime) && nk_begin(ctx, "Chats", chats_window_size, NK_WINDOW_BORDER|NK_WINDOW_NO_SCROLLBAR)) { - if (chatWindowCollision) { + if (chatWindowCollision) { - drawChatsOneMoreTime = 2; - } + drawChatsOneMoreTime = 2; + } getChats(); - nk_layout_row_begin(ctx, NK_STATIC, 25, 1); - { - for (int i = 0; i < chatFriendlyNamesCounter; i++) { + nk_layout_row_begin(ctx, NK_STATIC, 25, 1); + { + for (int i = 0; i < chatFriendlyNamesCounter; i++) { - // only display the first 8 chats, create new chat if you need someone not in your list - if (i > 9) { + // only display the first 8 chats, create new chat if you need someone not in your list + if (i > 9) { - continue; - } + continue; + } - nk_layout_row_push(ctx, 169); + nk_layout_row_push(ctx, 169); - if (nk_button_label(ctx, chatFriendlyNames[i])) { + if (nk_button_label(ctx, chatFriendlyNames[i])) { - sprintf(activeChat, "%s", chatFriendlyNames[i]); - getMessages(activeChat, 0); - } - } - } - nk_layout_row_end(ctx); + sprintf(activeChat, "%s", chatFriendlyNames[i]); + getMessages(activeChat, 0); + } + } + } + nk_layout_row_end(ctx); - nk_end(ctx); + nk_end(ctx); } if (nk_begin(ctx, "Message Input", message_input_window_size, NK_WINDOW_BORDER|NK_WINDOW_NO_SCROLLBAR)) { - // bottom text input - nk_layout_row_begin(ctx, NK_STATIC, 28, 1); - { - nk_layout_row_push(ctx, 320); // 40% wide + // bottom text input + nk_layout_row_begin(ctx, NK_STATIC, 28, 1); + { + nk_layout_row_push(ctx, 320); - short edit_return_value = nk_edit_string(ctx, NK_EDIT_FIELD|NK_EDIT_SIG_ENTER, box_input_buffer, &box_input_len, 2048, nk_filter_default); + short edit_return_value = nk_edit_string(ctx, NK_EDIT_FIELD|NK_EDIT_SIG_ENTER, box_input_buffer, &box_input_len, 2048, nk_filter_default); - // this is the enter key, obviously - if (edit_return_value == 17) { + // this is the enter key, obviously + if (edit_return_value == 17) { - sendMessage(); - } - } - nk_layout_row_end(ctx); + sendMessage(); + } + } + nk_layout_row_end(ctx); - nk_end(ctx); - } + nk_end(ctx); + } if ((forceRedraw || drawChatsOneMoreTime) && nk_begin_titled(ctx, "Message", activeChat, messages_window_size, NK_WINDOW_BORDER|NK_WINDOW_TITLE|NK_WINDOW_NO_SCROLLBAR)) { - nk_layout_row_begin(ctx, NK_STATIC, 12, 1); - { - for (int i = 0; i < activeMessageCounter; i++) { - - nk_layout_row_push(ctx, 305); // 40% wide - // message label - // writeSerialPortDebug(boutRefNum, "create label!"); - // writeSerialPortDebug(boutRefNum, activeChatMessages[i]); + nk_layout_row_begin(ctx, NK_STATIC, 12, 1); + { + for (int i = 0; i < activeMessageCounter; i++) { + + nk_layout_row_push(ctx, 305); + // message label + // writeSerialPortDebug(boutRefNum, "create label!"); + // writeSerialPortDebug(boutRefNum, activeChatMessages[i]); - nk_label(ctx, activeChatMessages[i], NK_TEXT_ALIGN_LEFT); - } - } + nk_label(ctx, activeChatMessages[i], NK_TEXT_ALIGN_LEFT); + } + } - nk_layout_row_end(ctx); - nk_end(ctx); + nk_layout_row_end(ctx); + nk_end(ctx); } - if (forceRedraw) { + if (forceRedraw) { - forceRedraw--; - } + forceRedraw--; + } - if (drawChatsOneMoreTime) { + if (drawChatsOneMoreTime) { - drawChatsOneMoreTime--; - } + drawChatsOneMoreTime--; + } +} + +struct nk_context* initializeNuklearApp() { + + sprintf(activeChat, "no active chat"); + struct nk_context *ctx; + graphql_input_window_size = nk_rect(WINDOW_WIDTH / 4, WINDOW_HEIGHT / 4, WINDOW_WIDTH / 2, 120); + chats_window_size = nk_rect(0, 0, 180, WINDOW_HEIGHT); + messages_window_size = nk_rect(180, 0, 330, WINDOW_HEIGHT - 36); + message_input_window_size = nk_rect(180, WINDOW_HEIGHT - 36, 330, 36); + ctx = nk_quickdraw_init(WINDOW_WIDTH, WINDOW_HEIGHT); + + nk_input_begin(ctx); + nk_input_end(ctx); + nuklearApp(ctx); + nk_quickdraw_render(FrontWindow(), ctx); + nk_clear(ctx); + sprintf(ip_input_buffer, "http://"); // doesn't work due to bug + + return ctx; } \ No newline at end of file diff --git a/nuklear_quickdraw.h b/nuklear_quickdraw.h index 4d52a11..a206aa9 100644 --- a/nuklear_quickdraw.h +++ b/nuklear_quickdraw.h @@ -1097,7 +1097,7 @@ NK_API int nk_quickdraw_handle_event(EventRecord *event, struct nk_context *nukl short part = FindWindow(event->where, &window); - switch (part) { + switch (part) { case inContent: { // event->where should have coordinates??? or is it just a pointer to what the mouse is over? // TODO need to figure this out @@ -1132,7 +1132,7 @@ NK_API int nk_quickdraw_handle_event(EventRecord *event, struct nk_context *nukl // nk_input_motion(nuklear_context, x, y); // you can enable this if you don't want to use motion tracking // in the Mac event loop handler as in the nuklear quickdraw sample, and this will allow mouse clicks to // work properly, but will not allow hover states to work - nk_input_motion(nuklear_context, x, y); + nk_input_motion(nuklear_context, x, y); nk_input_button(nuklear_context, NK_BUTTON_LEFT, x, y, event->what == mouseDown); } break; @@ -1141,7 +1141,7 @@ NK_API int nk_quickdraw_handle_event(EventRecord *event, struct nk_context *nukl break; case keyDown: - case autoKey: {/* check for menukey equivalents */ + case autoKey: {/* check for menukey equivalents */ char charKey = event->message & charCodeMask; int key = (int)charKey; @@ -1243,7 +1243,7 @@ NK_API int nk_quickdraw_handle_event(EventRecord *event, struct nk_context *nukl return 1; } - break; + break; default: { #ifdef NK_QUICKDRAW_EVENTS_DEBUGGING @@ -1388,4 +1388,4 @@ NK_API void nk_quickdraw_shutdown(void) { } - +