From f04ce54392fda93ae546cc4051319cb58faf0733 Mon Sep 17 00:00:00 2001 From: NishiOwO Date: Sat, 11 Oct 2025 13:59:36 +0000 Subject: [PATCH] update git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@272 b9cfdab3-6d41-4d17-bbe4-086880011989 --- NTMakefile | 2 +- WatMakefile | 142 ++++++++++++++++++++++++++----------- doc/index.html | 51 ++++++++++++- include/Mw/LowLevel.h | 6 +- include/MwOO/Base.h | 2 + oosrc/base.cc | 10 +++ resource/icon/error.png | Bin 663 -> 663 bytes resource/icon/info.png | Bin 434 -> 434 bytes resource/icon/news.png | Bin 542 -> 542 bytes resource/icon/note.png | Bin 594 -> 594 bytes resource/icon/question.png | Bin 529 -> 529 bytes resource/icon/warning.png | Bin 498 -> 498 bytes tools/genwat.pl | 85 ++++++++++++++++------ tools/update.sh | 1 + 14 files changed, 228 insertions(+), 71 deletions(-) diff --git a/NTMakefile b/NTMakefile index db18e06..f3123aa 100644 --- a/NTMakefile +++ b/NTMakefile @@ -2,7 +2,7 @@ CC = cl LD = link -OBJS = src\core.obj src\draw.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\font.obj src\color.obj src\messagebox.obj src\boldfont.obj src\widget\button.obj src\widget\frame.obj src\widget\opengl.obj src\widget\window.obj src\widget\menu.obj src\widget\entry.obj src\widget\submenu.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\numberentry.obj src\external\ds.obj src\external\image.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\backend\gdi.obj +OBJS = src\core.obj src\draw.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\font.obj src\color.obj src\messagebox.obj src\boldfont.obj src\widget\button.obj src\widget\frame.obj src\widget\opengl.obj src\widget\window.obj src\widget\menu.obj src\widget\entry.obj src\widget\submenu.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\numberentry.obj src\external\ds.obj src\external\image.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.obj src\icon\question.obj src\backend\gdi.obj OOOBJS = oosrc\base.obj oosrc\widget\button.obj oosrc\widget\frame.obj oosrc\widget\image.obj oosrc\widget\menu.obj oosrc\widget\opengl.obj oosrc\widget\scrollbar.obj oosrc\widget\submenu.obj oosrc\widget\window.obj oosrc\widget\checkbox.obj oosrc\widget\label.obj oosrc\widget\entry.obj oosrc\widget\numberentry.obj CFLAGS = /nologo /DSTBI_NO_SIMD /D_MILSKO /DUSE_GDI /DUSE_STB_IMAGE /Iinclude CXXFLAGS = /nologo /Iinclude diff --git a/WatMakefile b/WatMakefile index d33d007..4eda5bc 100644 --- a/WatMakefile +++ b/WatMakefile @@ -2,15 +2,13 @@ WATCOM = /usr/watcom CC = wcc386 CXX = wpp386 -CFLAGS = -q -d_MILSKO -dUSE_GDI -dUSE_STB_IMAGE -dSTBI_NO_SIMD -i=$(WATCOM)/h/nt -CXXFLAGS = +CFLAGS = -q -d_MILSKO -dUSE_GDI -dUSE_STB_IMAGE -dSTBI_NO_SIMD -i=$(WATCOM)/h/nt -i=include +CXXFLAGS = -q -i=include -i=$(WATCOM)/h/nt -OBJS = src/core.obj src/draw.obj src/default.obj src/lowlevel.obj src/error.obj src/unicode.obj src/font.obj src/color.obj src/messagebox.obj src/boldfont.obj src/widget/button.obj src/widget/frame.obj src/widget/opengl.obj src/widget/window.obj src/widget/menu.obj src/widget/entry.obj src/widget/submenu.obj src/widget/image.obj src/widget/scrollbar.obj src/widget/checkbox.obj src/widget/label.obj src/widget/numberentry.obj src/external/ds.obj src/external/image.obj src/cursor/default.obj src/cursor/cross.obj src/cursor/text.obj src/icon/info.obj src/icon/note.obj src/icon/warning.obj src/icon/error.obj src/icon/news.obj src/icon/question.obj src/backend/gdi.obj +OBJS = src/core.obj src/draw.obj src/default.obj src/lowlevel.obj src/error.obj src/unicode.obj src/font.obj src/color.obj src/messagebox.obj src/boldfont.obj src/widget/button.obj src/widget/frame.obj src/widget/opengl.obj src/widget/window.obj src/widget/menu.obj src/widget/entry.obj src/widget/submenu.obj src/widget/image.obj src/widget/scrollbar.obj src/widget/checkbox.obj src/widget/label.obj src/widget/numberentry.obj src/external/ds.obj src/external/image.obj src/cursor/default.obj src/cursor/cross.obj src/cursor/text.obj src/icon/info.obj src/icon/note.obj src/icon/warning.obj src/icon/error.obj src/icon/news.obj src/icon/question.obj +OOOBJS = oosrc/base.obj oosrc/widget/button.obj oosrc/widget/frame.obj oosrc/widget/image.obj oosrc/widget/menu.obj oosrc/widget/opengl.obj oosrc/widget/scrollbar.obj oosrc/widget/submenu.obj oosrc/widget/window.obj oosrc/widget/checkbox.obj oosrc/widget/label.obj oosrc/widget/entry.obj oosrc/widget/numberentry.obj -.EXTENSIONS: -.EXTENSIONS: .obj .c - -all: src/Mw.dll +all: src/Mw.dll oosrc/MwOO.dll clean: .SYMBOLIC %erase src/core.obj @@ -47,10 +45,44 @@ clean: .SYMBOLIC %erase src/icon/news.obj %erase src/icon/question.obj %erase src/backend/gdi.obj + %erase oosrc/base.obj + %erase oosrc/widget/button.obj + %erase oosrc/widget/frame.obj + %erase oosrc/widget/image.obj + %erase oosrc/widget/menu.obj + %erase oosrc/widget/opengl.obj + %erase oosrc/widget/scrollbar.obj + %erase oosrc/widget/submenu.obj + %erase oosrc/widget/window.obj + %erase oosrc/widget/checkbox.obj + %erase oosrc/widget/label.obj + %erase oosrc/widget/entry.obj + %erase oosrc/widget/numberentry.obj %erase src/Mw.dll %erase src/Mw.lib + %erase oosrc/MwOO.dll + %erase oosrc/MwOO.lib - +oosrc/MwOO.dll: $(OOOBJS) src/Mw.dll + %write MwOO.lnk system nt_dll initinstance terminstance name oosrc/MwOO.dll + %write MwOO.lnk option implib=oosrc/MwOO.lib + %write MwOO.lnk library src/Mw.lib + %write MwOO.lnk library clib3r.lib + %write MwOO.lnk file oosrc/base.obj + %write MwOO.lnk file oosrc/widget/button.obj + %write MwOO.lnk file oosrc/widget/frame.obj + %write MwOO.lnk file oosrc/widget/image.obj + %write MwOO.lnk file oosrc/widget/menu.obj + %write MwOO.lnk file oosrc/widget/opengl.obj + %write MwOO.lnk file oosrc/widget/scrollbar.obj + %write MwOO.lnk file oosrc/widget/submenu.obj + %write MwOO.lnk file oosrc/widget/window.obj + %write MwOO.lnk file oosrc/widget/checkbox.obj + %write MwOO.lnk file oosrc/widget/label.obj + %write MwOO.lnk file oosrc/widget/entry.obj + %write MwOO.lnk file oosrc/widget/numberentry.obj + wlink @MwOO.lnk + %erase MwOO.lnk src/Mw.dll: $(OBJS) %write Mw.lnk system nt_dll initinstance terminstance name src/Mw.dll %write Mw.lnk option implib=src/Mw.lib @@ -92,70 +124,96 @@ src/Mw.dll: $(OBJS) wlink @Mw.lnk %erase Mw.lnk src/core.obj: src/core.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/core.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/core.c src/draw.obj: src/draw.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/draw.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/draw.c src/default.obj: src/default.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/default.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/default.c src/lowlevel.obj: src/lowlevel.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/lowlevel.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/lowlevel.c src/error.obj: src/error.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/error.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/error.c src/unicode.obj: src/unicode.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/unicode.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/unicode.c src/font.obj: src/font.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/font.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/font.c src/color.obj: src/color.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/color.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/color.c src/messagebox.obj: src/messagebox.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/messagebox.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/messagebox.c src/boldfont.obj: src/boldfont.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/boldfont.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/boldfont.c src/widget/button.obj: src/widget/button.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/button.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/button.c src/widget/frame.obj: src/widget/frame.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/frame.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/frame.c src/widget/opengl.obj: src/widget/opengl.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/opengl.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/opengl.c src/widget/window.obj: src/widget/window.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/window.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/window.c src/widget/menu.obj: src/widget/menu.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/menu.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/menu.c src/widget/entry.obj: src/widget/entry.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/entry.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/entry.c src/widget/submenu.obj: src/widget/submenu.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/submenu.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/submenu.c src/widget/image.obj: src/widget/image.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/image.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/image.c src/widget/scrollbar.obj: src/widget/scrollbar.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/scrollbar.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/scrollbar.c src/widget/checkbox.obj: src/widget/checkbox.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/checkbox.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/checkbox.c src/widget/label.obj: src/widget/label.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/label.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/label.c src/widget/numberentry.obj: src/widget/numberentry.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/widget/numberentry.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/widget/numberentry.c src/external/ds.obj: src/external/ds.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/external/ds.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/external/ds.c src/external/image.obj: src/external/image.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/external/image.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/external/image.c src/cursor/default.obj: src/cursor/default.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/cursor/default.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/cursor/default.c src/cursor/cross.obj: src/cursor/cross.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/cursor/cross.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/cursor/cross.c src/cursor/text.obj: src/cursor/text.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/cursor/text.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/cursor/text.c src/icon/info.obj: src/icon/info.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/icon/info.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/info.c src/icon/note.obj: src/icon/note.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/icon/note.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/note.c src/icon/warning.obj: src/icon/warning.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/icon/warning.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/warning.c src/icon/error.obj: src/icon/error.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/icon/error.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/error.c src/icon/news.obj: src/icon/news.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/icon/news.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/news.c src/icon/question.obj: src/icon/question.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/icon/question.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/icon/question.c src/backend/gdi.obj: src/backend/gdi.c - $(CC) $(CFLAGS) -bt=nt -fo=$@ -i=include src/backend/gdi.c + $(CC) $(CFLAGS) -bt=nt -fo=$@ src/backend/gdi.c +oosrc/base.obj: oosrc/base.cc + $(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/base.cc +oosrc/widget/button.obj: oosrc/widget/button.cc + $(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/button.cc +oosrc/widget/frame.obj: oosrc/widget/frame.cc + $(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/frame.cc +oosrc/widget/image.obj: oosrc/widget/image.cc + $(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/image.cc +oosrc/widget/menu.obj: oosrc/widget/menu.cc + $(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/menu.cc +oosrc/widget/opengl.obj: oosrc/widget/opengl.cc + $(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/opengl.cc +oosrc/widget/scrollbar.obj: oosrc/widget/scrollbar.cc + $(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/scrollbar.cc +oosrc/widget/submenu.obj: oosrc/widget/submenu.cc + $(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/submenu.cc +oosrc/widget/window.obj: oosrc/widget/window.cc + $(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/window.cc +oosrc/widget/checkbox.obj: oosrc/widget/checkbox.cc + $(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/checkbox.cc +oosrc/widget/label.obj: oosrc/widget/label.cc + $(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/label.cc +oosrc/widget/entry.obj: oosrc/widget/entry.cc + $(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/entry.cc +oosrc/widget/numberentry.obj: oosrc/widget/numberentry.cc + $(CXX) $(CXXFLAGS) -bt=nt -fo=$@ oosrc/widget/numberentry.cc diff --git a/doc/index.html b/doc/index.html index 6b62679..76ad8fb 100644 --- a/doc/index.html +++ b/doc/index.html @@ -41,6 +41,9 @@
#define MwMB_ICONNEWS 0x5
+
+ #define MwMB_ICONERROR 0x6 +
#define MwMB_BUTTONMASK 0xf0
@@ -143,6 +146,9 @@
MwForceRender
+
+ MwForceRender2 +
Mw/Cursor.h
@@ -248,6 +254,9 @@
Mw/Icon.h
+
+ MwIconError[] +
MwIconInfo[]
@@ -528,6 +537,13 @@
+
#define MwMB_ICONERROR 0x6
+
+
+ Error icon. +
+
+
#define MwMB_BUTTONMASK 0xf0
@@ -641,7 +657,7 @@

-
#define MwDispatch3(x, y, name)
+
#define MwDispatch3(x, y, z)
Dispatches the handler of widget class. @@ -662,10 +678,10 @@ Handler name.
- Parameter name + Parameter z
- Property name. + Argument.

@@ -1323,6 +1339,28 @@
+
MWDECL void MwForceRender2 (
+	MwWidget handle,
+	void* ptr
+);
+
+
+ Forcefully makes widget render. +
+
+ Parameter handle +
+
+ Widget. +
+
+ Parameter ptr +
+
+ Ignored. +
+
+

Mw/Cursor.h

@@ -1968,6 +2006,13 @@

+
MWDECL char* MwIconError[];
+
+
+ Error icon. +
+
+
MWDECL char* MwIconInfo[];
diff --git a/include/Mw/LowLevel.h b/include/Mw/LowLevel.h index 5c2191c..0af1415 100644 --- a/include/Mw/LowLevel.h +++ b/include/Mw/LowLevel.h @@ -37,7 +37,7 @@ typedef void* MwLLPixmap; #define MwLLDispatch(x, y, z) \ if(x->handler != NULL && x->handler->y != NULL) x->handler->y(x, z) -enum MwLLKey { +enum MwLLKeyEnum { MwLLKeyBackSpace = (1 << 31) | 1, MwLLKeyLeft, MwLLKeyRight, @@ -45,10 +45,10 @@ enum MwLLKey { MwLLKeyDown }; -enum MwLLMouse { +enum MwLLMouseEnum { MwLLMouseLeft = 1, MwLLMouseMiddle = 2, - MwLLMouseRight = 3, + MwLLMouseRight = 3 }; struct _MwLLMouse { diff --git a/include/MwOO/Base.h b/include/MwOO/Base.h index bebc6cf..5cb9c72 100644 --- a/include/MwOO/Base.h +++ b/include/MwOO/Base.h @@ -38,6 +38,8 @@ class Base { virtual void OnMouseDownHandler(void*) {}; virtual void OnMouseUpHandler(void*) {}; virtual void OnChangedHandler(void*) {}; + virtual void OnKeyHandler(void*) {}; + virtual void OnKeyReleasedHandler(void*) {}; /* END AUTOGENERATE */ diff --git a/oosrc/base.cc b/oosrc/base.cc index 040562d..cb35bf6 100644 --- a/oosrc/base.cc +++ b/oosrc/base.cc @@ -96,6 +96,14 @@ static void __OnChangedHandler(MwWidget widget, void* user, void* call){ MwOO::Base* c = (MwOO::Base*)user; c->OnChangedHandler(call); } +static void __OnKeyHandler(MwWidget widget, void* user, void* call){ + MwOO::Base* c = (MwOO::Base*)user; + c->OnKeyHandler(call); +} +static void __OnKeyReleasedHandler(MwWidget widget, void* user, void* call){ + MwOO::Base* c = (MwOO::Base*)user; + c->OnKeyReleasedHandler(call); +} void MwOO::Base::SetHandler(void){ MwAddUserHandler(this->widget, MwNactivateHandler, __OnActivate, this); @@ -105,5 +113,7 @@ void MwOO::Base::SetHandler(void){ MwAddUserHandler(this->widget, MwNmouseDownHandler, __OnMouseDownHandler, this); MwAddUserHandler(this->widget, MwNmouseUpHandler, __OnMouseUpHandler, this); MwAddUserHandler(this->widget, MwNchangedHandler, __OnChangedHandler, this); + MwAddUserHandler(this->widget, MwNkeyHandler, __OnKeyHandler, this); + MwAddUserHandler(this->widget, MwNkeyReleasedHandler, __OnKeyReleasedHandler, this); } /* END AUTOGENERATE */ diff --git a/resource/icon/error.png b/resource/icon/error.png index e9c3a7d473cf2b57f3524e67d65cf7333a7e8b3b..9f58caaeb62b422979cb5f066859bf2596ca8aed 100644 GIT binary patch delta 48 zcmbQvI-PaGbaq~A33rXz>)( B49EZg diff --git a/resource/icon/news.png b/resource/icon/news.png index 11ecbc3fd8168cbe683e916d0a297c640ae4a650..d27e50e7a79111a5fdcdefb11617c4448920820c 100644 GIT binary patch delta 48 zcmbQoGLL1#M0Q?l33rXzzmvv4FO#or* B4kG{n diff --git a/resource/icon/warning.png b/resource/icon/warning.png index 382c213372f820a972d0806db24409168dcd87fe..d8efe4375ccceef0d68b16496e32f65c05b1e891 100644 GIT binary patch delta 48 zcmeyw{E2zOM0Q?l33rXz