serious performance improvements: cache commands and avoid re-drawing unnecessary commands from event to event. in double buffering code, check bounds and only blit in changed area.
This commit is contained in:
parent
adeb3ede7f
commit
938c461fc2
|
@ -12,6 +12,9 @@
|
|||
"stdlib.h": "c",
|
||||
"serialhelper.h": "c",
|
||||
"coprocessorjs.h": "c",
|
||||
"dialogs.h": "c"
|
||||
"dialogs.h": "c",
|
||||
"osutils.h": "c",
|
||||
"traps.h": "c",
|
||||
"quickdraw.h": "c"
|
||||
}
|
||||
}
|
123
Sample.c
123
Sample.c
|
@ -21,6 +21,73 @@
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "Sample.h"
|
||||
|
||||
//#define PROFILING 1
|
||||
#ifdef PROFILING
|
||||
|
||||
OSErr writeSerialPortProfile(const char* str)
|
||||
{
|
||||
|
||||
#define PRINTER_PORT_OUT "\p.BOut"
|
||||
|
||||
OSErr err;
|
||||
short serialPort = 0;
|
||||
err = OpenDriver(PRINTER_PORT_OUT, &serialPort);
|
||||
if (err < 0) return err;
|
||||
|
||||
CntrlParam cb2;
|
||||
cb2.ioCRefNum = serialPort;
|
||||
cb2.csCode = 8;
|
||||
cb2.csParam[0] = stop10 | noParity | data8 | baud9600;
|
||||
err = PBControl ((ParmBlkPtr) & cb2, 0);
|
||||
if (err < 0) return err;
|
||||
|
||||
IOParam pb2;
|
||||
pb2.ioRefNum = serialPort;
|
||||
|
||||
char str2[1024];
|
||||
sprintf(str2, "%s\n", str);
|
||||
pb2.ioBuffer = (Ptr) str2;
|
||||
pb2.ioReqCount = strlen(str2);
|
||||
|
||||
err = PBWrite((ParmBlkPtr)& pb2, 0);
|
||||
if (err < 0) return err;
|
||||
|
||||
// hangs on Mac512K (write hasn't finished due to slow Speed when we wants to close driver
|
||||
// err = CloseDriver(serialPort);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
void PROFILE_START(char *name) {
|
||||
|
||||
char profileMessage[255];
|
||||
sprintf(profileMessage, "PROFILE_START %s", name);
|
||||
|
||||
writeSerialPortProfile(profileMessage);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void PROFILE_END(char *name) {
|
||||
|
||||
char profileMessage[255];
|
||||
sprintf(profileMessage, "PROFILE_END %s", name);
|
||||
|
||||
writeSerialPortProfile(profileMessage);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void PROFILE_COMPLETE() {
|
||||
|
||||
writeSerialPortProfile("PROFILE_COMPLETE");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#include "SerialHelper.h"
|
||||
#include "Quickdraw.h"
|
||||
#include "output_js.h"
|
||||
|
@ -115,6 +182,12 @@ void EventLoop(struct nk_context *ctx)
|
|||
|
||||
do {
|
||||
|
||||
// Don't do this, it won't yield anything useful
|
||||
// and will make your app very slow:
|
||||
// #ifdef PROFILING
|
||||
// PROFILE_START("eventloop");
|
||||
// #endif
|
||||
|
||||
// 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
|
||||
|
@ -141,31 +214,42 @@ void EventLoop(struct nk_context *ctx)
|
|||
// call the nk_input_motion command
|
||||
if (lastMouseHPos != mouse.h || lastMouseVPos != mouse.v) {
|
||||
|
||||
// if the mouse is in motion, try to capture all motion before moving on to rendering
|
||||
while (lastMouseHPos != mouse.h || lastMouseVPos != mouse.v) {
|
||||
|
||||
#ifdef MAC_APP_DEBUGGING
|
||||
|
||||
writeSerialPortDebug(boutRefNum, "nk_input_motion!");
|
||||
#endif
|
||||
|
||||
firstOrMouseMove = true;
|
||||
beganInput = true;
|
||||
|
||||
Point tempPoint;
|
||||
SetPt(&tempPoint, mouse.h, mouse.v);
|
||||
GlobalToLocal(&tempPoint);
|
||||
|
||||
if (!beganInput) {
|
||||
nk_input_begin(ctx);
|
||||
}
|
||||
|
||||
nk_input_motion(ctx, tempPoint.h, tempPoint.v);
|
||||
|
||||
firstOrMouseMove = true;
|
||||
beganInput = true;
|
||||
|
||||
mouse_x = tempPoint.h;
|
||||
mouse_y = tempPoint.v;
|
||||
|
||||
lastUpdatedTickCount = TickCount();
|
||||
lastMouseHPos = mouse.h;
|
||||
lastMouseVPos = mouse.v;
|
||||
GetGlobalMouse(&mouse);
|
||||
}
|
||||
} else {
|
||||
|
||||
gotEvent = GetNextEvent(everyEvent, &event);
|
||||
gotMouseEvent = false;
|
||||
|
||||
// drain all events before rendering -- really this only applies to keyboard events now
|
||||
// drain all events before rendering -- really this only applies to keyboard events and single mouse clicks now
|
||||
while (gotEvent) {
|
||||
|
||||
lastUpdatedTickCount = TickCount();
|
||||
|
@ -206,8 +290,17 @@ void EventLoop(struct nk_context *ctx)
|
|||
// only re-render if there is an event, prevents screen flickering, speeds up app
|
||||
if (beganInput || firstOrMouseMove) {
|
||||
|
||||
#ifdef PROFILING
|
||||
PROFILE_START("nk_input_end");
|
||||
#endif
|
||||
|
||||
nk_input_end(ctx);
|
||||
|
||||
#ifdef PROFILING
|
||||
PROFILE_END("nk_input_end");
|
||||
PROFILE_START("nuklearApp");
|
||||
#endif
|
||||
|
||||
firstOrMouseMove = false;
|
||||
|
||||
#ifdef MAC_APP_DEBUGGING
|
||||
|
@ -217,15 +310,35 @@ void EventLoop(struct nk_context *ctx)
|
|||
|
||||
nuklearApp(ctx);
|
||||
|
||||
#ifdef PROFILING
|
||||
PROFILE_END("nuklearApp");
|
||||
PROFILE_START("nk_quickdraw_render");
|
||||
#endif
|
||||
|
||||
nk_quickdraw_render(FrontWindow(), ctx);
|
||||
|
||||
#ifdef PROFILING
|
||||
PROFILE_END("nk_quickdraw_render");
|
||||
PROFILE_START("nk_clear");
|
||||
#endif
|
||||
|
||||
nk_clear(ctx);
|
||||
|
||||
#ifdef PROFILING
|
||||
PROFILE_END("nk_clear");
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
#ifdef MAC_APP_DEBUGGING
|
||||
|
||||
writeSerialPortDebug(boutRefNum, "nk_input_render complete");
|
||||
#endif
|
||||
|
||||
|
||||
// #ifdef PROFILING
|
||||
// PROFILE_END("eventloop");
|
||||
// #endif
|
||||
} while ( true ); /* loop forever; we quit via ExitToShell */
|
||||
} /*EventLoop*/
|
||||
|
||||
|
@ -622,6 +735,10 @@ void Terminate()
|
|||
WindowPtr aWindow;
|
||||
Boolean closed;
|
||||
|
||||
#ifdef PROFILING
|
||||
PROFILE_COMPLETE();
|
||||
#endif
|
||||
|
||||
closed = true;
|
||||
do {
|
||||
aWindow = FrontWindow(); /* get the current front window */
|
||||
|
|
|
@ -11,6 +11,12 @@ http://mirror.informatimago.com/next/developer.apple.com/documentation/mac/Devic
|
|||
*/
|
||||
OSErr writeSerialPortDebug(short refNum, const char* str)
|
||||
{
|
||||
#ifdef PROFILING
|
||||
|
||||
// we need to bail on profiling, because the profile watcher will be reading this serial port
|
||||
return;
|
||||
|
||||
#endif
|
||||
#define MODEM_PORT_OUT "\p.AOut"
|
||||
#define PRINTER_PORT_OUT "\p.BOut"
|
||||
// OSErr err;
|
||||
|
|
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 322 KiB After Width: | Height: | Size: 323 KiB |
|
@ -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_8caf1/fast && /usr/bin/make -f CMakeFiles/cmTC_8caf1.dir/build.make CMakeFiles/cmTC_8caf1.dir/build
|
||||
Run Build Command(s):/usr/bin/make cmTC_d209b/fast && /usr/bin/make -f CMakeFiles/cmTC_d209b.dir/build.make CMakeFiles/cmTC_d209b.dir/build
|
||||
make[1]: Entering directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp'
|
||||
Building C object CMakeFiles/cmTC_8caf1.dir/testCCompiler.c.obj
|
||||
/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -o CMakeFiles/cmTC_8caf1.dir/testCCompiler.c.obj -c /home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp/testCCompiler.c
|
||||
Linking C executable cmTC_8caf1
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8caf1.dir/link.txt --verbose=1
|
||||
/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc CMakeFiles/cmTC_8caf1.dir/testCCompiler.c.obj -o cmTC_8caf1
|
||||
Building C object CMakeFiles/cmTC_d209b.dir/testCCompiler.c.obj
|
||||
/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -o CMakeFiles/cmTC_d209b.dir/testCCompiler.c.obj -c /home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp/testCCompiler.c
|
||||
Linking C executable cmTC_d209b
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d209b.dir/link.txt --verbose=1
|
||||
/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc CMakeFiles/cmTC_d209b.dir/testCCompiler.c.obj -o cmTC_d209b
|
||||
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_70a53/fast && /usr/bin/make -f CMakeFiles/cmTC_70a53.dir/build.make CMakeFiles/cmTC_70a53.dir/build
|
||||
Run Build Command(s):/usr/bin/make cmTC_f2ad3/fast && /usr/bin/make -f CMakeFiles/cmTC_f2ad3.dir/build.make CMakeFiles/cmTC_f2ad3.dir/build
|
||||
make[1]: Entering directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp'
|
||||
Building C object CMakeFiles/cmTC_70a53.dir/CMakeCCompilerABI.c.obj
|
||||
/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -v -o CMakeFiles/cmTC_70a53.dir/CMakeCCompilerABI.c.obj -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c
|
||||
Building C object CMakeFiles/cmTC_f2ad3.dir/CMakeCCompilerABI.c.obj
|
||||
/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -v -o CMakeFiles/cmTC_f2ad3.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_70a53.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_70a53.dir/CMakeCCompilerABI.c.obj -version -o /tmp/ccDysVb7.s
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f2ad3.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_f2ad3.dir/CMakeCCompilerABI.c.obj -version -o /tmp/ccR5oK71.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_70a53.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_70a53.dir/CMakeCCompilerABI.c.obj /tmp/ccDysVb7.s
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f2ad3.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_f2ad3.dir/CMakeCCompilerABI.c.obj /tmp/ccR5oK71.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_70a53.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=68000'
|
||||
Linking C executable cmTC_70a53
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_70a53.dir/link.txt --verbose=1
|
||||
/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -v CMakeFiles/cmTC_70a53.dir/CMakeCCompilerABI.c.obj -o cmTC_70a53
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f2ad3.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=68000'
|
||||
Linking C executable cmTC_f2ad3
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f2ad3.dir/link.txt --verbose=1
|
||||
/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -v CMakeFiles/cmTC_f2ad3.dir/CMakeCCompilerABI.c.obj -o cmTC_f2ad3
|
||||
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_70a53' '-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/ccKhTygx.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_70a53 -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_70a53.dir/CMakeCCompilerABI.c.obj --start-group -lgcc -lc -lretrocrt -lInterface --end-group
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_70a53' '-mcpu=68000'
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f2ad3' '-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/ccUBj7Uv.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_f2ad3 -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_f2ad3.dir/CMakeCCompilerABI.c.obj --start-group -lgcc -lc -lretrocrt -lInterface --end-group
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f2ad3' '-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_70a53/fast && /usr/bin/make -f CMakeFiles/cmTC_70a53.dir/build.make CMakeFiles/cmTC_70a53.dir/build]
|
||||
ignore line: [Run Build Command(s):/usr/bin/make cmTC_f2ad3/fast && /usr/bin/make -f CMakeFiles/cmTC_f2ad3.dir/build.make CMakeFiles/cmTC_f2ad3.dir/build]
|
||||
ignore line: [make[1]: Entering directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp']
|
||||
ignore line: [Building C object CMakeFiles/cmTC_70a53.dir/CMakeCCompilerABI.c.obj]
|
||||
ignore line: [/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -v -o CMakeFiles/cmTC_70a53.dir/CMakeCCompilerABI.c.obj -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c]
|
||||
ignore line: [Building C object CMakeFiles/cmTC_f2ad3.dir/CMakeCCompilerABI.c.obj]
|
||||
ignore line: [/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -v -o CMakeFiles/cmTC_f2ad3.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_70a53.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_70a53.dir/CMakeCCompilerABI.c.obj -version -o /tmp/ccDysVb7.s]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f2ad3.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_f2ad3.dir/CMakeCCompilerABI.c.obj -version -o /tmp/ccR5oK71.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_70a53.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_70a53.dir/CMakeCCompilerABI.c.obj /tmp/ccDysVb7.s]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f2ad3.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_f2ad3.dir/CMakeCCompilerABI.c.obj /tmp/ccR5oK71.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_70a53.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=68000']
|
||||
ignore line: [Linking C executable cmTC_70a53]
|
||||
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_70a53.dir/link.txt --verbose=1]
|
||||
ignore line: [/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -v CMakeFiles/cmTC_70a53.dir/CMakeCCompilerABI.c.obj -o cmTC_70a53 ]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f2ad3.dir/CMakeCCompilerABI.c.obj' '-c' '-mcpu=68000']
|
||||
ignore line: [Linking C executable cmTC_f2ad3]
|
||||
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f2ad3.dir/link.txt --verbose=1]
|
||||
ignore line: [/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-gcc -v CMakeFiles/cmTC_f2ad3.dir/CMakeCCompilerABI.c.obj -o cmTC_f2ad3 ]
|
||||
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_70a53' '-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/ccKhTygx.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_70a53 -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_70a53.dir/CMakeCCompilerABI.c.obj --start-group -lgcc -lc -lretrocrt -lInterface --end-group]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f2ad3' '-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/ccUBj7Uv.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_f2ad3 -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_f2ad3.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/ccKhTygx.res] ==> ignore
|
||||
arg [-plugin-opt=-fresolution=/tmp/ccUBj7Uv.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_70a53] ==> ignore
|
||||
arg [cmTC_f2ad3] ==> 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_70a53.dir/CMakeCCompilerABI.c.obj] ==> ignore
|
||||
arg [CMakeFiles/cmTC_f2ad3.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_93c14/fast && /usr/bin/make -f CMakeFiles/cmTC_93c14.dir/build.make CMakeFiles/cmTC_93c14.dir/build
|
||||
Run Build Command(s):/usr/bin/make cmTC_b0b45/fast && /usr/bin/make -f CMakeFiles/cmTC_b0b45.dir/build.make CMakeFiles/cmTC_b0b45.dir/build
|
||||
make[1]: Entering directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp'
|
||||
Building CXX object CMakeFiles/cmTC_93c14.dir/testCXXCompiler.cxx.obj
|
||||
/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -o CMakeFiles/cmTC_93c14.dir/testCXXCompiler.cxx.obj -c /home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
|
||||
Linking CXX executable cmTC_93c14
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_93c14.dir/link.txt --verbose=1
|
||||
/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ CMakeFiles/cmTC_93c14.dir/testCXXCompiler.cxx.obj -o cmTC_93c14
|
||||
Building CXX object CMakeFiles/cmTC_b0b45.dir/testCXXCompiler.cxx.obj
|
||||
/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -o CMakeFiles/cmTC_b0b45.dir/testCXXCompiler.cxx.obj -c /home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
|
||||
Linking CXX executable cmTC_b0b45
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b0b45.dir/link.txt --verbose=1
|
||||
/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ CMakeFiles/cmTC_b0b45.dir/testCXXCompiler.cxx.obj -o cmTC_b0b45
|
||||
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_f30f5/fast && /usr/bin/make -f CMakeFiles/cmTC_f30f5.dir/build.make CMakeFiles/cmTC_f30f5.dir/build
|
||||
Run Build Command(s):/usr/bin/make cmTC_e45aa/fast && /usr/bin/make -f CMakeFiles/cmTC_e45aa.dir/build.make CMakeFiles/cmTC_e45aa.dir/build
|
||||
make[1]: Entering directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp'
|
||||
Building CXX object CMakeFiles/cmTC_f30f5.dir/CMakeCXXCompilerABI.cpp.obj
|
||||
/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -v -o CMakeFiles/cmTC_f30f5.dir/CMakeCXXCompilerABI.cpp.obj -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp
|
||||
Building CXX object CMakeFiles/cmTC_e45aa.dir/CMakeCXXCompilerABI.cpp.obj
|
||||
/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -v -o CMakeFiles/cmTC_e45aa.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_f30f5.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_f30f5.dir/CMakeCXXCompilerABI.cpp.obj -version -o /tmp/ccpKfWFb.s
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e45aa.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_e45aa.dir/CMakeCXXCompilerABI.cpp.obj -version -o /tmp/cc3vCbPa.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_f30f5.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_f30f5.dir/CMakeCXXCompilerABI.cpp.obj /tmp/ccpKfWFb.s
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e45aa.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_e45aa.dir/CMakeCXXCompilerABI.cpp.obj /tmp/cc3vCbPa.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_f30f5.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=68000'
|
||||
Linking CXX executable cmTC_f30f5
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f30f5.dir/link.txt --verbose=1
|
||||
/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -v CMakeFiles/cmTC_f30f5.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_f30f5
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e45aa.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=68000'
|
||||
Linking CXX executable cmTC_e45aa
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e45aa.dir/link.txt --verbose=1
|
||||
/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -v CMakeFiles/cmTC_e45aa.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_e45aa
|
||||
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_f30f5' '-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/ccLc3iPF.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_f30f5 -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_f30f5.dir/CMakeCXXCompilerABI.cpp.obj -lstdc++ -lm --start-group -lgcc -lc -lretrocrt -lInterface --end-group
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f30f5' '-mcpu=68000'
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e45aa' '-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/ccpTTxYC.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_e45aa -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_e45aa.dir/CMakeCXXCompilerABI.cpp.obj -lstdc++ -lm --start-group -lgcc -lc -lretrocrt -lInterface --end-group
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e45aa' '-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_f30f5/fast && /usr/bin/make -f CMakeFiles/cmTC_f30f5.dir/build.make CMakeFiles/cmTC_f30f5.dir/build]
|
||||
ignore line: [Run Build Command(s):/usr/bin/make cmTC_e45aa/fast && /usr/bin/make -f CMakeFiles/cmTC_e45aa.dir/build.make CMakeFiles/cmTC_e45aa.dir/build]
|
||||
ignore line: [make[1]: Entering directory '/home/camh/Documents/Retro68kApps/NuklearQuickDraw/build/CMakeFiles/CMakeTmp']
|
||||
ignore line: [Building CXX object CMakeFiles/cmTC_f30f5.dir/CMakeCXXCompilerABI.cpp.obj]
|
||||
ignore line: [/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -v -o CMakeFiles/cmTC_f30f5.dir/CMakeCXXCompilerABI.cpp.obj -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp]
|
||||
ignore line: [Building CXX object CMakeFiles/cmTC_e45aa.dir/CMakeCXXCompilerABI.cpp.obj]
|
||||
ignore line: [/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -v -o CMakeFiles/cmTC_e45aa.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_f30f5.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_f30f5.dir/CMakeCXXCompilerABI.cpp.obj -version -o /tmp/ccpKfWFb.s]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e45aa.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_e45aa.dir/CMakeCXXCompilerABI.cpp.obj -version -o /tmp/cc3vCbPa.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_f30f5.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_f30f5.dir/CMakeCXXCompilerABI.cpp.obj /tmp/ccpKfWFb.s]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e45aa.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_e45aa.dir/CMakeCXXCompilerABI.cpp.obj /tmp/cc3vCbPa.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_f30f5.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=68000']
|
||||
ignore line: [Linking CXX executable cmTC_f30f5]
|
||||
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f30f5.dir/link.txt --verbose=1]
|
||||
ignore line: [/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -v CMakeFiles/cmTC_f30f5.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_f30f5 ]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e45aa.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mcpu=68000']
|
||||
ignore line: [Linking CXX executable cmTC_e45aa]
|
||||
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e45aa.dir/link.txt --verbose=1]
|
||||
ignore line: [/home/camh/Retro68-build/toolchain/bin/m68k-apple-macos-g++ -v CMakeFiles/cmTC_e45aa.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_e45aa ]
|
||||
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_f30f5' '-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/ccLc3iPF.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_f30f5 -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_f30f5.dir/CMakeCXXCompilerABI.cpp.obj -lstdc++ -lm --start-group -lgcc -lc -lretrocrt -lInterface --end-group]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e45aa' '-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/ccpTTxYC.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_e45aa -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_e45aa.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/ccLc3iPF.res] ==> ignore
|
||||
arg [-plugin-opt=-fresolution=/tmp/ccpTTxYC.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_f30f5] ==> ignore
|
||||
arg [cmTC_e45aa] ==> 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_f30f5.dir/CMakeCXXCompilerABI.cpp.obj] ==> ignore
|
||||
arg [CMakeFiles/cmTC_e45aa.dir/CMakeCXXCompilerABI.cpp.obj] ==> ignore
|
||||
arg [-lstdc++] ==> lib [stdc++]
|
||||
arg [-lm] ==> lib [m]
|
||||
arg [--start-group] ==> ignore
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
145
nuklear.h
145
nuklear.h
|
@ -4236,7 +4236,7 @@ NK_API void nk_textedit_redo(struct nk_text_edit*);
|
|||
|
||||
if (state != NK_WIDGET_ROM)
|
||||
update_your_widget_by_user_input(...);
|
||||
nk_fill_rect(canvas, space, 0, nk_rgb(255,0,0));
|
||||
nk_fill_rect(canvas, space, 0, nk_rgb(255,0,0), true);
|
||||
}
|
||||
|
||||
if (nk_begin(...)) {
|
||||
|
@ -4322,6 +4322,7 @@ struct nk_command_rect_filled {
|
|||
short x, y;
|
||||
unsigned short w, h;
|
||||
struct nk_color color;
|
||||
Boolean allowCache;
|
||||
};
|
||||
|
||||
struct nk_command_rect_multi_color {
|
||||
|
@ -4460,7 +4461,7 @@ NK_API void nk_stroke_polyline(struct nk_command_buffer*, short *points, short p
|
|||
NK_API void nk_stroke_polygon(struct nk_command_buffer*, short*, short point_count, short line_thickness, struct nk_color);
|
||||
|
||||
/* filled shades */
|
||||
NK_API void nk_fill_rect(struct nk_command_buffer*, struct nk_rect, short rounding, struct nk_color);
|
||||
NK_API void nk_fill_rect(struct nk_command_buffer*, struct nk_rect, short rounding, struct nk_color, Boolean allowCache);
|
||||
NK_API void nk_fill_rect_multi_color(struct nk_command_buffer*, struct nk_rect, struct nk_color left, struct nk_color top, struct nk_color right, struct nk_color bottom);
|
||||
NK_API void nk_fill_circle(struct nk_command_buffer*, struct nk_rect, struct nk_color);
|
||||
NK_API void nk_fill_arc(struct nk_command_buffer*, short cx, short cy, short radius, short a_min, short a_max, struct nk_color);
|
||||
|
@ -8520,27 +8521,32 @@ nk_stroke_rect(struct nk_command_buffer *b, struct nk_rect rect,
|
|||
cmd->color = c;
|
||||
}
|
||||
NK_API void
|
||||
nk_fill_rect(struct nk_command_buffer *b, struct nk_rect rect,
|
||||
short rounding, struct nk_color c)
|
||||
nk_fill_rect(struct nk_command_buffer *b, struct nk_rect rect, short rounding, struct nk_color c, Boolean allowCache)
|
||||
{
|
||||
struct nk_command_rect_filled *cmd;
|
||||
// NK_ASSERT(b);
|
||||
if (!b || c.a == 0 || rect.w == 0 || rect.h == 0) return;
|
||||
if (!b || c.a == 0 || rect.w == 0 || rect.h == 0) {
|
||||
|
||||
return;
|
||||
}
|
||||
if (b->use_clipping) {
|
||||
const struct nk_rect *clip = &b->clip;
|
||||
if (!NK_INTERSECT(rect.x, rect.y, rect.w, rect.h,
|
||||
clip->x, clip->y, clip->w, clip->h)) return;
|
||||
if (!NK_INTERSECT(rect.x, rect.y, rect.w, rect.h, clip->x, clip->y, clip->w, clip->h)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
cmd = (struct nk_command_rect_filled*)
|
||||
nk_command_buffer_push(b, NK_COMMAND_RECT_FILLED, sizeof(*cmd));
|
||||
if (!cmd) return;
|
||||
cmd = (struct nk_command_rect_filled*) nk_command_buffer_push(b, NK_COMMAND_RECT_FILLED, sizeof(*cmd));
|
||||
if (!cmd) {
|
||||
return;
|
||||
}
|
||||
cmd->rounding = (unsigned short)rounding;
|
||||
cmd->x = (short)rect.x;
|
||||
cmd->y = (short)rect.y;
|
||||
cmd->w = (unsigned short)NK_MAX(0, rect.w);
|
||||
cmd->h = (unsigned short)NK_MAX(0, rect.h);
|
||||
cmd->color = c;
|
||||
cmd->allowCache = allowCache;
|
||||
}
|
||||
NK_API void
|
||||
nk_fill_rect_multi_color(struct nk_command_buffer *b, struct nk_rect rect,
|
||||
|
@ -10755,7 +10761,7 @@ nk_panel_begin(struct nk_context *ctx, const char *title, enum nk_panel_type pan
|
|||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
text.background = background->data.color;
|
||||
nk_fill_rect(out, header, 0, background->data.color);
|
||||
nk_fill_rect(out, header, 0, background->data.color, true);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -10836,7 +10842,7 @@ nk_panel_begin(struct nk_context *ctx, const char *title, enum nk_panel_type pan
|
|||
// nk_draw_nine_slice(out, body, &style->window.fixed_background.data.slice, nk_white);
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(out, body, 0, style->window.fixed_background.data.color);
|
||||
nk_fill_rect(out, body, 0, style->window.fixed_background.data.color, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -10896,14 +10902,14 @@ nk_panel_end(struct nk_context *ctx)
|
|||
empty_space.y = layout->bounds.y;
|
||||
empty_space.h = panel_padding.y;
|
||||
empty_space.w = window->bounds.w;
|
||||
nk_fill_rect(out, empty_space, 0, style->window.background);
|
||||
nk_fill_rect(out, empty_space, 0, style->window.background, true);
|
||||
|
||||
/* fill left empty space */
|
||||
empty_space.x = window->bounds.x;
|
||||
empty_space.y = layout->bounds.y;
|
||||
empty_space.w = panel_padding.x + layout->border;
|
||||
empty_space.h = layout->bounds.h;
|
||||
nk_fill_rect(out, empty_space, 0, style->window.background);
|
||||
nk_fill_rect(out, empty_space, 0, style->window.background, true);
|
||||
|
||||
/* fill right empty space */
|
||||
empty_space.x = layout->bounds.x + layout->bounds.w;
|
||||
|
@ -10912,7 +10918,7 @@ nk_panel_end(struct nk_context *ctx)
|
|||
empty_space.h = layout->bounds.h;
|
||||
if (*layout->offset_y == 0 && !(layout->flags & NK_WINDOW_NO_SCROLLBAR))
|
||||
empty_space.w += scrollbar_size.x;
|
||||
nk_fill_rect(out, empty_space, 0, style->window.background);
|
||||
nk_fill_rect(out, empty_space, 0, style->window.background, true);
|
||||
|
||||
/* fill bottom empty space */
|
||||
if (layout->footer_height > 0) {
|
||||
|
@ -10920,7 +10926,7 @@ nk_panel_end(struct nk_context *ctx)
|
|||
empty_space.y = layout->bounds.y + layout->bounds.h;
|
||||
empty_space.w = window->bounds.w;
|
||||
empty_space.h = layout->footer_height;
|
||||
nk_fill_rect(out, empty_space, 0, style->window.background);
|
||||
nk_fill_rect(out, empty_space, 0, style->window.background, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -12709,7 +12715,7 @@ nk_panel_layout(const struct nk_context *ctx, struct nk_window *win,
|
|||
background.w = win->bounds.w;
|
||||
background.y = layout->at_y - 1;
|
||||
background.h = layout->row.height + 1;
|
||||
nk_fill_rect(out, background, 0, color);
|
||||
nk_fill_rect(out, background, 0, color, true);
|
||||
}
|
||||
}
|
||||
NK_LIB void
|
||||
|
@ -13422,9 +13428,9 @@ nk_tree_state_base(struct nk_context *ctx, enum nk_tree_type type,
|
|||
// nk_draw_nine_slice(out, header, &background->data.slice, nk_white);
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(out, header, 0, style->tab.border_color);
|
||||
nk_fill_rect(out, header, 0, style->tab.border_color, true);
|
||||
nk_fill_rect(out, nk_shrink_rect(header, style->tab.border),
|
||||
style->tab.rounding, background->data.color);
|
||||
style->tab.rounding, background->data.color, true);
|
||||
break;
|
||||
}
|
||||
} else text.background = style->window.background;
|
||||
|
@ -13605,9 +13611,9 @@ nk_tree_element_image_push_hashed_base(struct nk_context *ctx, enum nk_tree_type
|
|||
// nk_draw_nine_slice(out, header, &background->data.slice, nk_white);
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(out, header, 0, style->tab.border_color);
|
||||
nk_fill_rect(out, header, 0, style->tab.border_color, true);
|
||||
nk_fill_rect(out, nk_shrink_rect(header, style->tab.border),
|
||||
style->tab.rounding, background->data.color);
|
||||
style->tab.rounding, background->data.color, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -14301,6 +14307,7 @@ nk_widget_text(struct nk_command_buffer *o, struct nk_rect b,
|
|||
label.y = b.y + b.h - f->height;
|
||||
label.h = f->height;
|
||||
}
|
||||
|
||||
nk_draw_text(o, label, (const char*)string, len, f, t->background, t->text);
|
||||
}
|
||||
NK_LIB void
|
||||
|
@ -14824,9 +14831,9 @@ nk_draw_symbol(struct nk_command_buffer *out, enum nk_symbol_type type,
|
|||
case NK_SYMBOL_RECT_OUTLINE: {
|
||||
/* simple empty/filled shapes */
|
||||
if (type == NK_SYMBOL_RECT_SOLID || type == NK_SYMBOL_RECT_OUTLINE) {
|
||||
nk_fill_rect(out, content, 0, foreground);
|
||||
nk_fill_rect(out, content, 0, foreground, true);
|
||||
if (type == NK_SYMBOL_RECT_OUTLINE)
|
||||
nk_fill_rect(out, nk_shrink_rect(content, border_width), 0, background);
|
||||
nk_fill_rect(out, nk_shrink_rect(content, border_width), 0, background, true);
|
||||
} else {
|
||||
nk_fill_circle(out, content, foreground);
|
||||
if (type == NK_SYMBOL_CIRCLE_OUTLINE)
|
||||
|
@ -14898,7 +14905,7 @@ nk_draw_button(struct nk_command_buffer *out,
|
|||
// nk_draw_nine_slice(out, *bounds, &background->data.slice, nk_white);
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(out, *bounds, style->rounding, background->data.color);
|
||||
nk_fill_rect(out, *bounds, style->rounding, background->data.color, true);
|
||||
nk_stroke_rect(out, *bounds, style->rounding, style->border, style->border_color);
|
||||
break;
|
||||
}
|
||||
|
@ -15514,14 +15521,14 @@ nk_draw_checkbox(struct nk_command_buffer *out,
|
|||
|
||||
/* draw background and cursor */
|
||||
if (background->type == NK_STYLE_ITEM_COLOR) {
|
||||
nk_fill_rect(out, *selector, 0, style->border_color);
|
||||
nk_fill_rect(out, nk_shrink_rect(*selector, style->border), 0, background->data.color);
|
||||
nk_fill_rect(out, *selector, 0, style->border_color, true);
|
||||
nk_fill_rect(out, nk_shrink_rect(*selector, style->border), 0, background->data.color, true);
|
||||
}// } else nk_draw_image(out, *selector, &background->data.image, nk_white);
|
||||
if (active) {
|
||||
// if (cursor->type == NK_STYLE_ITEM_IMAGE)
|
||||
// // nk_draw_image(out, *cursors, &cursor->data.image, nk_white);
|
||||
// else
|
||||
nk_fill_rect(out, *cursors, 0, cursor->data.color);
|
||||
nk_fill_rect(out, *cursors, 0, cursor->data.color, true);
|
||||
}
|
||||
|
||||
text.padding.x = 0;
|
||||
|
@ -15841,7 +15848,7 @@ nk_draw_selectable(struct nk_command_buffer *out,
|
|||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
text.background = background->data.color;
|
||||
nk_fill_rect(out, *bounds, style->rounding, background->data.color);
|
||||
nk_fill_rect(out, *bounds, style->rounding, background->data.color, true);
|
||||
break;
|
||||
}
|
||||
if (icon) {
|
||||
|
@ -16218,14 +16225,14 @@ nk_draw_slider(struct nk_command_buffer *out, nk_flags state,
|
|||
// nk_draw_nine_slice(out, *bounds, &background->data.slice, nk_white);
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(out, *bounds, style->rounding, background->data.color);
|
||||
nk_fill_rect(out, *bounds, style->rounding, background->data.color, true);
|
||||
nk_stroke_rect(out, *bounds, style->rounding, style->border, style->border_color);
|
||||
break;
|
||||
}
|
||||
|
||||
/* draw slider bar */
|
||||
nk_fill_rect(out, bar, style->rounding, bar_color);
|
||||
nk_fill_rect(out, fill, style->rounding, style->bar_filled);
|
||||
nk_fill_rect(out, bar, style->rounding, bar_color, true);
|
||||
nk_fill_rect(out, fill, style->rounding, style->bar_filled, true);
|
||||
|
||||
/* draw cursor */
|
||||
// if (cursor->type == NK_STYLE_ITEM_IMAGE)
|
||||
|
@ -16434,7 +16441,7 @@ nk_draw_progress(struct nk_command_buffer *out, nk_flags state,
|
|||
// nk_draw_nine_slice(out, *bounds, &background->data.slice, nk_white);
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(out, *bounds, style->rounding, background->data.color);
|
||||
nk_fill_rect(out, *bounds, style->rounding, background->data.color, true);
|
||||
nk_stroke_rect(out, *bounds, style->rounding, style->border, style->border_color);
|
||||
break;
|
||||
}
|
||||
|
@ -16448,7 +16455,7 @@ nk_draw_progress(struct nk_command_buffer *out, nk_flags state,
|
|||
// nk_draw_nine_slice(out, *scursor, &cursor->data.slice, nk_white);
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(out, *scursor, style->rounding, cursor->data.color);
|
||||
nk_fill_rect(out, *scursor, style->rounding, cursor->data.color, true);
|
||||
nk_stroke_rect(out, *scursor, style->rounding, style->border, style->border_color);
|
||||
break;
|
||||
}
|
||||
|
@ -16627,11 +16634,11 @@ nk_draw_scrollbar(struct nk_command_buffer *out, nk_flags state,
|
|||
cursor = &style->cursor_normal;
|
||||
}
|
||||
|
||||
nk_fill_rect(out, *bounds, style->rounding, cursor->data.color);
|
||||
nk_fill_rect(out, *bounds, style->rounding, cursor->data.color, true);
|
||||
nk_stroke_rect(out, *bounds, style->rounding, style->border, style->border_color);
|
||||
|
||||
/* draw cursor */
|
||||
nk_fill_rect(out, *scroll, style->rounding_cursor, background->data.color);
|
||||
nk_fill_rect(out, *scroll, style->rounding_cursor, background->data.color, true);
|
||||
nk_stroke_rect(out, *scroll, style->rounding_cursor, style->border_cursor, style->cursor_border_color);
|
||||
}
|
||||
NK_LIB short
|
||||
|
@ -17960,7 +17967,7 @@ nk_edit_draw_text(struct nk_command_buffer *out,
|
|||
label.x += x_offset;
|
||||
|
||||
if (is_selected) /* selection needs to draw different background color */
|
||||
nk_fill_rect(out, label, 0, background);
|
||||
nk_fill_rect(out, label, 0, background, true);
|
||||
nk_widget_text(out, label, line, ((text + text_len) - line),
|
||||
&txt, NK_TEXT_CENTERED, font);
|
||||
|
||||
|
@ -17994,7 +18001,7 @@ nk_edit_draw_text(struct nk_command_buffer *out,
|
|||
label.x += x_offset;
|
||||
|
||||
if (is_selected)
|
||||
nk_fill_rect(out, label, 0, background);
|
||||
nk_fill_rect(out, label, 0, background, true);
|
||||
nk_widget_text(out, label, line, ((text + text_len) - line),
|
||||
&txt, NK_TEXT_LEFT, font);
|
||||
}}
|
||||
|
@ -18188,7 +18195,7 @@ nk_do_edit(nk_flags *state, struct nk_command_buffer *out,
|
|||
// nk_draw_nine_slice(out, bounds, &background->data.slice, nk_white);
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(out, bounds, style->rounding, background->data.color);
|
||||
nk_fill_rect(out, bounds, style->rounding, background->data.color, true);
|
||||
nk_stroke_rect(out, bounds, style->rounding, style->border, style->border_color);
|
||||
break;
|
||||
}}
|
||||
|
@ -18368,8 +18375,18 @@ nk_do_edit(nk_flags *state, struct nk_command_buffer *out,
|
|||
struct nk_color cursor_color;
|
||||
struct nk_color cursor_text_color;
|
||||
const struct nk_style_item *background;
|
||||
clip.w = area.w;
|
||||
|
||||
nk_push_scissor(out, clip);
|
||||
|
||||
// this is meant to fix text boxes when scrolling to the right when typing long text
|
||||
struct nk_rect whiteTextarea;
|
||||
whiteTextarea.x = clip.x + line_width - edit->scrollbar.x;
|
||||
whiteTextarea.y = clip.y;
|
||||
whiteTextarea.h = clip.h;
|
||||
whiteTextarea.w = line_width - (line_width - edit->scrollbar.x);
|
||||
nk_fill_rect(out, whiteTextarea, style->rounding, nk_rgba(255,255,255,255), false);
|
||||
|
||||
/* select correct colors to draw */
|
||||
if (*state & NK_WIDGET_STATE_ACTIVED) {
|
||||
background = &style->active;
|
||||
|
@ -18403,6 +18420,12 @@ nk_do_edit(nk_flags *state, struct nk_command_buffer *out,
|
|||
/* no selection so just draw the complete text */
|
||||
const char *begin = nk_str_get_const(&edit->string);
|
||||
short l = nk_str_len_char(&edit->string);
|
||||
|
||||
// (struct nk_command_buffer *out,
|
||||
// const struct nk_style_edit *style, short pos_x, short pos_y,
|
||||
// short x_offset, const char *text, short byte_len, short row_height,
|
||||
// const struct nk_user_font *font, struct nk_color background,
|
||||
// struct nk_color foreground, nk_bool is_selected)
|
||||
nk_edit_draw_text(out, style, area.x - edit->scrollbar.x,
|
||||
area.y - edit->scrollbar.y, 0, begin, l, row_height, font,
|
||||
background_color, text_color, nk_false);
|
||||
|
@ -18459,7 +18482,14 @@ nk_do_edit(nk_flags *state, struct nk_command_buffer *out,
|
|||
cursor.x = area.x + cursor_pos.x - edit->scrollbar.x;
|
||||
cursor.y = area.y + cursor_pos.y + row_height/2 - cursor.h/2;
|
||||
cursor.y -= edit->scrollbar.y;
|
||||
nk_fill_rect(out, cursor, 0, cursor_color);
|
||||
nk_fill_rect(out, cursor, 0, cursor_color, true);
|
||||
|
||||
struct nk_rect whiteTextarea2;
|
||||
whiteTextarea2.x = cursor.x + cursor.w;
|
||||
whiteTextarea2.y = cursor.y - 2;
|
||||
whiteTextarea2.h = cursor.h + 6;
|
||||
whiteTextarea2.w = cursor.w * 2;
|
||||
nk_fill_rect(out, whiteTextarea2, 0, nk_rgba(255,255,255,255), false);
|
||||
} else {
|
||||
/* draw cursor inside text */
|
||||
short glyph_len;
|
||||
|
@ -18478,7 +18508,15 @@ nk_do_edit(nk_flags *state, struct nk_command_buffer *out,
|
|||
txt.padding = nk_vec2(0,0);
|
||||
txt.background = cursor_color;;
|
||||
txt.text = cursor_text_color;
|
||||
nk_fill_rect(out, label, 0, cursor_color);
|
||||
nk_fill_rect(out, label, 0, cursor_color, true);
|
||||
|
||||
struct nk_rect whiteTextarea2;
|
||||
whiteTextarea2.x = label.x + label.w;
|
||||
whiteTextarea2.y = label.y - 2;
|
||||
whiteTextarea2.h = label.h + 6;
|
||||
whiteTextarea2.w = label.w;
|
||||
nk_fill_rect(out, whiteTextarea2, 0, nk_rgba(255,255,255,255), false);
|
||||
|
||||
nk_widget_text(out, label, cursor_ptr, glyph_len, &txt, NK_TEXT_LEFT, font);
|
||||
}
|
||||
}}
|
||||
|
@ -18761,7 +18799,7 @@ nk_draw_property(struct nk_command_buffer *out, const struct nk_style_property *
|
|||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
text.background = background->data.color;
|
||||
nk_fill_rect(out, *bounds, style->rounding, background->data.color);
|
||||
nk_fill_rect(out, *bounds, style->rounding, background->data.color, true);
|
||||
nk_stroke_rect(out, *bounds, style->rounding, style->border, background->data.color);
|
||||
break;
|
||||
}
|
||||
|
@ -19127,9 +19165,8 @@ nk_chart_begin_colored(struct nk_context *ctx, enum nk_chart_type type,
|
|||
// nk_draw_nine_slice(&win->buffer, bounds, &background->data.slice, nk_white);
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(&win->buffer, bounds, style->rounding, style->border_color);
|
||||
nk_fill_rect(&win->buffer, nk_shrink_rect(bounds, style->border),
|
||||
style->rounding, style->background.data.color);
|
||||
nk_fill_rect(&win->buffer, bounds, style->rounding, style->border_color, true);
|
||||
nk_fill_rect(&win->buffer, nk_shrink_rect(bounds, style->border), style->rounding, style->background.data.color, true);
|
||||
break;
|
||||
}
|
||||
return 1;
|
||||
|
@ -19209,7 +19246,7 @@ nk_chart_push_line(struct nk_context *ctx, struct nk_window *win,
|
|||
i->mouse.buttons[NK_BUTTON_LEFT].clicked) ? NK_CHART_CLICKED: 0;
|
||||
color = g->slots[slot].highlight;
|
||||
}
|
||||
nk_fill_rect(out, bounds, 0, color);
|
||||
nk_fill_rect(out, bounds, 0, color, true);
|
||||
g->slots[slot].index += 1;
|
||||
return ret;
|
||||
}
|
||||
|
@ -19233,7 +19270,7 @@ nk_chart_push_line(struct nk_context *ctx, struct nk_window *win,
|
|||
color = g->slots[slot].highlight;
|
||||
}
|
||||
}
|
||||
nk_fill_rect(out, nk_rect(cur.x - 2, cur.y - 2, 4, 4), 0, color);
|
||||
nk_fill_rect(out, nk_rect(cur.x - 2, cur.y - 2, 4, 4), 0, color, true);
|
||||
|
||||
/* save current data point position */
|
||||
g->slots[slot].last.x = cur.x;
|
||||
|
@ -19283,7 +19320,7 @@ nk_chart_push_column(const struct nk_context *ctx, struct nk_window *win,
|
|||
in->mouse.buttons[NK_BUTTON_LEFT].clicked) ? NK_CHART_CLICKED: 0;
|
||||
color = chart->slots[slot].highlight;
|
||||
}
|
||||
nk_fill_rect(out, item, 0, color);
|
||||
nk_fill_rect(out, item, 0, color, true);
|
||||
chart->slots[slot].index += 1;
|
||||
return ret;
|
||||
}
|
||||
|
@ -19684,7 +19721,7 @@ nk_combo_begin_text(struct nk_context *ctx, const char *selected, short len,
|
|||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
text.background = background->data.color;
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color);
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color, true);
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, style->combo.border_color);
|
||||
break;
|
||||
}
|
||||
|
@ -19784,7 +19821,7 @@ nk_combo_begin_color(struct nk_context *ctx, struct nk_color color, struct nk_ve
|
|||
// nk_draw_nine_slice(&win->buffer, header, &background->data.slice, nk_white);
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color);
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color, true);
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, style->combo.border_color);
|
||||
break;
|
||||
}
|
||||
|
@ -19823,7 +19860,7 @@ nk_combo_begin_color(struct nk_context *ctx, struct nk_color color, struct nk_ve
|
|||
bounds.w = (button.x - (style->combo.content_padding.x + style->combo.spacing.x)) - bounds.x;
|
||||
else
|
||||
bounds.w = header.w - 4 * style->combo.content_padding.x;
|
||||
nk_fill_rect(&win->buffer, bounds, 0, color);
|
||||
nk_fill_rect(&win->buffer, bounds, 0, color, true);
|
||||
|
||||
/* draw open/close button */
|
||||
if (draw_button_symbol)
|
||||
|
@ -19885,7 +19922,7 @@ nk_combo_begin_symbol(struct nk_context *ctx, enum nk_symbol_type symbol, struct
|
|||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
sym_background = background->data.color;
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color);
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color, true);
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, style->combo.border_color);
|
||||
break;
|
||||
}
|
||||
|
@ -19982,7 +20019,7 @@ nk_combo_begin_symbol_text(struct nk_context *ctx, const char *selected, short l
|
|||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
text.background = background->data.color;
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color);
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color, true);
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, style->combo.border_color);
|
||||
break;
|
||||
}
|
||||
|
@ -20073,7 +20110,7 @@ nk_combo_begin_image(struct nk_context *ctx, struct nk_image img, struct nk_vec2
|
|||
// nk_draw_nine_slice(&win->buffer, header, &background->data.slice, nk_white);
|
||||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color);
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color, true);
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, style->combo.border_color);
|
||||
break;
|
||||
}
|
||||
|
@ -20173,7 +20210,7 @@ nk_combo_begin_image_text(struct nk_context *ctx, const char *selected, short le
|
|||
break;
|
||||
case NK_STYLE_ITEM_COLOR:
|
||||
text.background = background->data.color;
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color);
|
||||
nk_fill_rect(&win->buffer, header, style->combo.rounding, background->data.color, true);
|
||||
nk_stroke_rect(&win->buffer, header, style->combo.rounding, style->combo.border, style->combo.border_color);
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -5,8 +5,6 @@
|
|||
// - get new messages in other chats and display some sort of alert
|
||||
// - need timeout on serial messages in case the computer at the other end dies (prevent hard reset)
|
||||
// - delete doesnt work right (leaves characters at end of string)
|
||||
// - move app-specific code to distinct file
|
||||
// - 1 too many lines in the chat -- just reduce line spacing a bit
|
||||
|
||||
#define WINDOW_WIDTH 510
|
||||
#define WINDOW_HEIGHT 302
|
||||
|
@ -70,7 +68,9 @@ 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;
|
||||
struct nuklear_context *ctx;
|
||||
struct nk_context *ctx;
|
||||
|
||||
void refreshNuklearApp(Boolean blankInput);
|
||||
|
||||
void getMessagesFromjsFunctionResponse() {
|
||||
|
||||
|
@ -171,6 +171,7 @@ void getHasNewMessagesInChat(char *thread) {
|
|||
|
||||
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() {
|
||||
|
|
|
@ -24,6 +24,11 @@
|
|||
#include <Serial.h>
|
||||
#include "SerialHelper.h"
|
||||
|
||||
#define ENABLED_DOUBLE_BUFFERING
|
||||
#define COMMAND_CACHING
|
||||
|
||||
Boolean lastInputWasBackspace;
|
||||
|
||||
typedef struct NkQuickDrawFont NkQuickDrawFont;
|
||||
NK_API struct nk_context* nk_quickdraw_init(unsigned int width, unsigned int height);
|
||||
NK_API int nk_quickdraw_handle_event(EventRecord *event, struct nk_context *nuklear_context);
|
||||
|
@ -85,12 +90,9 @@ typedef struct {
|
|||
long RowBytes;
|
||||
GrafPtr bits;
|
||||
Rect bounds;
|
||||
|
||||
BitMap BWBits;
|
||||
GrafPort BWPort;
|
||||
|
||||
Handle OrigBits;
|
||||
|
||||
} ShockBitmap;
|
||||
|
||||
void NewShockBitmap(ShockBitmap *theMap, short width, short height) {
|
||||
|
@ -115,7 +117,6 @@ void NewShockBitmap(ShockBitmap *theMap, short width, short height) {
|
|||
theMap->Address = theMap->BWBits.baseAddr;
|
||||
theMap->RowBytes = (long) theMap->BWBits.rowBytes;
|
||||
theMap->bits = (GrafPtr) &theMap->BWPort;
|
||||
|
||||
}
|
||||
|
||||
ShockBitmap gMainOffScreen;
|
||||
|
@ -423,8 +424,6 @@ static int _get_text_width(const char *text, int len) {
|
|||
return width;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int nk_color_to_quickdraw_bw_color(struct nk_color color) {
|
||||
|
||||
// TODO: since we are operating under a b&w display - we need to convert these colors to black and white
|
||||
|
@ -434,7 +433,7 @@ static int nk_color_to_quickdraw_bw_color(struct nk_color color) {
|
|||
// if (red*0.299 + green*0.587 + blue*0.114) > 186 use #000000 else use #ffffff
|
||||
// return al_map_rgba((unsigned char)color.r, (unsigned char)color.g, (unsigned char)color.b, (unsigned char)color.a);
|
||||
|
||||
float magicColorNumber = color.r * 0.299 + color.g * 0.587 + color.b * 0.114;
|
||||
short magicColorNumber = color.r / 3 + color.g / 2 + color.b / 10;
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
|
||||
|
@ -457,10 +456,7 @@ static Pattern nk_color_to_quickdraw_color(struct nk_color color) {
|
|||
// as a future upgrade, we could support color quickdraw
|
||||
// using an algorithm from https://stackoverflow.com/questions/3942878/how-to-decide-font-color-in-white-or-black-depending-on-background-color
|
||||
// if (red*0.299 + green*0.587 + blue*0.114) > 186 use #000000 else use #ffffff
|
||||
uint8_t red;
|
||||
uint8_t blue;
|
||||
uint8_t green;
|
||||
float magicColorNumber = color.r * 0.299 + color.g * 0.587 + color.b * 0.114;
|
||||
short magicColorNumber = color.r / 3 + color.g / 2 + color.b / 10;
|
||||
|
||||
if (magicColorNumber > 150) {
|
||||
|
||||
|
@ -495,30 +491,40 @@ NK_API NkQuickDrawFont* nk_quickdraw_font_create_from_file() {
|
|||
return font;
|
||||
}
|
||||
|
||||
NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
||||
|
||||
void *cmds = nk_buffer_memory(&ctx->memory);
|
||||
|
||||
// do not render if the buffer did not change from the previous rendering run
|
||||
if (!memcmp(cmds, last, ctx->memory.allocated)) {
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
|
||||
writeSerialPortDebug(boutRefNum, "NK_COMMAND_NOP");
|
||||
#ifdef COMMAND_CACHING
|
||||
const struct nk_command *lastCmd;
|
||||
#endif
|
||||
|
||||
return;
|
||||
// used for bounds checking
|
||||
int mostLeft;// = 1;
|
||||
int mostBottom;// = 1;
|
||||
int mostTop;// = WINDOW_HEIGHT;
|
||||
int mostRight;// = WINDOW_WIDTH;
|
||||
|
||||
void updateBounds(int top, int bottom, int left, int right) {
|
||||
|
||||
if (left < mostLeft) {
|
||||
|
||||
mostLeft = left;
|
||||
}
|
||||
|
||||
memcpy(last, cmds, ctx->memory.allocated);
|
||||
if (right > mostRight) {
|
||||
|
||||
const struct nk_command *cmd = 0;
|
||||
mostRight = right;
|
||||
}
|
||||
|
||||
OpenPort(&gMainOffScreen.BWPort);
|
||||
SetPort(&gMainOffScreen.BWPort);
|
||||
SetPortBits(&gMainOffScreen.BWBits);
|
||||
if (top < mostTop) {
|
||||
|
||||
nk_foreach(cmd, ctx) {
|
||||
mostTop = top;
|
||||
}
|
||||
|
||||
if (bottom > mostBottom) {
|
||||
|
||||
mostBottom = bottom;
|
||||
}
|
||||
}
|
||||
|
||||
void runDrawCommand(const struct nk_command *cmd) {
|
||||
|
||||
int color;
|
||||
|
||||
|
@ -541,12 +547,33 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
|
||||
const struct nk_command_scissor *s =(const struct nk_command_scissor*)cmd;
|
||||
|
||||
// there is no point in supressing scissor commands because they only affect
|
||||
// where we can actually draw to:
|
||||
// #ifdef COMMAND_CACHING
|
||||
// if (memcmp(s, lastCmd, sizeof(struct nk_command_scissor)) == 0) {
|
||||
|
||||
// #ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
// writeSerialPortDebug(boutRefNum, "ALREADY DREW CMD nk_command_scissor");
|
||||
// #endif
|
||||
|
||||
// break;
|
||||
// }
|
||||
// #endif
|
||||
|
||||
Rect quickDrawRectangle;
|
||||
quickDrawRectangle.top = (int)s->y;
|
||||
quickDrawRectangle.left = (int)s->x;
|
||||
quickDrawRectangle.bottom = (int)s->y + (int)s->h;
|
||||
quickDrawRectangle.right = (int)s->x + (int)s->w;
|
||||
|
||||
#ifdef ENABLED_DOUBLE_BUFFERING
|
||||
// we use "-8192" here to filter out nuklear "nk_null_rect" which we do not want updating bounds
|
||||
if (quickDrawRectangle.top != -8192) {
|
||||
|
||||
updateBounds(quickDrawRectangle.top, quickDrawRectangle.bottom, quickDrawRectangle.left, quickDrawRectangle.right);
|
||||
}
|
||||
#endif
|
||||
|
||||
ClipRect(&quickDrawRectangle);
|
||||
}
|
||||
|
||||
|
@ -560,6 +587,18 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
|
||||
const struct nk_command_line *l = (const struct nk_command_line *)cmd;
|
||||
|
||||
#ifdef COMMAND_CACHING
|
||||
|
||||
if (memcmp(l, lastCmd, sizeof(struct nk_command_line)) == 0) {
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
writeSerialPortDebug(boutRefNum, "ALREADY DREW CMD nk_command_line");
|
||||
#endif
|
||||
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
color = nk_color_to_quickdraw_bw_color(l->color);
|
||||
// great reference: http://mirror.informatimago.com/next/developer.apple.com/documentation/mac/QuickDraw/QuickDraw-60.html
|
||||
ForeColor(color);
|
||||
|
@ -571,7 +610,6 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
break;
|
||||
case NK_COMMAND_RECT: {
|
||||
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
|
||||
writeSerialPortDebug(boutRefNum, "NK_COMMAND_RECT");
|
||||
|
@ -581,6 +619,17 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
// http://mirror.informatimago.com/next/developer.apple.com/documentation/mac/QuickDraw/QuickDraw-103.html#HEADING103-0
|
||||
const struct nk_command_rect *r = (const struct nk_command_rect *)cmd;
|
||||
|
||||
#ifdef COMMAND_CACHING
|
||||
if (memcmp(r, lastCmd, sizeof(struct nk_command_rect)) == 0) {
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
writeSerialPortDebug(boutRefNum, "ALREADY DREW CMD nk_command_rect");
|
||||
#endif
|
||||
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
color = nk_color_to_quickdraw_bw_color(r->color);
|
||||
|
||||
ForeColor(color);
|
||||
|
@ -592,6 +641,10 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
quickDrawRectangle.bottom = (int)r->y + (int)r->h;
|
||||
quickDrawRectangle.right = (int)r->x + (int)r->w;
|
||||
|
||||
#ifdef ENABLED_DOUBLE_BUFFERING
|
||||
updateBounds(quickDrawRectangle.top, quickDrawRectangle.bottom, quickDrawRectangle.left, quickDrawRectangle.right);
|
||||
#endif
|
||||
|
||||
FrameRoundRect(&quickDrawRectangle, (float)r->rounding, (float)r->rounding);
|
||||
}
|
||||
|
||||
|
@ -605,6 +658,34 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
|
||||
const struct nk_command_rect_filled *r = (const struct nk_command_rect_filled *)cmd;
|
||||
|
||||
if (r->allowCache == false) {
|
||||
|
||||
Rect quickDrawRectangle;
|
||||
quickDrawRectangle.top = (int)r->y;
|
||||
quickDrawRectangle.left = (int)r->x;
|
||||
quickDrawRectangle.bottom = (int)r->y + (int)r->h;
|
||||
quickDrawRectangle.right = (int)r->x + (int)r->w;
|
||||
|
||||
#ifdef ENABLED_DOUBLE_BUFFERING
|
||||
updateBounds(quickDrawRectangle.top, quickDrawRectangle.bottom, quickDrawRectangle.left, quickDrawRectangle.right);
|
||||
#endif
|
||||
|
||||
FillRoundRect(&quickDrawRectangle, (float)r->rounding, (float)r->rounding, &qd.white);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
#ifdef COMMAND_CACHING
|
||||
if (memcmp(r, lastCmd, sizeof(struct nk_command_rect_filled)) == 0) {
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
writeSerialPortDebug(boutRefNum, "ALREADY DREW CMD nk_command_rect_filled");
|
||||
#endif
|
||||
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
color = nk_color_to_quickdraw_bw_color(r->color);
|
||||
|
||||
ForeColor(color);
|
||||
|
@ -619,6 +700,10 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
quickDrawRectangle.bottom = (int)r->y + (int)r->h;
|
||||
quickDrawRectangle.right = (int)r->x + (int)r->w;
|
||||
|
||||
#ifdef ENABLED_DOUBLE_BUFFERING
|
||||
updateBounds(quickDrawRectangle.top, quickDrawRectangle.bottom, quickDrawRectangle.left, quickDrawRectangle.right);
|
||||
#endif
|
||||
|
||||
FillRoundRect(&quickDrawRectangle, (float)r->rounding, (float)r->rounding, &colorPattern);
|
||||
FrameRoundRect(&quickDrawRectangle, (float)r->rounding, (float)r->rounding); // http://mirror.informatimago.com/next/developer.apple.com/documentation/mac/QuickDraw/QuickDraw-105.html#HEADING105-0
|
||||
}
|
||||
|
@ -633,6 +718,17 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
|
||||
const struct nk_command_circle *c = (const struct nk_command_circle *)cmd;
|
||||
|
||||
#ifdef COMMAND_CACHING
|
||||
if (memcmp(c, lastCmd, sizeof(struct nk_command_circle)) == 0) {
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
writeSerialPortDebug(boutRefNum, "ALREADY DREW CMD nk_command_circle");
|
||||
#endif
|
||||
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
color = nk_color_to_quickdraw_bw_color(c->color);
|
||||
|
||||
ForeColor(color);
|
||||
|
@ -642,6 +738,10 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
quickDrawRectangle.bottom = (int)c->y + (int)c->h;
|
||||
quickDrawRectangle.right = (int)c->x + (int)c->w;
|
||||
|
||||
#ifdef ENABLED_DOUBLE_BUFFERING
|
||||
updateBounds(quickDrawRectangle.top, quickDrawRectangle.bottom, quickDrawRectangle.left, quickDrawRectangle.right);
|
||||
#endif
|
||||
|
||||
FrameOval(&quickDrawRectangle); // An oval is a circular or elliptical shape defined by the bounding rectangle that encloses it. inside macintosh: imaging with quickdraw 3-25
|
||||
}
|
||||
|
||||
|
@ -655,6 +755,17 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
|
||||
const struct nk_command_circle_filled *c = (const struct nk_command_circle_filled *)cmd;
|
||||
|
||||
#ifdef COMMAND_CACHING
|
||||
if (memcmp(c, lastCmd, sizeof(struct nk_command_circle_filled)) == 0) {
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
writeSerialPortDebug(boutRefNum, "ALREADY DREW CMD nk_command_circle_filled");
|
||||
#endif
|
||||
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
color = nk_color_to_quickdraw_bw_color(c->color);
|
||||
|
||||
ForeColor(color);
|
||||
|
@ -667,6 +778,10 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
quickDrawRectangle.bottom = (int)c->y + (int)c->h;
|
||||
quickDrawRectangle.right = (int)c->x + (int)c->w;
|
||||
|
||||
#ifdef ENABLED_DOUBLE_BUFFERING
|
||||
updateBounds(quickDrawRectangle.top, quickDrawRectangle.bottom, quickDrawRectangle.left, quickDrawRectangle.right);
|
||||
#endif
|
||||
|
||||
FillOval(&quickDrawRectangle, &colorPattern);
|
||||
FrameOval(&quickDrawRectangle);// An oval is a circular or elliptical shape defined by the bounding rectangle that encloses it. inside macintosh: imaging with quickdraw 3-25
|
||||
// http://mirror.informatimago.com/next/developer.apple.com/documentation/mac/QuickDraw/QuickDraw-111.html#HEADING111-0
|
||||
|
@ -681,6 +796,18 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
#endif
|
||||
|
||||
const struct nk_command_triangle *t = (const struct nk_command_triangle*)cmd;
|
||||
|
||||
#ifdef COMMAND_CACHING
|
||||
if (memcmp(t, lastCmd, sizeof(struct nk_command_triangle)) == 0) {
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
writeSerialPortDebug(boutRefNum, "ALREADY DREW CMD nk_command_triangle");
|
||||
#endif
|
||||
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
color = nk_color_to_quickdraw_bw_color(t->color);
|
||||
|
||||
ForeColor(color);
|
||||
|
@ -695,13 +822,24 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
break;
|
||||
case NK_COMMAND_TRIANGLE_FILLED: {
|
||||
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
|
||||
writeSerialPortDebug(boutRefNum, "NK_COMMAND_TRIANGLE_FILLED");
|
||||
#endif
|
||||
|
||||
const struct nk_command_triangle_filled *t = (const struct nk_command_triangle_filled *)cmd;
|
||||
|
||||
#ifdef COMMAND_CACHING
|
||||
if (memcmp(t, lastCmd, sizeof(struct nk_command_triangle_filled)) == 0) {
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
writeSerialPortDebug(boutRefNum, "ALREADY DREW CMD nk_command_triangle_filled");
|
||||
#endif
|
||||
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
Pattern colorPattern = nk_color_to_quickdraw_color(t->color);
|
||||
color = nk_color_to_quickdraw_bw_color(t->color);
|
||||
PenSize(1.0, 1.0);
|
||||
|
@ -729,6 +867,17 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
|
||||
const struct nk_command_polygon *p = (const struct nk_command_polygon*)cmd;
|
||||
|
||||
#ifdef COMMAND_CACHING
|
||||
if (memcmp(p, lastCmd, sizeof(struct nk_command_polygon)) == 0) {
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
writeSerialPortDebug(boutRefNum, "ALREADY DREW CMD nk_command_polygon");
|
||||
#endif
|
||||
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
color = nk_color_to_quickdraw_bw_color(p->color);
|
||||
ForeColor(color);
|
||||
int i;
|
||||
|
@ -752,7 +901,6 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
break;
|
||||
case NK_COMMAND_POLYGON_FILLED: {
|
||||
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
|
||||
writeSerialPortDebug(boutRefNum, "NK_COMMAND_POLYGON_FILLED");
|
||||
|
@ -760,6 +908,17 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
|
||||
const struct nk_command_polygon *p = (const struct nk_command_polygon*)cmd;
|
||||
|
||||
#ifdef COMMAND_CACHING
|
||||
if (memcmp(p, lastCmd, sizeof(struct nk_command_polygon)) == 0) {
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
writeSerialPortDebug(boutRefNum, "ALREADY DREW CMD nk_command_polygon");
|
||||
#endif
|
||||
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
Pattern colorPattern = nk_color_to_quickdraw_color(p->color);
|
||||
color = nk_color_to_quickdraw_bw_color(p->color);
|
||||
// BackPat(&colorPattern); // inside macintosh: imaging with quickdraw 3-48 -- but might actually need PenPat -- look into this
|
||||
|
@ -778,7 +937,6 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
|
||||
if (i == p->point_count - 1) {
|
||||
|
||||
|
||||
LineTo(p->points[0].x, p->points[0].y);
|
||||
}
|
||||
}
|
||||
|
@ -801,6 +959,17 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
// check out the slight difference in the for loop
|
||||
const struct nk_command_polygon *p = (const struct nk_command_polygon*)cmd;
|
||||
|
||||
#ifdef COMMAND_CACHING
|
||||
if (memcmp(p, lastCmd, sizeof(struct nk_command_polygon)) == 0) {
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
writeSerialPortDebug(boutRefNum, "ALREADY DREW CMD nk_command_polygon");
|
||||
#endif
|
||||
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
color = nk_color_to_quickdraw_bw_color(p->color);
|
||||
ForeColor(color);
|
||||
int i;
|
||||
|
@ -821,6 +990,17 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
|
||||
const struct nk_command_text *t = (const struct nk_command_text*)cmd;
|
||||
|
||||
#ifdef COMMAND_CACHING
|
||||
if (memcmp(t, lastCmd, sizeof(struct nk_command_text)) == 0) {
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
writeSerialPortDebug(boutRefNum, "ALREADY DREW CMD nk_command_text");
|
||||
#endif
|
||||
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
|
||||
writeSerialPortDebug(boutRefNum, "NK_COMMAND_TEXT");
|
||||
|
@ -829,6 +1009,25 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
writeSerialPortDebug(boutRefNum, log);
|
||||
#endif
|
||||
|
||||
Rect quickDrawRectangle;
|
||||
quickDrawRectangle.top = (int)t->y;
|
||||
quickDrawRectangle.left = (int)t->x;
|
||||
quickDrawRectangle.bottom = (int)t->y + 15;
|
||||
quickDrawRectangle.right = (int)t->x + _get_text_width((const char*)t->string, (int)t->length);
|
||||
|
||||
// #ifdef COMMAND_CACHING
|
||||
// if (lastInputWasBackspace) {
|
||||
|
||||
// quickDrawRectangle.right += 20;
|
||||
// }
|
||||
// #endif
|
||||
|
||||
#ifdef ENABLED_DOUBLE_BUFFERING
|
||||
updateBounds(quickDrawRectangle.top, quickDrawRectangle.bottom, quickDrawRectangle.left, quickDrawRectangle.right);
|
||||
#endif
|
||||
|
||||
EraseRect(&quickDrawRectangle);
|
||||
|
||||
color = nk_color_to_quickdraw_bw_color(t->foreground);
|
||||
ForeColor(color);
|
||||
MoveTo((int)t->x, (int)t->y + (int)t->height);
|
||||
|
@ -926,13 +1125,131 @@ NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
|||
#endif
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
NK_API void nk_quickdraw_render(WindowPtr window, struct nk_context *ctx) {
|
||||
|
||||
#ifdef PROFILING
|
||||
PROFILE_START("IN nk_quickdraw_render");
|
||||
#endif
|
||||
|
||||
#ifdef PROFILING
|
||||
PROFILE_START("get cmds and memcmp them");
|
||||
#endif
|
||||
|
||||
void *cmds = nk_buffer_memory(&ctx->memory);
|
||||
|
||||
// do not render if the buffer did not change from the previous rendering run
|
||||
if (!memcmp(cmds, last, ctx->memory.allocated)) {
|
||||
|
||||
#ifdef NK_QUICKDRAW_GRAPHICS_DEBUGGING
|
||||
|
||||
writeSerialPortDebug(boutRefNum, "NK_COMMAND_NOP");
|
||||
#endif
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef PROFILING
|
||||
PROFILE_END("get cmds and memcmp them");
|
||||
#endif
|
||||
|
||||
const struct nk_command *cmd = 0;
|
||||
|
||||
#ifdef ENABLED_DOUBLE_BUFFERING
|
||||
OpenPort(&gMainOffScreen.BWPort);
|
||||
SetPort(&gMainOffScreen.BWPort);
|
||||
SetPortBits(&gMainOffScreen.BWBits);
|
||||
#endif
|
||||
|
||||
#ifdef PROFILING
|
||||
PROFILE_START("rendering loop and switch");
|
||||
#endif
|
||||
|
||||
short iterations = 0;
|
||||
|
||||
#ifdef COMMAND_CACHING
|
||||
lastCmd = nk_ptr_add_const(struct nk_command, last, 0);
|
||||
#endif
|
||||
|
||||
nk_foreach(cmd, ctx) {
|
||||
|
||||
runDrawCommand(cmd);
|
||||
|
||||
#ifdef COMMAND_CACHING
|
||||
if (lastCmd->next < ctx->memory.allocated) {
|
||||
lastCmd = nk_ptr_add_const(struct nk_command, last, lastCmd->next);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef PROFILING
|
||||
PROFILE_START("memcpy commands");
|
||||
#endif
|
||||
|
||||
memcpy(last, cmds, ctx->memory.allocated);
|
||||
|
||||
#ifdef PROFILING
|
||||
PROFILE_END("memcpy commands");
|
||||
#endif
|
||||
|
||||
#ifdef PROFILING
|
||||
PROFILE_END("rendering loop and switch");
|
||||
#endif
|
||||
|
||||
#ifdef COMMAND_CACHING
|
||||
lastInputWasBackspace = false;
|
||||
#endif
|
||||
|
||||
#ifdef ENABLED_DOUBLE_BUFFERING
|
||||
|
||||
#ifdef PROFILING
|
||||
PROFILE_START("copy bits");
|
||||
#endif
|
||||
|
||||
SetPort(window);
|
||||
|
||||
/*
|
||||
PROCEDURE CopyBits (srcBits,dstBits: BitMap;
|
||||
srcRect,dstRect:ðRect; mode:ðInteger;
|
||||
maskRgn:ðRgnHandle);
|
||||
srcBits
|
||||
The source BitMap record.
|
||||
dstBits
|
||||
The destination BitMap record.
|
||||
srcRect
|
||||
The source rectangle.
|
||||
dstRect
|
||||
The destination rectangle.
|
||||
mode
|
||||
One of the eight source modes in which the copy is to be performed.
|
||||
maskRgn
|
||||
A region to use as a clipping mask.
|
||||
*/
|
||||
// our offscreen bitmap is the same size as our port rectangle, so we
|
||||
// get away with using the portRect sizing for source and destination
|
||||
CopyBits(&gMainOffScreen.bits->portBits, &window->portBits, &window->portRect, &window->portRect, srcCopy, 0L);
|
||||
Rect quickDrawRectangle;
|
||||
quickDrawRectangle.top = mostTop;
|
||||
quickDrawRectangle.left = mostLeft;
|
||||
quickDrawRectangle.bottom = mostBottom;
|
||||
quickDrawRectangle.right = mostRight;
|
||||
|
||||
CopyBits(&gMainOffScreen.bits->portBits, &window->portBits, &quickDrawRectangle, &quickDrawRectangle, srcCopy, 0L);
|
||||
|
||||
mostLeft = 1;
|
||||
mostBottom = 1;
|
||||
mostTop = WINDOW_HEIGHT;
|
||||
mostRight = WINDOW_WIDTH;
|
||||
|
||||
#ifdef PROFILING
|
||||
PROFILE_END("copy bits");
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef PROFILING
|
||||
PROFILE_END("IN nk_quickdraw_render");
|
||||
#endif
|
||||
}
|
||||
|
||||
NK_API int nk_quickdraw_handle_event(EventRecord *event, struct nk_context *nuklear_context) {
|
||||
|
@ -1107,6 +1424,9 @@ NK_API int nk_quickdraw_handle_event(EventRecord *event, struct nk_context *nukl
|
|||
nk_input_key(nuklear_context, NK_KEY_DOWN, isKeyDown);
|
||||
} else if (key == backspaceKey) {
|
||||
|
||||
#ifdef COMMAND_CACHING
|
||||
lastInputWasBackspace = true;
|
||||
#endif
|
||||
nk_input_key(nuklear_context, NK_KEY_BACKSPACE, isKeyDown);
|
||||
} else if (key == escapeKey) {
|
||||
|
||||
|
@ -1177,7 +1497,13 @@ NK_API struct nk_context* nk_quickdraw_init(unsigned int width, unsigned int hei
|
|||
// needed to calculate bezier info, see mactech article.
|
||||
setupBezier();
|
||||
|
||||
#ifdef ENABLED_DOUBLE_BUFFERING
|
||||
NewShockBitmap(&gMainOffScreen, width, height);
|
||||
#else
|
||||
TextFont(0);
|
||||
TextSize(12);
|
||||
TextFace(0);
|
||||
#endif
|
||||
|
||||
NkQuickDrawFont *quickdrawfont = nk_quickdraw_font_create_from_file();
|
||||
struct nk_user_font *font = &quickdrawfont->nk;
|
||||
|
|
Loading…
Reference in New Issue