From 35d2b4bb766a79eb22b5a4a80e0c8fe58e40a08c Mon Sep 17 00:00:00 2001 From: IoI_xD Date: Mon, 30 Mar 2026 11:14:33 -0700 Subject: [PATCH] MwStringPrintIntoBuffer --- BorMakefile | 5 +- NTMakefile | 5 +- WatMakefile | 7 +- examples/basic/calculator.c | 2 +- examples/basic/colorpicker.c | 2 +- examples/basic/listbox.c | 4 +- examples/basic/treeview.c | 2 +- examples/gldemos/clock.c | 4 +- examples/vkdemos/vulkan.c | 6 +- include/Mw/Error.h | 29 --- include/Mw/String.h | 7 + milsko.xml | 9 - src/core.c | 2 +- src/dialog/colorpicker.c | 6 +- src/error.c | 23 --- src/error_internal.h | 15 -- src/string.c | 12 ++ src/widget/numberentry.c | 4 +- src/widget/vulkan.c | 50 ++--- vms/build.com | 358 ++++++++++++++++------------------- vms/clean.com | 70 ++++--- 21 files changed, 262 insertions(+), 360 deletions(-) delete mode 100644 include/Mw/Error.h delete mode 100644 src/error.c delete mode 100644 src/error_internal.h diff --git a/BorMakefile b/BorMakefile index f8eaced..98d0f62 100644 --- a/BorMakefile +++ b/BorMakefile @@ -26,7 +26,6 @@ clean: del /f /q src\dialog\filechooser.obj del /f /q src\dialog\messagebox.obj del /f /q src\draw.obj - del /f /q src\error.obj del /f /q src\icon\back.obj del /f /q src\icon\clock.obj del /f /q src\icon\computer.obj @@ -76,8 +75,8 @@ clean: del /f /q src\Mw.dll del /f /q src\Mw.lib -src\Mw.dll: external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\error.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\ttf.obj src\text\ft2.obj src\text\stbtt.obj src\text\text.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj - $(LD) $(LDFLAGS) -e$@ external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\error.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\ttf.obj src\text\ft2.obj src\text\stbtt.obj src\text\text.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj -lopengl32.lib -lgdi32.lib -luser32.lib +src\Mw.dll: external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\ttf.obj src\text\ft2.obj src\text\stbtt.obj src\text\text.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj + $(LD) $(LDFLAGS) -e$@ external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\ttf.obj src\text\ft2.obj src\text\stbtt.obj src\text\text.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj -lopengl32.lib -lgdi32.lib -luser32.lib implib src\Mw.lib src\Mw.dll .c.obj: diff --git a/NTMakefile b/NTMakefile index 3177f04..833fbb0 100644 --- a/NTMakefile +++ b/NTMakefile @@ -26,7 +26,6 @@ clean: del /f /q src\dialog\filechooser.obj del /f /q src\dialog\messagebox.obj del /f /q src\draw.obj - del /f /q src\error.obj del /f /q src\icon\back.obj del /f /q src\icon\clock.obj del /f /q src\icon\computer.obj @@ -76,8 +75,8 @@ clean: del /f /q src\Mw.dll del /f /q src\Mw.lib -src\Mw.dll: external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\error.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\ttf.obj src\text\ft2.obj src\text\stbtt.obj src\text\text.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj - $(LD) $(LDFLAGS) /OUT:$@ external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\error.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\ttf.obj src\text\ft2.obj src\text\stbtt.obj src\text\text.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj opengl32.lib gdi32.lib user32.lib +src\Mw.dll: external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\ttf.obj src\text\ft2.obj src\text\stbtt.obj src\text\text.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj + $(LD) $(LDFLAGS) /OUT:$@ external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\abstract\directory.obj src\abstract\dynamic.obj src\abstract\time.obj src\backend\gdi.obj src\color.obj src\core.obj src\cursor\arrow.obj src\cursor\cross.obj src\cursor\default.obj src\cursor\hidden.obj src\cursor\text.obj src\default.obj src\dialog\colorpicker.obj src\dialog\directorychooser.obj src\dialog\filechooser.obj src\dialog\messagebox.obj src\draw.obj src\icon\back.obj src\icon\clock.obj src\icon\computer.obj src\icon\directory.obj src\icon\down.obj src\icon\error.obj src\icon\file.obj src\icon\forward.obj src\icon\info.obj src\icon\left.obj src\icon\news.obj src\icon\note.obj src\icon\right.obj src\icon\search.obj src\icon\up.obj src\icon\warning.obj src\lowlevel.obj src\string.obj src\text\font\boldfont.obj src\text\font\boldttf.obj src\text\font\font.obj src\text\font\ttf.obj src\text\ft2.obj src\text\stbtt.obj src\text\text.obj src\unicode.obj src\widget\box.obj src\widget\button.obj src\widget\checkbox.obj src\widget\combobox.obj src\widget\entry.obj src\widget\frame.obj src\widget\image.obj src\widget\label.obj src\widget\listbox.obj src\widget\menu.obj src\widget\numberentry.obj src\widget\opengl.obj src\widget\progressbar.obj src\widget\radiobox.obj src\widget\scrollbar.obj src\widget\separator.obj src\widget\submenu.obj src\widget\treeview.obj src\widget\viewport.obj src\widget\window.obj opengl32.lib gdi32.lib user32.lib .c.obj: diff --git a/WatMakefile b/WatMakefile index 5177e05..7872958 100644 --- a/WatMakefile +++ b/WatMakefile @@ -25,7 +25,6 @@ clean: .SYMBOLIC %erase src/dialog/filechooser.obj %erase src/dialog/messagebox.obj %erase src/draw.obj - %erase src/error.obj %erase src/icon/back.obj %erase src/icon/clock.obj %erase src/icon/computer.obj @@ -75,8 +74,8 @@ clean: .SYMBOLIC %erase src/Mw.dll %erase src/Mw.lib -src/Mw.dll: external/stb_ds.obj external/stb_image.obj external/stb_truetype.obj src/abstract/directory.obj src/abstract/dynamic.obj src/abstract/time.obj src/backend/gdi.obj src/color.obj src/core.obj src/cursor/arrow.obj src/cursor/cross.obj src/cursor/default.obj src/cursor/hidden.obj src/cursor/text.obj src/default.obj src/dialog/colorpicker.obj src/dialog/directorychooser.obj src/dialog/filechooser.obj src/dialog/messagebox.obj src/draw.obj src/error.obj src/icon/back.obj src/icon/clock.obj src/icon/computer.obj src/icon/directory.obj src/icon/down.obj src/icon/error.obj src/icon/file.obj src/icon/forward.obj src/icon/info.obj src/icon/left.obj src/icon/news.obj src/icon/note.obj src/icon/right.obj src/icon/search.obj src/icon/up.obj src/icon/warning.obj src/lowlevel.obj src/string.obj src/text/font/boldfont.obj src/text/font/boldttf.obj src/text/font/font.obj src/text/font/ttf.obj src/text/ft2.obj src/text/stbtt.obj src/text/text.obj src/unicode.obj src/widget/box.obj src/widget/button.obj src/widget/checkbox.obj src/widget/combobox.obj src/widget/entry.obj src/widget/frame.obj src/widget/image.obj src/widget/label.obj src/widget/listbox.obj src/widget/menu.obj src/widget/numberentry.obj src/widget/opengl.obj src/widget/progressbar.obj src/widget/radiobox.obj src/widget/scrollbar.obj src/widget/separator.obj src/widget/submenu.obj src/widget/treeview.obj src/widget/viewport.obj src/widget/window.obj - $(LD) $(LDFLAGS) option implib=src/Mw.lib name $@ file external/stb_ds.obj file external/stb_image.obj file external/stb_truetype.obj file src/abstract/directory.obj file src/abstract/dynamic.obj file src/abstract/time.obj file src/backend/gdi.obj file src/color.obj file src/core.obj file src/cursor/arrow.obj file src/cursor/cross.obj file src/cursor/default.obj file src/cursor/hidden.obj file src/cursor/text.obj file src/default.obj file src/dialog/colorpicker.obj file src/dialog/directorychooser.obj file src/dialog/filechooser.obj file src/dialog/messagebox.obj file src/draw.obj file src/error.obj file src/icon/back.obj file src/icon/clock.obj file src/icon/computer.obj file src/icon/directory.obj file src/icon/down.obj file src/icon/error.obj file src/icon/file.obj file src/icon/forward.obj file src/icon/info.obj file src/icon/left.obj file src/icon/news.obj file src/icon/note.obj file src/icon/right.obj file src/icon/search.obj file src/icon/up.obj file src/icon/warning.obj file src/lowlevel.obj file src/string.obj file src/text/font/boldfont.obj file src/text/font/boldttf.obj file src/text/font/font.obj file src/text/font/ttf.obj file src/text/ft2.obj file src/text/stbtt.obj file src/text/text.obj file src/unicode.obj file src/widget/box.obj file src/widget/button.obj file src/widget/checkbox.obj file src/widget/combobox.obj file src/widget/entry.obj file src/widget/frame.obj file src/widget/image.obj file src/widget/label.obj file src/widget/listbox.obj file src/widget/menu.obj file src/widget/numberentry.obj file src/widget/opengl.obj file src/widget/progressbar.obj file src/widget/radiobox.obj file src/widget/scrollbar.obj file src/widget/separator.obj file src/widget/submenu.obj file src/widget/treeview.obj file src/widget/viewport.obj file src/widget/window.obj library clib3r.lib library opengl32.lib library gdi32.lib library user32.lib +src/Mw.dll: external/stb_ds.obj external/stb_image.obj external/stb_truetype.obj src/abstract/directory.obj src/abstract/dynamic.obj src/abstract/time.obj src/backend/gdi.obj src/color.obj src/core.obj src/cursor/arrow.obj src/cursor/cross.obj src/cursor/default.obj src/cursor/hidden.obj src/cursor/text.obj src/default.obj src/dialog/colorpicker.obj src/dialog/directorychooser.obj src/dialog/filechooser.obj src/dialog/messagebox.obj src/draw.obj src/icon/back.obj src/icon/clock.obj src/icon/computer.obj src/icon/directory.obj src/icon/down.obj src/icon/error.obj src/icon/file.obj src/icon/forward.obj src/icon/info.obj src/icon/left.obj src/icon/news.obj src/icon/note.obj src/icon/right.obj src/icon/search.obj src/icon/up.obj src/icon/warning.obj src/lowlevel.obj src/string.obj src/text/font/boldfont.obj src/text/font/boldttf.obj src/text/font/font.obj src/text/font/ttf.obj src/text/ft2.obj src/text/stbtt.obj src/text/text.obj src/unicode.obj src/widget/box.obj src/widget/button.obj src/widget/checkbox.obj src/widget/combobox.obj src/widget/entry.obj src/widget/frame.obj src/widget/image.obj src/widget/label.obj src/widget/listbox.obj src/widget/menu.obj src/widget/numberentry.obj src/widget/opengl.obj src/widget/progressbar.obj src/widget/radiobox.obj src/widget/scrollbar.obj src/widget/separator.obj src/widget/submenu.obj src/widget/treeview.obj src/widget/viewport.obj src/widget/window.obj + $(LD) $(LDFLAGS) option implib=src/Mw.lib name $@ file external/stb_ds.obj file external/stb_image.obj file external/stb_truetype.obj file src/abstract/directory.obj file src/abstract/dynamic.obj file src/abstract/time.obj file src/backend/gdi.obj file src/color.obj file src/core.obj file src/cursor/arrow.obj file src/cursor/cross.obj file src/cursor/default.obj file src/cursor/hidden.obj file src/cursor/text.obj file src/default.obj file src/dialog/colorpicker.obj file src/dialog/directorychooser.obj file src/dialog/filechooser.obj file src/dialog/messagebox.obj file src/draw.obj file src/icon/back.obj file src/icon/clock.obj file src/icon/computer.obj file src/icon/directory.obj file src/icon/down.obj file src/icon/error.obj file src/icon/file.obj file src/icon/forward.obj file src/icon/info.obj file src/icon/left.obj file src/icon/news.obj file src/icon/note.obj file src/icon/right.obj file src/icon/search.obj file src/icon/up.obj file src/icon/warning.obj file src/lowlevel.obj file src/string.obj file src/text/font/boldfont.obj file src/text/font/boldttf.obj file src/text/font/font.obj file src/text/font/ttf.obj file src/text/ft2.obj file src/text/stbtt.obj file src/text/text.obj file src/unicode.obj file src/widget/box.obj file src/widget/button.obj file src/widget/checkbox.obj file src/widget/combobox.obj file src/widget/entry.obj file src/widget/frame.obj file src/widget/image.obj file src/widget/label.obj file src/widget/listbox.obj file src/widget/menu.obj file src/widget/numberentry.obj file src/widget/opengl.obj file src/widget/progressbar.obj file src/widget/radiobox.obj file src/widget/scrollbar.obj file src/widget/separator.obj file src/widget/submenu.obj file src/widget/treeview.obj file src/widget/viewport.obj file src/widget/window.obj library clib3r.lib library opengl32.lib library gdi32.lib library user32.lib @@ -120,8 +119,6 @@ src/dialog/messagebox.obj: src/dialog/messagebox.c $(CC) $(CFLAGS) -fo=$@ $< src/draw.obj: src/draw.c $(CC) $(CFLAGS) -fo=$@ $< -src/error.obj: src/error.c - $(CC) $(CFLAGS) -fo=$@ $< src/icon/back.obj: src/icon/back.c $(CC) $(CFLAGS) -fo=$@ $< src/icon/clock.obj: src/icon/clock.c diff --git a/examples/basic/calculator.c b/examples/basic/calculator.c index 27f7ad4..cc2f845 100644 --- a/examples/basic/calculator.c +++ b/examples/basic/calculator.c @@ -82,7 +82,7 @@ static void activate(MwWidget handle, void* client, void* user) { v = fv / sv; } - sprintf(buf, "%g", v); + MwPrintIntoBuffer(buf, 256, "%g", v); MwVaApply(inp, MwNtext, buf, diff --git a/examples/basic/colorpicker.c b/examples/basic/colorpicker.c index 12b4826..4a3b52b 100644 --- a/examples/basic/colorpicker.c +++ b/examples/basic/colorpicker.c @@ -15,7 +15,7 @@ void color_callback(MwWidget handle, void* user_data, void* call_data) { rgb->red &= 0xff; rgb->green &= 0xff; rgb->blue &= 0xff; - sprintf(hexColor, "#%02X%02X%02X", rgb->red, rgb->green, rgb->blue); + MwPrintIntoBuffer(hexColor, 8, "#%02X%02X%02X", rgb->red, rgb->green, rgb->blue); MwSetText(window, MwNbackground, hexColor); } diff --git a/examples/basic/listbox.c b/examples/basic/listbox.c index 92c7d21..a1cccb2 100644 --- a/examples/basic/listbox.c +++ b/examples/basic/listbox.c @@ -16,7 +16,7 @@ void activate(MwWidget handle, void* user, void* call) { (void)user; - sprintf(msg, "You pressed: %s", MwListBoxGet(handle, *(int*)call)); + MwPrintIntoBuffer(msg, 256, "You pressed: %s", MwListBoxGet(handle, *(int*)call)); msgbox = MwMessageBox(wmain, msg, "wow", MwMB_ICONINFO | MwMB_BUTTONOK); MwAddUserHandler(MwMessageBoxGetChild(msgbox, MwMB_BUTTONOK), MwNactivateHandler, destroy, msgbox); @@ -48,7 +48,7 @@ int main() { for(i = 0; i < len; i++) { char sz[16]; - sprintf(sz, "%d", (int)strlen(harvard[i])); + MwPrintIntoBuffer(sz, 16, "%d", (int)strlen(harvard[i])); index = MwListBoxPacketInsert(packet, -1); MwListBoxPacketSetIcon(packet, index, px); MwListBoxPacketSet(packet, index, 0, harvard[i]); diff --git a/examples/basic/treeview.c b/examples/basic/treeview.c index 3837cb4..8b7b9e1 100644 --- a/examples/basic/treeview.c +++ b/examples/basic/treeview.c @@ -14,7 +14,7 @@ void activate(MwWidget handle, void* user, void* call) { (void)user; - sprintf(msg, "You pressed: %s", MwTreeViewGet(handle, call)); + MwPrintIntoBuffer(msg, 256, "You pressed: %s", MwTreeViewGet(handle, call)); msgbox = MwMessageBox(wmain, msg, "wow", MwMB_ICONINFO | MwMB_BUTTONOK); MwAddUserHandler(MwMessageBoxGetChild(msgbox, MwMB_BUTTONOK), MwNactivateHandler, destroy, msgbox); diff --git a/examples/gldemos/clock.c b/examples/gldemos/clock.c index 7bf74b6..8408f90 100644 --- a/examples/gldemos/clock.c +++ b/examples/gldemos/clock.c @@ -32,10 +32,10 @@ void tick(MwWidget handle, void* user, void* call) { char buf[512]; tm = localtime(&t); - sprintf(buf, "%s %02d %s", mon[tm->tm_mon], tm->tm_mday, wday[tm->tm_wday]); + MwPrintIntoBuffer(buf, 512, "%s %02d %s", mon[tm->tm_mon], tm->tm_mday, wday[tm->tm_wday]); MwSetText(ldate, MwNtext, buf); - sprintf(buf, "%02d:%02d %s", tm->tm_hour % 12, tm->tm_min, tm->tm_hour >= 12 ? "PM" : "AM"); + MwPrintIntoBuffer(buf, 512, "%02d:%02d %s", tm->tm_hour % 12, tm->tm_min, tm->tm_hour >= 12 ? "PM" : "AM"); MwSetText(ltime, MwNtext, buf); render = 1; diff --git a/examples/vkdemos/vulkan.c b/examples/vkdemos/vulkan.c index 1f260f6..9e8dad1 100644 --- a/examples/vkdemos/vulkan.c +++ b/examples/vkdemos/vulkan.c @@ -17,7 +17,7 @@ char buffer[512]; char* string_VkResult(VkResult res) { - sprintf(buffer, "%d", res); + MwPrintIntoBuffer(buffer, 512, "%d", res); return &buffer[0]; } @@ -292,8 +292,8 @@ void vulkan_setup(MwWidget handle) { swapchainCreateInfo.imageExtent = (VkExtent2D){.width = ow, .height = oh}, swapchainCreateInfo.imageArrayLayers = 1, swapchainCreateInfo.imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | - VK_IMAGE_USAGE_TRANSFER_DST_BIT | - VK_IMAGE_USAGE_SAMPLED_BIT; + VK_IMAGE_USAGE_TRANSFER_DST_BIT | + VK_IMAGE_USAGE_SAMPLED_BIT; // th is how we specify no transformation. swapchainCreateInfo.preTransform = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR; swapchainCreateInfo.compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR; diff --git a/include/Mw/Error.h b/include/Mw/Error.h deleted file mode 100644 index a54da10..0000000 --- a/include/Mw/Error.h +++ /dev/null @@ -1,29 +0,0 @@ -/*! - * @file Mw/Error.h - * @brief Error codes - */ -#ifndef __MW_ERROR_H__ -#define __MW_ERROR_H__ - -#include - -/*! - * @brief Error code enumeration - */ -typedef enum MwErrorEnum_T { - /*! - * @brief No error - */ - MwEsuccess = 0, - /*! - * @brief There was an error - */ - MwEerror, -} MwErrorEnum; - -/*! - * @brief Get the last error - */ -MWDECL const char* MwGetLastError(void); - -#endif diff --git a/include/Mw/String.h b/include/Mw/String.h index 492d471..0b4c303 100644 --- a/include/Mw/String.h +++ b/include/Mw/String.h @@ -41,6 +41,13 @@ MWDECL void MwStringSize(char* out, MwOffset size); */ MWDECL void MwStringTime(char* out, time_t t); +/*! + * @brief Prints up to n characters into a buffer + * @param out Buffer + * @param size Max size + */ +MWDECL void MwPrintIntoBuffer(char* out, MwU32 size, const char* fmt, ...); + #ifdef __cplusplus } #endif diff --git a/milsko.xml b/milsko.xml index baade7f..946a1ff 100644 --- a/milsko.xml +++ b/milsko.xml @@ -412,15 +412,6 @@ -
- - - - - - - -
diff --git a/src/core.c b/src/core.c index e364a30..f197536 100644 --- a/src/core.c +++ b/src/core.c @@ -721,7 +721,7 @@ void MwDispatchError(int code, const char* message) { } else { #ifdef _WIN32 char buffer[1024]; - sprintf(buffer, "Error: %s\r\nCode : %d\r\n\r\nMilsko is exiting.", message, code); + MwPrintIntoBuffer(buffer, 1024, "Error: %s\r\nCode : %d\r\n\r\nMilsko is exiting.", message, code); MessageBox(NULL, buffer, "Error", MB_ICONERROR | MB_OK); #else fprintf(stderr, "Error: %s\nCode : %d\n\nMilsko is exiting.", message, code); diff --git a/src/dialog/colorpicker.c b/src/dialog/colorpicker.c index 0a953e6..958a3b2 100644 --- a/src/dialog/colorpicker.c +++ b/src/dialog/colorpicker.c @@ -173,13 +173,13 @@ static void color_picker_click(MwWidget handle, void* user, void* call) { picker->chosen_color.green = picker->color_picker_image_data[i + 1]; picker->chosen_color.blue = picker->color_picker_image_data[i + 2]; - sprintf(hexColor, "#%02X%02X%02X", picker->chosen_color.red & 0xff, picker->chosen_color.green & 0xff, picker->chosen_color.blue & 0xff); + MwPrintIntoBuffer(hexColor, 8, "#%02X%02X%02X", picker->chosen_color.red & 0xff, picker->chosen_color.green & 0xff, picker->chosen_color.blue & 0xff); fr = picker->chosen_color.red > 128 ? 0 : 255; fg = picker->chosen_color.green > 128 ? 0 : 255; fb = picker->chosen_color.blue > 128 ? 0 : 255; - sprintf(fgColor, "#%02X%02X%02X", fr, fg, fb); + MwPrintIntoBuffer(fgColor, 8, "#%02X%02X%02X", fr, fg, fb); MwSetText(picker->color_display_text, MwNforeground, fgColor); MwSetText(picker->color_display_text, MwNbackground, hexColor); @@ -247,7 +247,7 @@ static void color_display_text_change(MwWidget handle, void* user, fg = color->common.green > 128 ? 0 : 255; fb = color->common.blue > 128 ? 0 : 255; - sprintf(fgColor, "#%02X%02X%02X", fr, fg, fb); + MwPrintIntoBuffer(fgColor, 9, "#%02X%02X%02X", fr, fg, fb); MwSetText(picker->color_display_text, MwNforeground, fgColor); MwSetText(picker->color_display_text, MwNbackground, hexColor); diff --git a/src/error.c b/src/error.c deleted file mode 100644 index ed9798f..0000000 --- a/src/error.c +++ /dev/null @@ -1,23 +0,0 @@ -#include -#include "error_internal.h" - -#define MAX_ERROR_LEN 512 - -/* buffer for holding the error. +1 to ensure there's always a null terminator. */ -char error[MAX_ERROR_LEN + 1] = {0}; - -const char* MwGetLastError(void) { - return error; -} - -void setLastError(const char* fmt, ...) { - va_list va; - char out[MAX_ERROR_LEN]; - memset(out, 0, MAX_ERROR_LEN); - - va_start(va, fmt); - vsprintf(out, fmt, va); - va_end(va); - - memcpy(error, out, MAX_ERROR_LEN); -} diff --git a/src/error_internal.h b/src/error_internal.h deleted file mode 100644 index 9967614..0000000 --- a/src/error_internal.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef __MW_ERROR_INTERNAL_H__ -#define __MW_ERROR_INTERNAL_H__ - -/** - * This is not to be documented or exposed publically. - * This contains an internal function for setting the error, - * something the user shouldn't want to do and thus we don't want them to. - * (hence also, its placement in the src directory) - */ - -#include - -void setLastError(const char* fmt, ...); - -#endif diff --git a/src/string.c b/src/string.c index ccc9aab..c1f968f 100644 --- a/src/string.c +++ b/src/string.c @@ -37,3 +37,15 @@ void MwStringTime(char* out, time_t t) { sprintf(out, "%s %2d %02d:%02d %d", months[tm->tm_mon], tm->tm_mday, tm->tm_hour, tm->tm_min, 1900 + tm->tm_year); } } +void MwPrintIntoBuffer(char* out, MwU32 size, const char* fmt, ...) { + va_list va; + va_start(va, fmt); + +#if __STDC_VERSION__ >= 199901L + vsnprintf(out, size, fmt, va); +#else + vsprintf(out, fmt, va); +#endif + + va_end(va); +}; diff --git a/src/widget/numberentry.c b/src/widget/numberentry.c index 5f14fc3..a0495fa 100644 --- a/src/widget/numberentry.c +++ b/src/widget/numberentry.c @@ -103,9 +103,9 @@ static void mouse_up(MwWidget handle, void* ptr) { if(e->mouse.x >= (w - e->right)) { char s[512]; if(e->mouse.y >= (h / 2)) { - sprintf(s, "%g", atof(str) - 1); + MwPrintIntoBuffer(s, 512, "%g", atof(str) - 1); } else { - sprintf(s, "%g", atof(str) + 1); + MwPrintIntoBuffer(s, 512, "%g", atof(str) + 1); } MwSetText(handle, MwNtext, s); } diff --git a/src/widget/vulkan.c b/src/widget/vulkan.c index f6ef863..c9d4138 100644 --- a/src/widget/vulkan.c +++ b/src/widget/vulkan.c @@ -1,8 +1,6 @@ #include #include -#include "../error_internal.h" - /** * ioixd maintains this file. nishi doesn't know vulkan at all */ @@ -49,15 +47,19 @@ MwVulkanConfig vulkan_config = { #define VK_CMD(func) \ vk_res = func; \ if(vk_res != VK_SUCCESS) { \ - setLastError("Vulkan error (%s:%d): %s\n", __FILE__, __LINE__, string_VkResult(vk_res)); \ - return MwEerror; \ + char buf[1024]; \ + MwPrintIntoBuffer(buf, 1024, "Vulkan error (%s:%d): %s\n", __FILE__, __LINE__, string_VkResult(vk_res)); \ + MwDispatchError(1, buf); \ + return 1; \ } #else #define VK_CMD(func) \ vk_res = func; \ if(vk_res != VK_SUCCESS) { \ - setLastError("Vulkan error (%s:%d): (error %d)\n", __FILE__, __LINE__, vk_res); \ - return MwEerror; \ + char buf[1024]; \ + MwPrintIntoBuffer(buf, 1024, "Vulkan error (%s:%d): (error %d)\n", __FILE__, __LINE__, vk_res); \ + MwDispatchError(1, buf); \ + return 1; \ } #endif @@ -69,8 +71,10 @@ MwVulkanConfig vulkan_config = { /* convienence macro to return an error if an assert goes wrong */ #define VK_ASSERT(val) \ if(!val) { \ - setLastError("Vulkan error (%s:%d): Assertion Failed (%s != NULL)\n", __FILE__, __LINE__, #val); \ - return MwEerror; \ + char buf[1024]; \ + MwPrintIntoBuffer(buf, 1024, "Vulkan error (%s:%d): Assertion Failed (%s != NULL)\n", __FILE__, __LINE__, #val); \ + MwDispatchError(1, buf); \ + return 1; \ } const char** enabledExtensions; @@ -116,17 +120,17 @@ static int create(MwWidget handle) { memset(o, 0, sizeof(*o)); err = vulkan_instance_setup(handle, o); - if(err != MwEsuccess) { + if(err != 0) { printf("%s", MwGetLastError()); return 1; } err = vulkan_surface_setup(handle, o); - if(err != MwEsuccess) { + if(err != 0) { printf("%s", MwGetLastError()); return 1; } err = vulkan_devices_setup(handle, o); - if(err != MwEsuccess) { + if(err != 0) { printf("%s", MwGetLastError()); return 1; } @@ -156,12 +160,12 @@ static MwErrorEnum _destroy(MwWidget handle) { free(o); - return MwEsuccess; + return 0; } static void destroy(MwWidget handle) { MwErrorEnum err = _destroy(handle); - if(err == MwEerror) { + if(err == 1) { printf("[Vulkan Widget] %s", MwGetLastError()); } } @@ -199,7 +203,7 @@ static MwErrorEnum vulkan_instance_setup(MwWidget handle, vulkan_t* o) { o->vulkanLibrary = vulkan_lib_load(); if(!o->vulkanLibrary) { vulkan_supported = VULKAN_SUPPORTED_NO; - setLastError("Vulkan not found."); + MwDispatchError(1, "Vulkan not found."); } else { vulkan_supported = VULKAN_SUPPORTED_YES; } @@ -292,7 +296,7 @@ static MwErrorEnum vulkan_instance_setup(MwWidget handle, vulkan_t* o) { instance_create_info.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; VK_CMD(_vkCreateInstance(&instance_create_info, NULL, &o->vkInstance)); - return MwEsuccess; + return 0; } static MwErrorEnum vulkan_surface_setup(MwWidget handle, vulkan_t* o) { @@ -341,7 +345,7 @@ static MwErrorEnum vulkan_surface_setup(MwWidget handle, vulkan_t* o) { VK_CMD(_vkCreateWaylandSurfaceKHR(o->vkInstance, &createInfo, NULL, &o->vkSurface)); } #endif - return MwEsuccess; + return 0; } static MwErrorEnum vulkan_devices_setup(MwWidget handle, vulkan_t* o) { @@ -400,8 +404,8 @@ static MwErrorEnum vulkan_devices_setup(MwWidget handle, vulkan_t* o) { } if(!has_graphics && !has_present) { /* rare, yes, but idk maybe some shitty drivers will present this dillema idk. */ - setLastError("There were no devices with either a graphics or presentation queue.\n"); - return MwEerror; + MwDispatchError(1, "There were no devices with either a graphics or presentation queue.\n"); + return 1; } /* create the logical device */ @@ -461,7 +465,7 @@ static MwErrorEnum vulkan_devices_setup(MwWidget handle, vulkan_t* o) { _vkGetDeviceQueue(o->vkLogicalDevice, o->vkPresentFamilyIDX, 0, &o->vkPresentQueue); } free(devices); - return MwEsuccess; + return 0; } void MwVulkanConfigure(MwVulkanConfig cfg) { @@ -495,6 +499,7 @@ VkBool32 MwVulkanSupported(void) { static void* mwVulkanGetFieldImpl(MwWidget handle, MwVulkanField field, MwErrorEnum* out) { vulkan_t* o = handle->internal; + char buf[1024]; switch(field) { case MwVulkanField_GetInstanceProcAddr: @@ -516,14 +521,15 @@ static void* mwVulkanGetFieldImpl(MwWidget handle, MwVulkanField field, MwErrorE case MwVulkanField_PresentQueue: return o->vkPresentQueue; default: - setLastError("Unknown vulkan field request (%d given)", field); + MwPrintIntoBuffer(buf, 1024, "Unknown vulkan field request (%d given)", field); + MwDispatchError(1, buf); if(out != NULL) { - *out = MwEerror; + *out = 1; } return NULL; } if(out != NULL) { - *out = MwEsuccess; + *out = 0; } }; diff --git a/vms/build.com b/vms/build.com index dc8f9e2..06467b3 100644 --- a/vms/build.com +++ b/vms/build.com @@ -3,26 +3,11 @@ $ then $ write sys$output "CC [.src]color.obj" $ cc /include_directory=("./include","./src") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src]color.obj [.src]color.c $ endif -$ if f$search("[.src]core.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src]core.obj" -$ cc /include_directory=("./include","./src") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src]core.obj [.src]core.c -$ endif -$ if f$search("[.src]default.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src]default.obj" -$ cc /include_directory=("./include","./src") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src]default.obj [.src]default.c -$ endif $ if f$search("[.src]draw.obj;*") .eqs. "" $ then $ write sys$output "CC [.src]draw.obj" $ cc /include_directory=("./include","./src") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src]draw.obj [.src]draw.c $ endif -$ if f$search("[.src]error.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src]error.obj" -$ cc /include_directory=("./include","./src") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src]error.obj [.src]error.c -$ endif $ if f$search("[.src]lowlevel.obj;*") .eqs. "" $ then $ write sys$output "CC [.src]lowlevel.obj" @@ -33,16 +18,26 @@ $ then $ write sys$output "CC [.src]string.obj" $ cc /include_directory=("./include","./src") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src]string.obj [.src]string.c $ endif -$ if f$search("[.src]text.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src]text.obj" -$ cc /include_directory=("./include","./src") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src]text.obj [.src]text.c -$ endif $ if f$search("[.src]unicode.obj;*") .eqs. "" $ then $ write sys$output "CC [.src]unicode.obj" $ cc /include_directory=("./include","./src") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src]unicode.obj [.src]unicode.c $ endif +$ if f$search("[.src]core.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src]core.obj" +$ cc /include_directory=("./include","./src") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src]core.obj [.src]core.c +$ endif +$ if f$search("[.src]default.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src]default.obj" +$ cc /include_directory=("./include","./src") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src]default.obj [.src]default.c +$ endif +$ if f$search("[.src.cursor]hidden.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.cursor]hidden.obj" +$ cc /include_directory=("./include","./src/cursor") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.cursor]hidden.obj [.src.cursor]hidden.c +$ endif $ if f$search("[.src.cursor]arrow.obj;*") .eqs. "" $ then $ write sys$output "CC [.src.cursor]arrow.obj" @@ -53,75 +48,40 @@ $ then $ write sys$output "CC [.src.cursor]cross.obj" $ cc /include_directory=("./include","./src/cursor") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.cursor]cross.obj [.src.cursor]cross.c $ endif -$ if f$search("[.src.cursor]default.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.cursor]default.obj" -$ cc /include_directory=("./include","./src/cursor") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.cursor]default.obj [.src.cursor]default.c -$ endif -$ if f$search("[.src.cursor]hidden.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.cursor]hidden.obj" -$ cc /include_directory=("./include","./src/cursor") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.cursor]hidden.obj [.src.cursor]hidden.c -$ endif $ if f$search("[.src.cursor]text.obj;*") .eqs. "" $ then $ write sys$output "CC [.src.cursor]text.obj" $ cc /include_directory=("./include","./src/cursor") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.cursor]text.obj [.src.cursor]text.c $ endif -$ if f$search("[.src.widget]button.obj;*") .eqs. "" +$ if f$search("[.src.cursor]default.obj;*") .eqs. "" $ then -$ write sys$output "CC [.src.widget]button.obj" -$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]button.obj [.src.widget]button.c -$ endif -$ if f$search("[.src.widget]checkbox.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.widget]checkbox.obj" -$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]checkbox.obj [.src.widget]checkbox.c -$ endif -$ if f$search("[.src.widget]combobox.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.widget]combobox.obj" -$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]combobox.obj [.src.widget]combobox.c -$ endif -$ if f$search("[.src.widget]entry.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.widget]entry.obj" -$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]entry.obj [.src.widget]entry.c -$ endif -$ if f$search("[.src.widget]frame.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.widget]frame.obj" -$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]frame.obj [.src.widget]frame.c -$ endif -$ if f$search("[.src.widget]image.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.widget]image.obj" -$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]image.obj [.src.widget]image.c -$ endif -$ if f$search("[.src.widget]label.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.widget]label.obj" -$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]label.obj [.src.widget]label.c -$ endif -$ if f$search("[.src.widget]listbox.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.widget]listbox.obj" -$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]listbox.obj [.src.widget]listbox.c +$ write sys$output "CC [.src.cursor]default.obj" +$ cc /include_directory=("./include","./src/cursor") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.cursor]default.obj [.src.cursor]default.c $ endif $ if f$search("[.src.widget]menu.obj;*") .eqs. "" $ then $ write sys$output "CC [.src.widget]menu.obj" $ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]menu.obj [.src.widget]menu.c $ endif -$ if f$search("[.src.widget]numberentry.obj;*") .eqs. "" +$ if f$search("[.src.widget]image.obj;*") .eqs. "" $ then -$ write sys$output "CC [.src.widget]numberentry.obj" -$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]numberentry.obj [.src.widget]numberentry.c +$ write sys$output "CC [.src.widget]image.obj" +$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]image.obj [.src.widget]image.c $ endif -$ if f$search("[.src.widget]progressbar.obj;*") .eqs. "" +$ if f$search("[.src.widget]viewport.obj;*") .eqs. "" $ then -$ write sys$output "CC [.src.widget]progressbar.obj" -$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]progressbar.obj [.src.widget]progressbar.c +$ write sys$output "CC [.src.widget]viewport.obj" +$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]viewport.obj [.src.widget]viewport.c +$ endif +$ if f$search("[.src.widget]treeview.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.widget]treeview.obj" +$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]treeview.obj [.src.widget]treeview.c +$ endif +$ if f$search("[.src.widget]button.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.widget]button.obj" +$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]button.obj [.src.widget]button.c $ endif $ if f$search("[.src.widget]radiobox.obj;*") .eqs. "" $ then @@ -133,41 +93,66 @@ $ then $ write sys$output "CC [.src.widget]scrollbar.obj" $ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]scrollbar.obj [.src.widget]scrollbar.c $ endif -$ if f$search("[.src.widget]separator.obj;*") .eqs. "" +$ if f$search("[.src.widget]progressbar.obj;*") .eqs. "" $ then -$ write sys$output "CC [.src.widget]separator.obj" -$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]separator.obj [.src.widget]separator.c +$ write sys$output "CC [.src.widget]progressbar.obj" +$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]progressbar.obj [.src.widget]progressbar.c $ endif $ if f$search("[.src.widget]submenu.obj;*") .eqs. "" $ then $ write sys$output "CC [.src.widget]submenu.obj" $ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]submenu.obj [.src.widget]submenu.c $ endif -$ if f$search("[.src.widget]treeview.obj;*") .eqs. "" +$ if f$search("[.src.widget]checkbox.obj;*") .eqs. "" $ then -$ write sys$output "CC [.src.widget]treeview.obj" -$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]treeview.obj [.src.widget]treeview.c +$ write sys$output "CC [.src.widget]checkbox.obj" +$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]checkbox.obj [.src.widget]checkbox.c $ endif -$ if f$search("[.src.widget]viewport.obj;*") .eqs. "" +$ if f$search("[.src.widget]entry.obj;*") .eqs. "" $ then -$ write sys$output "CC [.src.widget]viewport.obj" -$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]viewport.obj [.src.widget]viewport.c +$ write sys$output "CC [.src.widget]entry.obj" +$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]entry.obj [.src.widget]entry.c $ endif $ if f$search("[.src.widget]window.obj;*") .eqs. "" $ then $ write sys$output "CC [.src.widget]window.obj" $ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]window.obj [.src.widget]window.c $ endif +$ if f$search("[.src.widget]label.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.widget]label.obj" +$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]label.obj [.src.widget]label.c +$ endif +$ if f$search("[.src.widget]separator.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.widget]separator.obj" +$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]separator.obj [.src.widget]separator.c +$ endif +$ if f$search("[.src.widget]combobox.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.widget]combobox.obj" +$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]combobox.obj [.src.widget]combobox.c +$ endif +$ if f$search("[.src.widget]numberentry.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.widget]numberentry.obj" +$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]numberentry.obj [.src.widget]numberentry.c +$ endif +$ if f$search("[.src.widget]frame.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.widget]frame.obj" +$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]frame.obj [.src.widget]frame.c +$ endif +$ if f$search("[.src.widget]listbox.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.widget]listbox.obj" +$ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]listbox.obj [.src.widget]listbox.c +$ endif $ if f$search("[.src.widget]box.obj;*") .eqs. "" $ then $ write sys$output "CC [.src.widget]box.obj" $ cc /include_directory=("./include","./src/widget") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.widget]box.obj [.src.widget]box.c $ endif -$ if f$search("[.src.dialog]colorpicker.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.dialog]colorpicker.obj" -$ cc /include_directory=("./include","./src/dialog") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.dialog]colorpicker.obj [.src.dialog]colorpicker.c -$ endif $ if f$search("[.src.dialog]directorychooser.obj;*") .eqs. "" $ then $ write sys$output "CC [.src.dialog]directorychooser.obj" @@ -183,91 +168,81 @@ $ then $ write sys$output "CC [.src.dialog]messagebox.obj" $ cc /include_directory=("./include","./src/dialog") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.dialog]messagebox.obj [.src.dialog]messagebox.c $ endif -$ if f$search("[.src.font]boldfont.obj;*") .eqs. "" +$ if f$search("[.src.dialog]colorpicker.obj;*") .eqs. "" $ then -$ write sys$output "CC [.src.font]boldfont.obj" -$ cc /include_directory=("./include","./src/font") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.font]boldfont.obj [.src.font]boldfont.c +$ write sys$output "CC [.src.dialog]colorpicker.obj" +$ cc /include_directory=("./include","./src/dialog") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.dialog]colorpicker.obj [.src.dialog]colorpicker.c $ endif -$ if f$search("[.src.font]boldttf.obj;*") .eqs. "" +$ if f$search("[.src.icon]right.obj;*") .eqs. "" $ then -$ write sys$output "CC [.src.font]boldttf.obj" -$ cc /include_directory=("./include","./src/font") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.font]boldttf.obj [.src.font]boldttf.c -$ endif -$ if f$search("[.src.font]font.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.font]font.obj" -$ cc /include_directory=("./include","./src/font") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.font]font.obj [.src.font]font.c -$ endif -$ if f$search("[.src.font]ttf.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.font]ttf.obj" -$ cc /include_directory=("./include","./src/font") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.font]ttf.obj [.src.font]ttf.c -$ endif -$ if f$search("[.src.icon]back.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.icon]back.obj" -$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]back.obj [.src.icon]back.c -$ endif -$ if f$search("[.src.icon]clock.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.icon]clock.obj" -$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]clock.obj [.src.icon]clock.c -$ endif -$ if f$search("[.src.icon]computer.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.icon]computer.obj" -$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]computer.obj [.src.icon]computer.c -$ endif -$ if f$search("[.src.icon]directory.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.icon]directory.obj" -$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]directory.obj [.src.icon]directory.c -$ endif -$ if f$search("[.src.icon]down.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.icon]down.obj" -$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]down.obj [.src.icon]down.c -$ endif -$ if f$search("[.src.icon]error.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.icon]error.obj" -$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]error.obj [.src.icon]error.c -$ endif -$ if f$search("[.src.icon]file.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.icon]file.obj" -$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]file.obj [.src.icon]file.c -$ endif -$ if f$search("[.src.icon]forward.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.icon]forward.obj" -$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]forward.obj [.src.icon]forward.c +$ write sys$output "CC [.src.icon]right.obj" +$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]right.obj [.src.icon]right.c $ endif $ if f$search("[.src.icon]info.obj;*") .eqs. "" $ then $ write sys$output "CC [.src.icon]info.obj" $ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]info.obj [.src.icon]info.c $ endif +$ if f$search("[.src.icon]computer.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.icon]computer.obj" +$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]computer.obj [.src.icon]computer.c +$ endif +$ if f$search("[.src.icon]forward.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.icon]forward.obj" +$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]forward.obj [.src.icon]forward.c +$ endif $ if f$search("[.src.icon]left.obj;*") .eqs. "" $ then $ write sys$output "CC [.src.icon]left.obj" $ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]left.obj [.src.icon]left.c $ endif +$ if f$search("[.src.icon]clock.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.icon]clock.obj" +$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]clock.obj [.src.icon]clock.c +$ endif +$ if f$search("[.src.icon]warning.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.icon]warning.obj" +$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]warning.obj [.src.icon]warning.c +$ endif +$ if f$search("[.src.icon]directory.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.icon]directory.obj" +$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]directory.obj [.src.icon]directory.c +$ endif +$ if f$search("[.src.icon]file.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.icon]file.obj" +$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]file.obj [.src.icon]file.c +$ endif +$ if f$search("[.src.icon]back.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.icon]back.obj" +$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]back.obj [.src.icon]back.c +$ endif +$ if f$search("[.src.icon]down.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.icon]down.obj" +$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]down.obj [.src.icon]down.c +$ endif $ if f$search("[.src.icon]news.obj;*") .eqs. "" $ then $ write sys$output "CC [.src.icon]news.obj" $ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]news.obj [.src.icon]news.c $ endif +$ if f$search("[.src.icon]error.obj;*") .eqs. "" +$ then +$ write sys$output "CC [.src.icon]error.obj" +$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]error.obj [.src.icon]error.c +$ endif $ if f$search("[.src.icon]note.obj;*") .eqs. "" $ then $ write sys$output "CC [.src.icon]note.obj" $ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]note.obj [.src.icon]note.c $ endif -$ if f$search("[.src.icon]right.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.icon]right.obj" -$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]right.obj [.src.icon]right.c -$ endif $ if f$search("[.src.icon]search.obj;*") .eqs. "" $ then $ write sys$output "CC [.src.icon]search.obj" @@ -278,10 +253,10 @@ $ then $ write sys$output "CC [.src.icon]up.obj" $ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]up.obj [.src.icon]up.c $ endif -$ if f$search("[.src.icon]warning.obj;*") .eqs. "" +$ if f$search("[.src.abstract]time.obj;*") .eqs. "" $ then -$ write sys$output "CC [.src.icon]warning.obj" -$ cc /include_directory=("./include","./src/icon") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.icon]warning.obj [.src.icon]warning.c +$ write sys$output "CC [.src.abstract]time.obj" +$ cc /include_directory=("./include","./src/abstract") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.abstract]time.obj [.src.abstract]time.c $ endif $ if f$search("[.src.abstract]directory.obj;*") .eqs. "" $ then @@ -293,11 +268,6 @@ $ then $ write sys$output "CC [.src.abstract]dynamic.obj" $ cc /include_directory=("./include","./src/abstract") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.abstract]dynamic.obj [.src.abstract]dynamic.c $ endif -$ if f$search("[.src.abstract]time.obj;*") .eqs. "" -$ then -$ write sys$output "CC [.src.abstract]time.obj" -$ cc /include_directory=("./include","./src/abstract") /define=(_MILSKO,USE_X11,NO_IMAGE) /object=[.src.abstract]time.obj [.src.abstract]time.c -$ endif $ if f$search("[.external]stb_ds.obj;*") .eqs. "" $ then $ write sys$output "CC [.external]stb_ds.obj" @@ -313,69 +283,63 @@ $ then $ write sys$output "LINK [.src]MwSHR.exe" $ OPEN /WRITE LINK_OPT LINK.OPT $ WRITE LINK_OPT "[.src]color.obj" -$ WRITE LINK_OPT "[.src]core.obj" -$ WRITE LINK_OPT "[.src]default.obj" $ WRITE LINK_OPT "[.src]draw.obj" -$ WRITE LINK_OPT "[.src]error.obj" $ WRITE LINK_OPT "[.src]lowlevel.obj" $ WRITE LINK_OPT "[.src]string.obj" -$ WRITE LINK_OPT "[.src]text.obj" $ WRITE LINK_OPT "[.src]unicode.obj" +$ WRITE LINK_OPT "[.src]core.obj" +$ WRITE LINK_OPT "[.src]default.obj" +$ WRITE LINK_OPT "[.src.cursor]hidden.obj" $ WRITE LINK_OPT "[.src.cursor]arrow.obj" $ WRITE LINK_OPT "[.src.cursor]cross.obj" -$ WRITE LINK_OPT "[.src.cursor]default.obj" -$ WRITE LINK_OPT "[.src.cursor]hidden.obj" $ WRITE LINK_OPT "[.src.cursor]text.obj" -$ WRITE LINK_OPT "[.src.widget]button.obj" -$ WRITE LINK_OPT "[.src.widget]checkbox.obj" -$ WRITE LINK_OPT "[.src.widget]combobox.obj" -$ WRITE LINK_OPT "[.src.widget]entry.obj" -$ WRITE LINK_OPT "[.src.widget]frame.obj" -$ WRITE LINK_OPT "[.src.widget]image.obj" -$ WRITE LINK_OPT "[.src.widget]label.obj" -$ WRITE LINK_OPT "[.src.widget]listbox.obj" +$ WRITE LINK_OPT "[.src.cursor]default.obj" $ WRITE LINK_OPT "[.src.widget]menu.obj" -$ WRITE LINK_OPT "[.src.widget]numberentry.obj" -$ WRITE LINK_OPT "[.src.widget]progressbar.obj" +$ WRITE LINK_OPT "[.src.widget]image.obj" +$ WRITE LINK_OPT "[.src.widget]viewport.obj" +$ WRITE LINK_OPT "[.src.widget]treeview.obj" +$ WRITE LINK_OPT "[.src.widget]button.obj" $ WRITE LINK_OPT "[.src.widget]radiobox.obj" $ WRITE LINK_OPT "[.src.widget]scrollbar.obj" -$ WRITE LINK_OPT "[.src.widget]separator.obj" +$ WRITE LINK_OPT "[.src.widget]progressbar.obj" $ WRITE LINK_OPT "[.src.widget]submenu.obj" -$ WRITE LINK_OPT "[.src.widget]treeview.obj" -$ WRITE LINK_OPT "[.src.widget]viewport.obj" +$ WRITE LINK_OPT "[.src.widget]checkbox.obj" +$ WRITE LINK_OPT "[.src.widget]entry.obj" $ WRITE LINK_OPT "[.src.widget]window.obj" +$ WRITE LINK_OPT "[.src.widget]label.obj" +$ WRITE LINK_OPT "[.src.widget]separator.obj" +$ WRITE LINK_OPT "[.src.widget]combobox.obj" +$ WRITE LINK_OPT "[.src.widget]numberentry.obj" +$ WRITE LINK_OPT "[.src.widget]frame.obj" +$ WRITE LINK_OPT "[.src.widget]listbox.obj" $ WRITE LINK_OPT "[.src.widget]box.obj" -$ WRITE LINK_OPT "[.src.dialog]colorpicker.obj" $ WRITE LINK_OPT "[.src.dialog]directorychooser.obj" $ WRITE LINK_OPT "[.src.dialog]filechooser.obj" $ WRITE LINK_OPT "[.src.dialog]messagebox.obj" -$ WRITE LINK_OPT "[.src.font]boldfont.obj" -$ WRITE LINK_OPT "[.src.font]boldttf.obj" -$ WRITE LINK_OPT "[.src.font]font.obj" -$ WRITE LINK_OPT "[.src.font]ttf.obj" -$ WRITE LINK_OPT "[.src.icon]back.obj" -$ WRITE LINK_OPT "[.src.icon]clock.obj" -$ WRITE LINK_OPT "[.src.icon]computer.obj" -$ WRITE LINK_OPT "[.src.icon]directory.obj" -$ WRITE LINK_OPT "[.src.icon]down.obj" -$ WRITE LINK_OPT "[.src.icon]error.obj" -$ WRITE LINK_OPT "[.src.icon]file.obj" -$ WRITE LINK_OPT "[.src.icon]forward.obj" -$ WRITE LINK_OPT "[.src.icon]info.obj" -$ WRITE LINK_OPT "[.src.icon]left.obj" -$ WRITE LINK_OPT "[.src.icon]news.obj" -$ WRITE LINK_OPT "[.src.icon]note.obj" +$ WRITE LINK_OPT "[.src.dialog]colorpicker.obj" $ WRITE LINK_OPT "[.src.icon]right.obj" +$ WRITE LINK_OPT "[.src.icon]info.obj" +$ WRITE LINK_OPT "[.src.icon]computer.obj" +$ WRITE LINK_OPT "[.src.icon]forward.obj" +$ WRITE LINK_OPT "[.src.icon]left.obj" +$ WRITE LINK_OPT "[.src.icon]clock.obj" +$ WRITE LINK_OPT "[.src.icon]warning.obj" +$ WRITE LINK_OPT "[.src.icon]directory.obj" +$ WRITE LINK_OPT "[.src.icon]file.obj" +$ WRITE LINK_OPT "[.src.icon]back.obj" +$ WRITE LINK_OPT "[.src.icon]down.obj" +$ WRITE LINK_OPT "[.src.icon]news.obj" +$ WRITE LINK_OPT "[.src.icon]error.obj" +$ WRITE LINK_OPT "[.src.icon]note.obj" $ WRITE LINK_OPT "[.src.icon]search.obj" $ WRITE LINK_OPT "[.src.icon]up.obj" -$ WRITE LINK_OPT "[.src.icon]warning.obj" +$ WRITE LINK_OPT "[.src.abstract]time.obj" $ WRITE LINK_OPT "[.src.abstract]directory.obj" $ WRITE LINK_OPT "[.src.abstract]dynamic.obj" -$ WRITE LINK_OPT "[.src.abstract]time.obj" $ WRITE LINK_OPT "[.external]stb_ds.obj" $ WRITE LINK_OPT "[.src.backend]x11.obj" -$ WRITE LINK_OPT "SYS$LIBRARY:DECW$XLIBSHR/SHARE/SHARE" -$ WRITE LINK_OPT "SYS$LIBRARY:DPML$SHR/SHARE/SHARE" +$ WRITE LINK_OPT "SYS$LIBRARY:DECW$XLIBSHR/SHARE" +$ WRITE LINK_OPT "SYS$LIBRARY:DPML$SHR/SHARE" $ CLOSE LINK_OPT $ link /SHAREABLE=[.src]MwSHR.exe LINK.OPT/options $ DELETE LINK.OPT;* diff --git a/vms/clean.com b/vms/clean.com index e0900f2..45b54d4 100644 --- a/vms/clean.com +++ b/vms/clean.com @@ -1,63 +1,57 @@ $ if f$search("[.src]color.obj") .nes. "" then delete [.src]color.obj;* -$ if f$search("[.src]core.obj") .nes. "" then delete [.src]core.obj;* -$ if f$search("[.src]default.obj") .nes. "" then delete [.src]default.obj;* $ if f$search("[.src]draw.obj") .nes. "" then delete [.src]draw.obj;* -$ if f$search("[.src]error.obj") .nes. "" then delete [.src]error.obj;* $ if f$search("[.src]lowlevel.obj") .nes. "" then delete [.src]lowlevel.obj;* $ if f$search("[.src]string.obj") .nes. "" then delete [.src]string.obj;* -$ if f$search("[.src]text.obj") .nes. "" then delete [.src]text.obj;* $ if f$search("[.src]unicode.obj") .nes. "" then delete [.src]unicode.obj;* +$ if f$search("[.src]core.obj") .nes. "" then delete [.src]core.obj;* +$ if f$search("[.src]default.obj") .nes. "" then delete [.src]default.obj;* +$ if f$search("[.src.cursor]hidden.obj") .nes. "" then delete [.src.cursor]hidden.obj;* $ if f$search("[.src.cursor]arrow.obj") .nes. "" then delete [.src.cursor]arrow.obj;* $ if f$search("[.src.cursor]cross.obj") .nes. "" then delete [.src.cursor]cross.obj;* -$ if f$search("[.src.cursor]default.obj") .nes. "" then delete [.src.cursor]default.obj;* -$ if f$search("[.src.cursor]hidden.obj") .nes. "" then delete [.src.cursor]hidden.obj;* $ if f$search("[.src.cursor]text.obj") .nes. "" then delete [.src.cursor]text.obj;* -$ if f$search("[.src.widget]button.obj") .nes. "" then delete [.src.widget]button.obj;* -$ if f$search("[.src.widget]checkbox.obj") .nes. "" then delete [.src.widget]checkbox.obj;* -$ if f$search("[.src.widget]combobox.obj") .nes. "" then delete [.src.widget]combobox.obj;* -$ if f$search("[.src.widget]entry.obj") .nes. "" then delete [.src.widget]entry.obj;* -$ if f$search("[.src.widget]frame.obj") .nes. "" then delete [.src.widget]frame.obj;* -$ if f$search("[.src.widget]image.obj") .nes. "" then delete [.src.widget]image.obj;* -$ if f$search("[.src.widget]label.obj") .nes. "" then delete [.src.widget]label.obj;* -$ if f$search("[.src.widget]listbox.obj") .nes. "" then delete [.src.widget]listbox.obj;* +$ if f$search("[.src.cursor]default.obj") .nes. "" then delete [.src.cursor]default.obj;* $ if f$search("[.src.widget]menu.obj") .nes. "" then delete [.src.widget]menu.obj;* -$ if f$search("[.src.widget]numberentry.obj") .nes. "" then delete [.src.widget]numberentry.obj;* -$ if f$search("[.src.widget]progressbar.obj") .nes. "" then delete [.src.widget]progressbar.obj;* +$ if f$search("[.src.widget]image.obj") .nes. "" then delete [.src.widget]image.obj;* +$ if f$search("[.src.widget]viewport.obj") .nes. "" then delete [.src.widget]viewport.obj;* +$ if f$search("[.src.widget]treeview.obj") .nes. "" then delete [.src.widget]treeview.obj;* +$ if f$search("[.src.widget]button.obj") .nes. "" then delete [.src.widget]button.obj;* $ if f$search("[.src.widget]radiobox.obj") .nes. "" then delete [.src.widget]radiobox.obj;* $ if f$search("[.src.widget]scrollbar.obj") .nes. "" then delete [.src.widget]scrollbar.obj;* -$ if f$search("[.src.widget]separator.obj") .nes. "" then delete [.src.widget]separator.obj;* +$ if f$search("[.src.widget]progressbar.obj") .nes. "" then delete [.src.widget]progressbar.obj;* $ if f$search("[.src.widget]submenu.obj") .nes. "" then delete [.src.widget]submenu.obj;* -$ if f$search("[.src.widget]treeview.obj") .nes. "" then delete [.src.widget]treeview.obj;* -$ if f$search("[.src.widget]viewport.obj") .nes. "" then delete [.src.widget]viewport.obj;* +$ if f$search("[.src.widget]checkbox.obj") .nes. "" then delete [.src.widget]checkbox.obj;* +$ if f$search("[.src.widget]entry.obj") .nes. "" then delete [.src.widget]entry.obj;* $ if f$search("[.src.widget]window.obj") .nes. "" then delete [.src.widget]window.obj;* +$ if f$search("[.src.widget]label.obj") .nes. "" then delete [.src.widget]label.obj;* +$ if f$search("[.src.widget]separator.obj") .nes. "" then delete [.src.widget]separator.obj;* +$ if f$search("[.src.widget]combobox.obj") .nes. "" then delete [.src.widget]combobox.obj;* +$ if f$search("[.src.widget]numberentry.obj") .nes. "" then delete [.src.widget]numberentry.obj;* +$ if f$search("[.src.widget]frame.obj") .nes. "" then delete [.src.widget]frame.obj;* +$ if f$search("[.src.widget]listbox.obj") .nes. "" then delete [.src.widget]listbox.obj;* $ if f$search("[.src.widget]box.obj") .nes. "" then delete [.src.widget]box.obj;* -$ if f$search("[.src.dialog]colorpicker.obj") .nes. "" then delete [.src.dialog]colorpicker.obj;* $ if f$search("[.src.dialog]directorychooser.obj") .nes. "" then delete [.src.dialog]directorychooser.obj;* $ if f$search("[.src.dialog]filechooser.obj") .nes. "" then delete [.src.dialog]filechooser.obj;* $ if f$search("[.src.dialog]messagebox.obj") .nes. "" then delete [.src.dialog]messagebox.obj;* -$ if f$search("[.src.font]boldfont.obj") .nes. "" then delete [.src.font]boldfont.obj;* -$ if f$search("[.src.font]boldttf.obj") .nes. "" then delete [.src.font]boldttf.obj;* -$ if f$search("[.src.font]font.obj") .nes. "" then delete [.src.font]font.obj;* -$ if f$search("[.src.font]ttf.obj") .nes. "" then delete [.src.font]ttf.obj;* -$ if f$search("[.src.icon]back.obj") .nes. "" then delete [.src.icon]back.obj;* -$ if f$search("[.src.icon]clock.obj") .nes. "" then delete [.src.icon]clock.obj;* -$ if f$search("[.src.icon]computer.obj") .nes. "" then delete [.src.icon]computer.obj;* -$ if f$search("[.src.icon]directory.obj") .nes. "" then delete [.src.icon]directory.obj;* -$ if f$search("[.src.icon]down.obj") .nes. "" then delete [.src.icon]down.obj;* -$ if f$search("[.src.icon]error.obj") .nes. "" then delete [.src.icon]error.obj;* -$ if f$search("[.src.icon]file.obj") .nes. "" then delete [.src.icon]file.obj;* -$ if f$search("[.src.icon]forward.obj") .nes. "" then delete [.src.icon]forward.obj;* -$ if f$search("[.src.icon]info.obj") .nes. "" then delete [.src.icon]info.obj;* -$ if f$search("[.src.icon]left.obj") .nes. "" then delete [.src.icon]left.obj;* -$ if f$search("[.src.icon]news.obj") .nes. "" then delete [.src.icon]news.obj;* -$ if f$search("[.src.icon]note.obj") .nes. "" then delete [.src.icon]note.obj;* +$ if f$search("[.src.dialog]colorpicker.obj") .nes. "" then delete [.src.dialog]colorpicker.obj;* $ if f$search("[.src.icon]right.obj") .nes. "" then delete [.src.icon]right.obj;* +$ if f$search("[.src.icon]info.obj") .nes. "" then delete [.src.icon]info.obj;* +$ if f$search("[.src.icon]computer.obj") .nes. "" then delete [.src.icon]computer.obj;* +$ if f$search("[.src.icon]forward.obj") .nes. "" then delete [.src.icon]forward.obj;* +$ if f$search("[.src.icon]left.obj") .nes. "" then delete [.src.icon]left.obj;* +$ if f$search("[.src.icon]clock.obj") .nes. "" then delete [.src.icon]clock.obj;* +$ if f$search("[.src.icon]warning.obj") .nes. "" then delete [.src.icon]warning.obj;* +$ if f$search("[.src.icon]directory.obj") .nes. "" then delete [.src.icon]directory.obj;* +$ if f$search("[.src.icon]file.obj") .nes. "" then delete [.src.icon]file.obj;* +$ if f$search("[.src.icon]back.obj") .nes. "" then delete [.src.icon]back.obj;* +$ if f$search("[.src.icon]down.obj") .nes. "" then delete [.src.icon]down.obj;* +$ if f$search("[.src.icon]news.obj") .nes. "" then delete [.src.icon]news.obj;* +$ if f$search("[.src.icon]error.obj") .nes. "" then delete [.src.icon]error.obj;* +$ if f$search("[.src.icon]note.obj") .nes. "" then delete [.src.icon]note.obj;* $ if f$search("[.src.icon]search.obj") .nes. "" then delete [.src.icon]search.obj;* $ if f$search("[.src.icon]up.obj") .nes. "" then delete [.src.icon]up.obj;* -$ if f$search("[.src.icon]warning.obj") .nes. "" then delete [.src.icon]warning.obj;* +$ if f$search("[.src.abstract]time.obj") .nes. "" then delete [.src.abstract]time.obj;* $ if f$search("[.src.abstract]directory.obj") .nes. "" then delete [.src.abstract]directory.obj;* $ if f$search("[.src.abstract]dynamic.obj") .nes. "" then delete [.src.abstract]dynamic.obj;* -$ if f$search("[.src.abstract]time.obj") .nes. "" then delete [.src.abstract]time.obj;* $ if f$search("[.external]stb_ds.obj") .nes. "" then delete [.external]stb_ds.obj;* $ if f$search("[.src.backend]x11.obj") .nes. "" then delete [.src.backend]x11.obj;* $ if f$search("[.src]MwSHR.exe") .nes. "" then delete [.src]MwSHR.exe;*