optimization and rename

git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@442 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
NishiOwO
2025-10-21 16:14:09 +00:00
parent e569dc63f4
commit 557d1957f0
16 changed files with 87 additions and 60 deletions

View File

@@ -10,6 +10,7 @@ LDFLAGS = -tWD
all: src\Mw.dll oosrc\MwOO.dll
clean:
del /f /q src\core.obj
del /f /q src\string.obj
del /f /q src\draw.obj
del /f /q src\default.obj
del /f /q src\lowlevel.obj
@@ -19,7 +20,6 @@ clean:
del /f /q src\color.obj
del /f /q src\directory.obj
del /f /q src\messagebox.obj
del /f /q src\string.obj
del /f /q src\boldfont.obj
del /f /q src\filechooser.obj
del /f /q external\ds.obj
@@ -74,8 +74,8 @@ clean:
del /f /q src\Mw.dll
del /f /q oosrc\MwOO.dll
src\Mw.dll: 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\directory.obj src\messagebox.obj src\string.obj src\boldfont.obj src\filechooser.obj external\ds.obj external\image.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\icon\directory.obj src\icon\file.obj src\icon\back.obj src\icon\forward.obj src\icon\up.obj src\icon\computer.obj src\icon\search.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\cursor\hidden.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\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\listbox.obj src\widget\numberentry.obj src\backend\gdi.obj
$(LD) $(LDFLAGS) -e$@ 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\directory.obj src\messagebox.obj src\string.obj src\boldfont.obj src\filechooser.obj external\ds.obj external\image.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\icon\directory.obj src\icon\file.obj src\icon\back.obj src\icon\forward.obj src\icon\up.obj src\icon\computer.obj src\icon\search.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\cursor\hidden.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\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\listbox.obj src\widget\numberentry.obj src\backend\gdi.obj -lopengl32.lib -lgdi32.lib -luser32.lib
src\Mw.dll: src\core.obj src\string.obj src\draw.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\font.obj src\color.obj src\directory.obj src\messagebox.obj src\boldfont.obj src\filechooser.obj external\ds.obj external\image.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\icon\directory.obj src\icon\file.obj src\icon\back.obj src\icon\forward.obj src\icon\up.obj src\icon\computer.obj src\icon\search.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\cursor\hidden.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\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\listbox.obj src\widget\numberentry.obj src\backend\gdi.obj
$(LD) $(LDFLAGS) -e$@ src\core.obj src\string.obj src\draw.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\font.obj src\color.obj src\directory.obj src\messagebox.obj src\boldfont.obj src\filechooser.obj external\ds.obj external\image.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\icon\directory.obj src\icon\file.obj src\icon\back.obj src\icon\forward.obj src\icon\up.obj src\icon\computer.obj src\icon\search.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\cursor\hidden.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\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\listbox.obj src\widget\numberentry.obj src\backend\gdi.obj -lopengl32.lib -lgdi32.lib -luser32.lib
implib src\Mw.lib src\Mw.dll
oosrc\MwOO.dll: 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\viewport.obj oosrc\widget\listbox.obj oosrc\widget\label.obj oosrc\widget\entry.obj oosrc\widget\numberentry.obj

View File

@@ -10,6 +10,7 @@ LDFLAGS = /DLL
all: src\Mw.dll oosrc\MwOO.dll
clean:
del /f /q src\core.obj
del /f /q src\string.obj
del /f /q src\draw.obj
del /f /q src\default.obj
del /f /q src\lowlevel.obj
@@ -19,7 +20,6 @@ clean:
del /f /q src\color.obj
del /f /q src\directory.obj
del /f /q src\messagebox.obj
del /f /q src\string.obj
del /f /q src\boldfont.obj
del /f /q src\filechooser.obj
del /f /q external\ds.obj
@@ -74,8 +74,8 @@ clean:
del /f /q src\Mw.dll
del /f /q oosrc\MwOO.dll
src\Mw.dll: 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\directory.obj src\messagebox.obj src\string.obj src\boldfont.obj src\filechooser.obj external\ds.obj external\image.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\icon\directory.obj src\icon\file.obj src\icon\back.obj src\icon\forward.obj src\icon\up.obj src\icon\computer.obj src\icon\search.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\cursor\hidden.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\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\listbox.obj src\widget\numberentry.obj src\backend\gdi.obj
$(LD) $(LDFLAGS) /OUT:$@ 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\directory.obj src\messagebox.obj src\string.obj src\boldfont.obj src\filechooser.obj external\ds.obj external\image.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\icon\directory.obj src\icon\file.obj src\icon\back.obj src\icon\forward.obj src\icon\up.obj src\icon\computer.obj src\icon\search.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\cursor\hidden.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\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\listbox.obj src\widget\numberentry.obj src\backend\gdi.obj opengl32.lib gdi32.lib user32.lib
src\Mw.dll: src\core.obj src\string.obj src\draw.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\font.obj src\color.obj src\directory.obj src\messagebox.obj src\boldfont.obj src\filechooser.obj external\ds.obj external\image.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\icon\directory.obj src\icon\file.obj src\icon\back.obj src\icon\forward.obj src\icon\up.obj src\icon\computer.obj src\icon\search.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\cursor\hidden.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\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\listbox.obj src\widget\numberentry.obj src\backend\gdi.obj
$(LD) $(LDFLAGS) /OUT:$@ src\core.obj src\string.obj src\draw.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\font.obj src\color.obj src\directory.obj src\messagebox.obj src\boldfont.obj src\filechooser.obj external\ds.obj external\image.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\icon\directory.obj src\icon\file.obj src\icon\back.obj src\icon\forward.obj src\icon\up.obj src\icon\computer.obj src\icon\search.obj src\cursor\default.obj src\cursor\cross.obj src\cursor\text.obj src\cursor\hidden.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\viewport.obj src\widget\image.obj src\widget\scrollbar.obj src\widget\checkbox.obj src\widget\label.obj src\widget\listbox.obj src\widget\numberentry.obj src\backend\gdi.obj opengl32.lib gdi32.lib user32.lib
oosrc\MwOO.dll: 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\viewport.obj oosrc\widget\listbox.obj oosrc\widget\label.obj oosrc\widget\entry.obj oosrc\widget\numberentry.obj

View File

@@ -9,6 +9,7 @@ LDFLAGS = system nt_dll
all: src/Mw.dll oosrc/MwOO.dll
clean: .SYMBOLIC
%erase src/core.obj
%erase src/string.obj
%erase src/draw.obj
%erase src/default.obj
%erase src/lowlevel.obj
@@ -18,7 +19,6 @@ clean: .SYMBOLIC
%erase src/color.obj
%erase src/directory.obj
%erase src/messagebox.obj
%erase src/string.obj
%erase src/boldfont.obj
%erase src/filechooser.obj
%erase external/ds.obj
@@ -73,8 +73,8 @@ clean: .SYMBOLIC
%erase src/Mw.dll
%erase oosrc/MwOO.dll
src/Mw.dll: 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/directory.obj src/messagebox.obj src/string.obj src/boldfont.obj src/filechooser.obj external/ds.obj external/image.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/icon/directory.obj src/icon/file.obj src/icon/back.obj src/icon/forward.obj src/icon/up.obj src/icon/computer.obj src/icon/search.obj src/cursor/default.obj src/cursor/cross.obj src/cursor/text.obj src/cursor/hidden.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/viewport.obj src/widget/image.obj src/widget/scrollbar.obj src/widget/checkbox.obj src/widget/label.obj src/widget/listbox.obj src/widget/numberentry.obj src/backend/gdi.obj
$(LD) $(LDFLAGS) option implib=src/Mw.lib name $@ file src/core.obj file src/draw.obj file src/default.obj file src/lowlevel.obj file src/error.obj file src/unicode.obj file src/font.obj file src/color.obj file src/directory.obj file src/messagebox.obj file src/string.obj file src/boldfont.obj file src/filechooser.obj file external/ds.obj file external/image.obj file src/icon/info.obj file src/icon/note.obj file src/icon/warning.obj file src/icon/error.obj file src/icon/news.obj file src/icon/question.obj file src/icon/directory.obj file src/icon/file.obj file src/icon/back.obj file src/icon/forward.obj file src/icon/up.obj file src/icon/computer.obj file src/icon/search.obj file src/cursor/default.obj file src/cursor/cross.obj file src/cursor/text.obj file src/cursor/hidden.obj file src/widget/button.obj file src/widget/frame.obj file src/widget/opengl.obj file src/widget/window.obj file src/widget/menu.obj file src/widget/entry.obj file src/widget/submenu.obj file src/widget/viewport.obj file src/widget/image.obj file src/widget/scrollbar.obj file src/widget/checkbox.obj file src/widget/label.obj file src/widget/listbox.obj file src/widget/numberentry.obj file src/backend/gdi.obj library clib3r.lib library opengl32.lib library gdi32.lib library user32.lib
src/Mw.dll: src/core.obj src/string.obj src/draw.obj src/default.obj src/lowlevel.obj src/error.obj src/unicode.obj src/font.obj src/color.obj src/directory.obj src/messagebox.obj src/boldfont.obj src/filechooser.obj external/ds.obj external/image.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/icon/directory.obj src/icon/file.obj src/icon/back.obj src/icon/forward.obj src/icon/up.obj src/icon/computer.obj src/icon/search.obj src/cursor/default.obj src/cursor/cross.obj src/cursor/text.obj src/cursor/hidden.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/viewport.obj src/widget/image.obj src/widget/scrollbar.obj src/widget/checkbox.obj src/widget/label.obj src/widget/listbox.obj src/widget/numberentry.obj src/backend/gdi.obj
$(LD) $(LDFLAGS) option implib=src/Mw.lib name $@ file src/core.obj file src/string.obj file src/draw.obj file src/default.obj file src/lowlevel.obj file src/error.obj file src/unicode.obj file src/font.obj file src/color.obj file src/directory.obj file src/messagebox.obj file src/boldfont.obj file src/filechooser.obj file external/ds.obj file external/image.obj file src/icon/info.obj file src/icon/note.obj file src/icon/warning.obj file src/icon/error.obj file src/icon/news.obj file src/icon/question.obj file src/icon/directory.obj file src/icon/file.obj file src/icon/back.obj file src/icon/forward.obj file src/icon/up.obj file src/icon/computer.obj file src/icon/search.obj file src/cursor/default.obj file src/cursor/cross.obj file src/cursor/text.obj file src/cursor/hidden.obj file src/widget/button.obj file src/widget/frame.obj file src/widget/opengl.obj file src/widget/window.obj file src/widget/menu.obj file src/widget/entry.obj file src/widget/submenu.obj file src/widget/viewport.obj file src/widget/image.obj file src/widget/scrollbar.obj file src/widget/checkbox.obj file src/widget/label.obj file src/widget/listbox.obj file src/widget/numberentry.obj file src/backend/gdi.obj library clib3r.lib library opengl32.lib library gdi32.lib library user32.lib
oosrc/MwOO.dll: 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/viewport.obj oosrc/widget/listbox.obj oosrc/widget/label.obj oosrc/widget/entry.obj oosrc/widget/numberentry.obj
@@ -84,6 +84,8 @@ oosrc/MwOO.dll: oosrc/base.obj oosrc/widget/button.obj oosrc/widget/frame.obj o
src/core.obj: src/core.c
$(CC) $(CFLAGS) -fo=$@ $<
src/string.obj: src/string.c
$(CC) $(CFLAGS) -fo=$@ $<
src/draw.obj: src/draw.c
$(CC) $(CFLAGS) -fo=$@ $<
src/default.obj: src/default.c
@@ -102,8 +104,6 @@ src/directory.obj: src/directory.c
$(CC) $(CFLAGS) -fo=$@ $<
src/messagebox.obj: src/messagebox.c
$(CC) $(CFLAGS) -fo=$@ $<
src/string.obj: src/string.c
$(CC) $(CFLAGS) -fo=$@ $<
src/boldfont.obj: src/boldfont.c
$(CC) $(CFLAGS) -fo=$@ $<
src/filechooser.obj: src/filechooser.c

View File

@@ -78,10 +78,10 @@
<a href="#Mw_Core_h__MwDestroyWidget">MwDestroyWidget</a>
</dd>
<dd>
<a href="#Mw_Core_h__MwWidgetExecute">MwWidgetExecute</a>
<a href="#Mw_Core_h__MwVaWidgetExecute">MwVaWidgetExecute</a>
</dd>
<dd>
<a href="#Mw_Core_h__MwVaWidgetExecute">MwVaWidgetExecute</a>
<a href="#Mw_Core_h__MwVaListWidgetExecute">MwVaListWidgetExecute</a>
</dd>
<dd>
<a href="#Mw_Core_h__MwLoop">MwLoop</a>
@@ -997,7 +997,7 @@
</dd>
</dl>
<hr>
<pre id="Mw_Core_h__MwWidgetExecute">MWDECL <B><FONT COLOR="#228B22">void</FONT></B> <B><FONT COLOR="#0000FF">MwWidgetExecute</FONT></B> (
<pre id="Mw_Core_h__MwVaWidgetExecute">MWDECL <B><FONT COLOR="#228B22">void</FONT></B> <B><FONT COLOR="#0000FF">MwVaWidgetExecute</FONT></B> (
MwWidget handle,
<B><FONT COLOR="#228B22">const</FONT></B> <B><FONT COLOR="#228B22">char</FONT></B>* func_name,
<B><FONT COLOR="#228B22">void</FONT></B>* out,
@@ -1024,7 +1024,7 @@
</dd>
</dl>
<hr>
<pre id="Mw_Core_h__MwVaWidgetExecute">MWDECL <B><FONT COLOR="#228B22">void</FONT></B> <B><FONT COLOR="#0000FF">MwVaWidgetExecute</FONT></B> (
<pre id="Mw_Core_h__MwVaListWidgetExecute">MWDECL <B><FONT COLOR="#228B22">void</FONT></B> <B><FONT COLOR="#0000FF">MwVaListWidgetExecute</FONT></B> (
MwWidget handle,
<B><FONT COLOR="#228B22">const</FONT></B> <B><FONT COLOR="#228B22">char</FONT></B>* func_name,
<B><FONT COLOR="#228B22">void</FONT></B>* out,

View File

@@ -97,7 +97,7 @@ MWDECL void MwDestroyWidget(MwWidget handle);
* %param handle Widget
* %param ... Widget function arguments.
*/
MWDECL void MwWidgetExecute(MwWidget handle, const char* func_name, void* out, ...);
MWDECL void MwVaWidgetExecute(MwWidget handle, const char* func_name, void* out, ...);
/*!
* %brief Executes a method specific to the widget (va_list version).

View File

@@ -64,7 +64,7 @@ MWDECL void MwListBoxVaInsertMultiple(MwWidget handle, int index, int count, MwL
* %param index Index
*/
MwInline void MwListBoxDelete(MwWidget handle, int index) {
MwWidgetExecute(handle, "mwListboxDelete", NULL, index);
MwVaWidgetExecute(handle, "mwListboxDelete", NULL, index);
};
/*!
@@ -75,7 +75,7 @@ MwInline void MwListBoxDelete(MwWidget handle, int index) {
*/
MwInline const char* MwListBoxGet(MwWidget handle, int index) {
const char* out;
MwWidgetExecute(handle, "mwListBoxGet", (void*)&out, index);
MwVaWidgetExecute(handle, "mwListBoxGet", (void*)&out, index);
return out;
};
@@ -86,7 +86,7 @@ MwInline const char* MwListBoxGet(MwWidget handle, int index) {
* %param width Width
*/
MwInline void MwListBoxSetWidth(MwWidget handle, int index, int width) {
MwWidgetExecute(handle, "mwListBoxSetWidth", NULL, index, width);
MwVaWidgetExecute(handle, "mwListBoxSetWidth", NULL, index, width);
};
/*!
@@ -94,7 +94,7 @@ MwInline void MwListBoxSetWidth(MwWidget handle, int index, int width) {
* %param handle Widget
*/
MwInline void MwListBoxReset(MwWidget handle) {
MwWidgetExecute(handle, "mwListBoxReset", NULL, handle);
MwVaWidgetExecute(handle, "mwListBoxReset", NULL, handle);
};
#ifdef __cplusplus

View File

@@ -28,7 +28,7 @@ MWDECL MwClass MwMenuClass;
*/
MwInline MwMenu MwMenuAdd(MwWidget handle, MwMenu menu, const char* name) {
MwMenu out;
MwWidgetExecute(handle, "mwMenuAdd", &out, menu, name);
MwVaWidgetExecute(handle, "mwMenuAdd", &out, menu, name);
return out;
};

View File

@@ -35,7 +35,7 @@ MWDECL MwClass MwOpenGLClass;
* %param handle Widget
*/
MwInline void MwOpenGLMakeCurrent(MwWidget handle) {
MwWidgetExecute(handle, "mwOpenGLMakeCurrent", NULL);
MwVaWidgetExecute(handle, "mwOpenGLMakeCurrent", NULL);
};
/*!
@@ -46,7 +46,7 @@ MwInline void MwOpenGLMakeCurrent(MwWidget handle) {
*/
MwInline void* MwOpenGLGetProcAddress(MwWidget handle, const char* name) {
void* out;
MwWidgetExecute(handle, "mwOpenGLGetProcAddress", &out, name);
MwVaWidgetExecute(handle, "mwOpenGLGetProcAddress", &out, name);
return out;
};
@@ -55,7 +55,7 @@ MwInline void* MwOpenGLGetProcAddress(MwWidget handle, const char* name) {
* %param handle Widget
*/
MwInline void MwOpenGLSwapBuffer(MwWidget handle) {
MwWidgetExecute(handle, "mwOpenGLSwapBuffer", NULL);
MwVaWidgetExecute(handle, "mwOpenGLSwapBuffer", NULL);
};
#ifdef __cplusplus

View File

@@ -27,7 +27,7 @@ MWDECL MwClass MwScrollBarClass;
*/
MwInline int MwScrollBarGetVisibleLength(MwWidget handle) {
int out;
MwWidgetExecute(handle, "mwScrollBarGetVisibleLength", &out, NULL);
MwVaWidgetExecute(handle, "mwScrollBarGetVisibleLength", &out, NULL);
return out;
};

View File

@@ -20,7 +20,7 @@ extern "C" {
MWDECL MwClass MwSubMenuClass;
MwInline void MwSubMenuAppear(MwWidget handle, MwMenu menu, MwPoint* point) {
MwWidgetExecute(handle, "mwSubMenuAppear", NULL, menu, point);
MwVaWidgetExecute(handle, "mwSubMenuAppear", NULL, menu, point);
};
#ifdef __cplusplus

View File

@@ -26,7 +26,7 @@ MWDECL MwClass MwViewportClass;
*/
MwInline MwWidget MwViewportGetViewport(MwWidget handle) {
MwWidget out;
MwWidgetExecute(handle, "mwViewportGetViewport", &out);
MwVaWidgetExecute(handle, "mwViewportGetViewport", &out);
return out;
};
@@ -37,7 +37,7 @@ MwInline MwWidget MwViewportGetViewport(MwWidget handle) {
* %param h Height
*/
MwInline void MwViewportSetSize(MwWidget handle, int w, int h) {
MwWidgetExecute(handle, "mwViewportSetSize", NULL, w, h);
MwVaWidgetExecute(handle, "mwViewportSetSize", NULL, w, h);
};
#ifdef __cplusplus

View File

@@ -115,7 +115,7 @@ typedef enum MwVulkanField_T {
*/
MwInline void* MwVulkanGetField(MwWidget handle, MwVulkanField field, MwErrorEnum* out) {
void* field_out;
MwWidgetExecute(handle, "mwVulkanGetField", &field_out, field, out);
MwVaWidgetExecute(handle, "mwVulkanGetField", &field_out, field, out);
return field_out;
};

View File

@@ -26,7 +26,7 @@ MWDECL MwClass MwWindowClass;
* %param toggle Toggle
*/
MwInline void MwWindowMakeBorderless(MwWidget handle, int toggle) {
MwWidgetExecute(handle, "mwWindowMakeBorderless", NULL, toggle);
MwVaWidgetExecute(handle, "mwWindowMakeBorderless", NULL, toggle);
};
#ifdef __cplusplus

View File

@@ -59,22 +59,14 @@ static void wait_map(MwLL handle) {
arrfree(queue);
}
static unsigned long generate_color(XVisualInfo* xvi, unsigned long r, unsigned long g, unsigned long b) {
int i;
unsigned long n = 1;
static unsigned long generate_color(MwLL handle, unsigned long r, unsigned long g, unsigned long b) {
unsigned long c = 0;
i = 0;
while(!((n << i) & xvi->red_mask)) i++;
c |= (r * (xvi->red_mask >> i) / 255) << i;
c |= (r * handle->red_max / 255) << handle->red_shift;
i = 0;
while(!((n << i) & xvi->green_mask)) i++;
c |= (g * (xvi->green_mask >> i) / 255) << i;
c |= (g * handle->green_max / 255) << handle->green_shift;
i = 0;
while(!((n << i) & xvi->blue_mask)) i++;
c |= (b * (xvi->blue_mask >> i) / 255) << i;
c |= (b * handle->blue_max / 255) << handle->blue_shift;
return c;
}
@@ -90,8 +82,11 @@ static XVisualInfo* get_visual_info(Display* display) {
}
MwLL MwLLCreate(MwLL parent, int x, int y, int width, int height) {
MwLL r;
Window p;
MwLL r;
Window p;
XVisualInfo* xvi;
unsigned long n = 1;
int i;
r = malloc(sizeof(*r));
@@ -111,7 +106,29 @@ MwLL MwLLCreate(MwLL parent, int x, int y, int width, int height) {
}
r->window = XCreateSimpleWindow(r->display, p, x, y, width, height, 0, 0, WhitePixel(r->display, DefaultScreen(r->display)));
r->visual = get_visual_info(r->display);
xvi = get_visual_info(r->display);
if(xvi->red_mask != 0) {
i = 0;
while(!((n << i) & xvi->red_mask)) i++;
r->red_mask = xvi->red_mask;
r->red_max = xvi->red_mask >> i;
r->red_shift = i;
i = 0;
while(!((n << i) & xvi->green_mask)) i++;
r->green_mask = xvi->green_mask;
r->green_max = xvi->green_mask >> i;
r->green_shift = i;
i = 0;
while(!((n << i) & xvi->blue_mask)) i++;
r->blue_mask = xvi->blue_mask;
r->blue_max = xvi->blue_mask >> i;
r->blue_shift = i;
}
XFree(xvi);
XSetLocaleModifiers("");
if((r->xim = XOpenIM(r->display, 0, 0, 0)) == NULL) {
@@ -160,7 +177,6 @@ void MwLLDestroy(MwLL handle) {
if(handle->xim) XCloseIM(handle->xim);
destroy_pixmap(handle);
XFree(handle->visual);
XFreeGC(handle->display, handle->gc);
XUnmapWindow(handle->display, handle->window);
XDestroyWindow(handle->display, handle->window);
@@ -194,7 +210,7 @@ MwLLColor MwLLAllocColor(MwLL handle, int r, int g, int b) {
MwLLColor c = malloc(sizeof(*c));
XColor xc;
if(handle->visual->red_mask == 0) {
if(handle->red_mask == 0) {
if(r > 255) r = 255;
if(g > 255) g = 255;
if(b > 255) b = 255;
@@ -209,7 +225,7 @@ MwLLColor MwLLAllocColor(MwLL handle, int r, int g, int b) {
c->pixel = xc.pixel;
} else {
c->pixel = generate_color(handle->visual, r, g, b);
c->pixel = generate_color(handle, r, g, b);
}
c->red = r;
c->green = g;

View File

@@ -13,17 +13,16 @@
#include <X11/extensions/Xrender.h>
struct _MwLL {
Display* display;
Window window;
Pixmap pixmap;
GC gc;
Colormap colormap;
void* user;
Atom wm_delete;
int copy_buffer;
XIM xim;
XIC xic;
XVisualInfo* visual;
Display* display;
Window window;
Pixmap pixmap;
GC gc;
Colormap colormap;
void* user;
Atom wm_delete;
int copy_buffer;
XIM xim;
XIC xic;
unsigned int width;
unsigned int height;
@@ -31,6 +30,18 @@ struct _MwLL {
MwLLHandler handler;
int grabbed;
unsigned long red_mask;
unsigned long red_max;
unsigned long red_shift;
unsigned long green_mask;
unsigned long green_max;
unsigned long green_shift;
unsigned long blue_mask;
unsigned long blue_max;
unsigned long blue_shift;
};
struct _MwLLColor {

View File

@@ -230,7 +230,7 @@ void MwDestroyWidget(MwWidget handle) {
handle->destroyed = 1;
}
void MwWidgetExecute(MwWidget handle, const char* func_name, void* out, ...) {
void MwVaWidgetExecute(MwWidget handle, const char* func_name, void* out, ...) {
va_list args;
va_start(args, out);
MwVaListWidgetExecute(handle, func_name, out, args);