mirror of
https://gitea.nishi.boats/pyrite-dev/milsko
synced 2025-12-31 06:30:52 +00:00
Compare commits
8 Commits
270c87bca2
...
3e4001e4f1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3e4001e4f1 | ||
|
|
02c21233ae | ||
|
|
a5cd1974e4 | ||
|
|
a1ce1b56e4 | ||
|
|
1a95ddce94 | ||
|
|
50f11b1c69 | ||
|
|
5003d29246 | ||
|
|
1853cd1e7f |
5
BorMakefile
generated
5
BorMakefile
generated
@@ -51,6 +51,7 @@ clean:
|
|||||||
del /f /q src\string.obj
|
del /f /q src\string.obj
|
||||||
del /f /q src\text.obj
|
del /f /q src\text.obj
|
||||||
del /f /q src\unicode.obj
|
del /f /q src\unicode.obj
|
||||||
|
del /f /q src\widget\box.obj
|
||||||
del /f /q src\widget\button.obj
|
del /f /q src\widget\button.obj
|
||||||
del /f /q src\widget\checkbox.obj
|
del /f /q src\widget\checkbox.obj
|
||||||
del /f /q src\widget\combobox.obj
|
del /f /q src\widget\combobox.obj
|
||||||
@@ -73,8 +74,8 @@ clean:
|
|||||||
del /f /q src\Mw.dll
|
del /f /q src\Mw.dll
|
||||||
del /f /q src\Mw.lib
|
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\font\boldfont.obj src\font\boldttf.obj src\font\font.obj src\font\ttf.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.obj src\unicode.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
|
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\font\boldfont.obj src\font\boldttf.obj src\font\font.obj src\font\ttf.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.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\font\boldfont.obj src\font\boldttf.obj src\font\font.obj src\font\ttf.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.obj src\unicode.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
|
$(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\font\boldfont.obj src\font\boldttf.obj src\font\font.obj src\font\ttf.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.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
|
implib src\Mw.lib src\Mw.dll
|
||||||
|
|
||||||
.c.obj:
|
.c.obj:
|
||||||
|
|||||||
@@ -171,14 +171,17 @@ print(OUT "\n");
|
|||||||
print(OUT "all: lib examples\n");
|
print(OUT "all: lib examples\n");
|
||||||
print(OUT "\n");
|
print(OUT "\n");
|
||||||
print(OUT "install: lib\n");
|
print(OUT "install: lib\n");
|
||||||
print(OUT " mkdir -p \$(DESTDIR)\$(PREFIX)/lib \$(DESTDIR)\$(PREFIX)/include\n");
|
print(OUT
|
||||||
print(OUT " -cp src/${library_prefix}Mw${library_suffix} \$(DESTDIR)\$(PREFIX)/lib/\n");
|
" mkdir -p \$(DESTDIR)\$(PREFIX)/lib \$(DESTDIR)\$(PREFIX)/include\n");
|
||||||
|
print(OUT
|
||||||
|
" -cp src/${library_prefix}Mw${library_suffix} \$(DESTDIR)\$(PREFIX)/lib/\n"
|
||||||
|
);
|
||||||
print(OUT " -cp src/libMw.a \$(DESTDIR)\$(PREFIX)/lib/\n");
|
print(OUT " -cp src/libMw.a \$(DESTDIR)\$(PREFIX)/lib/\n");
|
||||||
print(OUT " cp -rf include \$(DESTDIR)\$(PREFIX)/\n");
|
print(OUT " cp -rf include \$(DESTDIR)\$(PREFIX)/\n");
|
||||||
print(OUT "\n");
|
print(OUT "\n");
|
||||||
print(OUT "format:\n");
|
print(OUT "format:\n");
|
||||||
print(OUT
|
print(OUT
|
||||||
" clang-format --verbose -i `find src include -name \"*.c\" -or -name \"*.h\"`\n"
|
" clang-format --verbose -i `find src include examples -name \"*.c\" -or -name \"*.h\"`\n"
|
||||||
);
|
);
|
||||||
print(OUT
|
print(OUT
|
||||||
" perltidy -b -bext=\"/\" --paren-tightness=2 `find tools pl Makefile.pl -name \"*.pl\"`\n"
|
" perltidy -b -bext=\"/\" --paren-tightness=2 `find tools pl Makefile.pl -name \"*.pl\"`\n"
|
||||||
|
|||||||
5
NTMakefile
generated
5
NTMakefile
generated
@@ -51,6 +51,7 @@ clean:
|
|||||||
del /f /q src\string.obj
|
del /f /q src\string.obj
|
||||||
del /f /q src\text.obj
|
del /f /q src\text.obj
|
||||||
del /f /q src\unicode.obj
|
del /f /q src\unicode.obj
|
||||||
|
del /f /q src\widget\box.obj
|
||||||
del /f /q src\widget\button.obj
|
del /f /q src\widget\button.obj
|
||||||
del /f /q src\widget\checkbox.obj
|
del /f /q src\widget\checkbox.obj
|
||||||
del /f /q src\widget\combobox.obj
|
del /f /q src\widget\combobox.obj
|
||||||
@@ -73,8 +74,8 @@ clean:
|
|||||||
del /f /q src\Mw.dll
|
del /f /q src\Mw.dll
|
||||||
del /f /q src\Mw.lib
|
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\font\boldfont.obj src\font\boldttf.obj src\font\font.obj src\font\ttf.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.obj src\unicode.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
|
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\font\boldfont.obj src\font\boldttf.obj src\font\font.obj src\font\ttf.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.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\font\boldfont.obj src\font\boldttf.obj src\font\font.obj src\font\ttf.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.obj src\unicode.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
|
$(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\font\boldfont.obj src\font\boldttf.obj src\font\font.obj src\font\ttf.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.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:
|
.c.obj:
|
||||||
|
|||||||
7
WatMakefile
generated
7
WatMakefile
generated
@@ -50,6 +50,7 @@ clean: .SYMBOLIC
|
|||||||
%erase src/string.obj
|
%erase src/string.obj
|
||||||
%erase src/text.obj
|
%erase src/text.obj
|
||||||
%erase src/unicode.obj
|
%erase src/unicode.obj
|
||||||
|
%erase src/widget/box.obj
|
||||||
%erase src/widget/button.obj
|
%erase src/widget/button.obj
|
||||||
%erase src/widget/checkbox.obj
|
%erase src/widget/checkbox.obj
|
||||||
%erase src/widget/combobox.obj
|
%erase src/widget/combobox.obj
|
||||||
@@ -72,8 +73,8 @@ clean: .SYMBOLIC
|
|||||||
%erase src/Mw.dll
|
%erase src/Mw.dll
|
||||||
%erase src/Mw.lib
|
%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/font/boldfont.obj src/font/boldttf.obj src/font/font.obj src/font/ttf.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.obj src/unicode.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
|
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/font/boldfont.obj src/font/boldttf.obj src/font/font.obj src/font/ttf.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.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/font/boldfont.obj file src/font/boldttf.obj file src/font/font.obj file src/font/ttf.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.obj file src/unicode.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
|
$(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/font/boldfont.obj file src/font/boldttf.obj file src/font/font.obj file src/font/ttf.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.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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -167,6 +168,8 @@ src/text.obj: src/text.c
|
|||||||
$(CC) $(CFLAGS) -fo=$@ $<
|
$(CC) $(CFLAGS) -fo=$@ $<
|
||||||
src/unicode.obj: src/unicode.c
|
src/unicode.obj: src/unicode.c
|
||||||
$(CC) $(CFLAGS) -fo=$@ $<
|
$(CC) $(CFLAGS) -fo=$@ $<
|
||||||
|
src/widget/box.obj: src/widget/box.c
|
||||||
|
$(CC) $(CFLAGS) -fo=$@ $<
|
||||||
src/widget/button.obj: src/widget/button.c
|
src/widget/button.obj: src/widget/button.c
|
||||||
$(CC) $(CFLAGS) -fo=$@ $<
|
$(CC) $(CFLAGS) -fo=$@ $<
|
||||||
src/widget/checkbox.obj: src/widget/checkbox.c
|
src/widget/checkbox.obj: src/widget/checkbox.c
|
||||||
|
|||||||
74
examples/basic/box.c
Normal file
74
examples/basic/box.c
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
#include <Mw/Milsko.h>
|
||||||
|
|
||||||
|
MwWidget window, box;
|
||||||
|
|
||||||
|
void resize(MwWidget handle, void* user, void* client) {
|
||||||
|
int ww = MwGetInteger(handle, MwNwidth);
|
||||||
|
int wh = MwGetInteger(handle, MwNheight);
|
||||||
|
|
||||||
|
(void)user;
|
||||||
|
(void)client;
|
||||||
|
|
||||||
|
MwVaApply(box,
|
||||||
|
MwNwidth, ww,
|
||||||
|
MwNheight, wh,
|
||||||
|
NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
MwWidget box2, box3, box4;
|
||||||
|
|
||||||
|
MwLibraryInit();
|
||||||
|
|
||||||
|
window = MwVaCreateWidget(MwWindowClass, "main", NULL, MwDEFAULT, MwDEFAULT, 600, 200,
|
||||||
|
MwNtitle, "box",
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
box = MwVaCreateWidget(MwBoxClass, "box", window, 0, 0, 0, 0,
|
||||||
|
MwNpadding, 10,
|
||||||
|
MwNmargin, 10,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
box2 = MwVaCreateWidget(MwBoxClass, "box2", box, 0, 0, 0, 0,
|
||||||
|
MwNmargin, 10,
|
||||||
|
MwNorientation, MwVERTICAL,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
box3 = MwVaCreateWidget(MwBoxClass, "box3", box, 0, 0, 0, 0,
|
||||||
|
MwNmargin, 10,
|
||||||
|
MwNorientation, MwVERTICAL,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
box4 = MwVaCreateWidget(MwBoxClass, "box4", box, 0, 0, 0, 0,
|
||||||
|
MwNmargin, 10,
|
||||||
|
MwNorientation, MwVERTICAL,
|
||||||
|
MwNfixedSize, 40,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
MwVaCreateWidget(MwButtonClass, "btn1", box2, 0, 0, 0, 0,
|
||||||
|
MwNbackground, "#a00",
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
MwVaCreateWidget(MwButtonClass, "btn2", box2, 0, 0, 0, 0,
|
||||||
|
MwNbackground, "#0a0",
|
||||||
|
MwNratio, 2,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
MwVaCreateWidget(MwButtonClass, "btn3", box2, 0, 0, 0, 0,
|
||||||
|
MwNbackground, "#00a",
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
MwVaCreateWidget(MwButtonClass, "btn4", box3, 0, 0, 0, 0,
|
||||||
|
MwNbackground, "#a0a",
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
MwVaCreateWidget(MwButtonClass, "btn5", box4, 0, 0, 0, 0,
|
||||||
|
MwNbackground, "#0aa",
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
MwAddUserHandler(window, MwNresizeHandler, resize, NULL);
|
||||||
|
|
||||||
|
resize(window, NULL, NULL);
|
||||||
|
|
||||||
|
MwLoop(window);
|
||||||
|
}
|
||||||
@@ -719,5 +719,4 @@ const char* harvard[] = {
|
|||||||
"A severe storm tore down the barn.",
|
"A severe storm tore down the barn.",
|
||||||
"She called his name many times.",
|
"She called his name many times.",
|
||||||
"When you hear the bell, come quickly.",
|
"When you hear the bell, come quickly.",
|
||||||
NULL
|
NULL};
|
||||||
};
|
|
||||||
|
|||||||
@@ -37,6 +37,17 @@
|
|||||||
#define MwDispatch3(x, y, z) \
|
#define MwDispatch3(x, y, z) \
|
||||||
if(!x->destroyed && x->widget_class != NULL && x->widget_class->y != NULL) x->widget_class->y(x, z)
|
if(!x->destroyed && x->widget_class != NULL && x->widget_class->y != NULL) x->widget_class->y(x, z)
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @warning Used internally
|
||||||
|
* @brief Dispatches the handler of widget class
|
||||||
|
* @param x Widget
|
||||||
|
* @param y Handler name
|
||||||
|
* @param z Argument
|
||||||
|
* @param w Argument
|
||||||
|
*/
|
||||||
|
#define MwDispatch4(x, y, z, w) \
|
||||||
|
if(!x->destroyed && x->widget_class != NULL && x->widget_class->y != NULL) x->widget_class->y(x, z, w)
|
||||||
|
|
||||||
#define MwWaitMS 30
|
#define MwWaitMS 30
|
||||||
|
|
||||||
#define MwDoubleClickTimeout 250
|
#define MwDoubleClickTimeout 250
|
||||||
|
|||||||
@@ -50,5 +50,6 @@
|
|||||||
#include <Mw/Widget/Separator.h>
|
#include <Mw/Widget/Separator.h>
|
||||||
#include <Mw/Widget/ComboBox.h>
|
#include <Mw/Widget/ComboBox.h>
|
||||||
#include <Mw/Widget/TreeView.h>
|
#include <Mw/Widget/TreeView.h>
|
||||||
|
#include <Mw/Widget/Box.h>
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -32,6 +32,9 @@
|
|||||||
#define MwNpadding "Ipadding"
|
#define MwNpadding "Ipadding"
|
||||||
#define MwNborderWidth "IborderWidth"
|
#define MwNborderWidth "IborderWidth"
|
||||||
#define MwNfillArea "IfillArea"
|
#define MwNfillArea "IfillArea"
|
||||||
|
#define MwNratio "Iratio"
|
||||||
|
#define MwNfixedSize "IfixedSize"
|
||||||
|
#define MwNmargin "Imargin"
|
||||||
|
|
||||||
#define MwNtitle "Stitle"
|
#define MwNtitle "Stitle"
|
||||||
#define MwNtext "Stext"
|
#define MwNtext "Stext"
|
||||||
|
|||||||
@@ -32,11 +32,13 @@ typedef void* MwWidget;
|
|||||||
typedef void (*MwHandler)(MwWidget handle);
|
typedef void (*MwHandler)(MwWidget handle);
|
||||||
typedef int (*MwHandlerWithStatus)(MwWidget handle);
|
typedef int (*MwHandlerWithStatus)(MwWidget handle);
|
||||||
typedef void (*MwHandlerProp)(MwWidget handle, const char* key);
|
typedef void (*MwHandlerProp)(MwWidget handle, const char* key);
|
||||||
|
typedef void (*MwHandlerChildrenProp)(MwWidget handle, MwWidget child, const char* key);
|
||||||
typedef void (*MwHandlerKey)(MwWidget handle, int key);
|
typedef void (*MwHandlerKey)(MwWidget handle, int key);
|
||||||
typedef void (*MwHandlerMouse)(MwWidget handle, void* ptr);
|
typedef void (*MwHandlerMouse)(MwWidget handle, void* ptr);
|
||||||
|
typedef void (*MwHandlerExecute)(MwWidget handle, const char* name, void* out, va_list args);
|
||||||
|
|
||||||
typedef void (*MwUserHandler)(MwWidget handle, void* user_data, void* call_data);
|
typedef void (*MwUserHandler)(MwWidget handle, void* user_data, void* call_data);
|
||||||
typedef void (*MwErrorHandler)(int code, const char* message, void* user_data);
|
typedef void (*MwErrorHandler)(int code, const char* message, void* user_data);
|
||||||
typedef void (*MwHandlerExecute)(MwWidget handle, const char* name, void* out, va_list args);
|
|
||||||
|
|
||||||
struct _MwTextKeyValue {
|
struct _MwTextKeyValue {
|
||||||
char* key;
|
char* key;
|
||||||
@@ -187,6 +189,11 @@ struct _MwClass {
|
|||||||
MwHandlerKey key;
|
MwHandlerKey key;
|
||||||
MwHandlerExecute execute;
|
MwHandlerExecute execute;
|
||||||
MwHandler tick;
|
MwHandler tick;
|
||||||
|
MwHandler resize;
|
||||||
|
MwHandler children_update;
|
||||||
|
MwHandlerChildrenProp children_prop_change;
|
||||||
|
void* reserved1;
|
||||||
|
void* reserved2;
|
||||||
void* reserved3;
|
void* reserved3;
|
||||||
void* reserved4;
|
void* reserved4;
|
||||||
void* reserved5;
|
void* reserved5;
|
||||||
|
|||||||
24
include/Mw/Widget/Box.h
Normal file
24
include/Mw/Widget/Box.h
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
/*!
|
||||||
|
* @file Mw/Widget/Box.h
|
||||||
|
* @brief Box widget
|
||||||
|
*/
|
||||||
|
#ifndef __MW_WIDGET_BOX_H__
|
||||||
|
#define __MW_WIDGET_BOX_H__
|
||||||
|
|
||||||
|
#include <Mw/MachDep.h>
|
||||||
|
#include <Mw/TypeDefs.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Box widget class
|
||||||
|
*/
|
||||||
|
MWDECL MwClass MwBoxClass;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
12
milsko.xml
12
milsko.xml
@@ -49,6 +49,8 @@
|
|||||||
- MwNheight
|
- MwNheight
|
||||||
- MwNborderWidth
|
- MwNborderWidth
|
||||||
- MwNbackgroundPixmap
|
- MwNbackgroundPixmap
|
||||||
|
- MwNratio
|
||||||
|
- MwNfixedSize
|
||||||
|
|
||||||
Integer properties must be prefixed with I.
|
Integer properties must be prefixed with I.
|
||||||
String properties must be prefixed with S.
|
String properties must be prefixed with S.
|
||||||
@@ -82,6 +84,9 @@
|
|||||||
<integer name="showArrows" />
|
<integer name="showArrows" />
|
||||||
<integer name="padding" />
|
<integer name="padding" />
|
||||||
<integer name="borderWidth" />
|
<integer name="borderWidth" />
|
||||||
|
<integer name="ratio" />
|
||||||
|
<integer name="fixedSize" />
|
||||||
|
<integer name="margin" />
|
||||||
|
|
||||||
<string name="title" />
|
<string name="title" />
|
||||||
<string name="text" />
|
<string name="text" />
|
||||||
@@ -483,6 +488,13 @@
|
|||||||
</header>
|
</header>
|
||||||
</headers>
|
</headers>
|
||||||
<widgets>
|
<widgets>
|
||||||
|
<widget name="Box">
|
||||||
|
<properties>
|
||||||
|
<property name="orientation" />
|
||||||
|
<property name="margin" />
|
||||||
|
<property name="padding" />
|
||||||
|
</properties>
|
||||||
|
</widget>
|
||||||
<widget name="Button">
|
<widget name="Button">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="pixmap" />
|
<property name="pixmap" />
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ new_object("src/icon/*.c");
|
|||||||
new_object("src/font/*.c");
|
new_object("src/font/*.c");
|
||||||
new_object("src/cursor/*.c");
|
new_object("src/cursor/*.c");
|
||||||
|
|
||||||
|
new_object("src/widget/box.c");
|
||||||
new_object("src/widget/button.c");
|
new_object("src/widget/button.c");
|
||||||
new_object("src/widget/checkbox.c");
|
new_object("src/widget/checkbox.c");
|
||||||
new_object("src/widget/combobox.c");
|
new_object("src/widget/combobox.c");
|
||||||
@@ -116,6 +117,7 @@ new_example("examples/basic/progressbar");
|
|||||||
new_example("examples/basic/colorpicker");
|
new_example("examples/basic/colorpicker");
|
||||||
new_example("examples/basic/combobox");
|
new_example("examples/basic/combobox");
|
||||||
new_example("examples/basic/treeview");
|
new_example("examples/basic/treeview");
|
||||||
|
new_example("examples/basic/box");
|
||||||
|
|
||||||
if (param_get("opengl")) {
|
if (param_get("opengl")) {
|
||||||
new_example("examples/gldemos/boing", $gl_libs);
|
new_example("examples/gldemos/boing", $gl_libs);
|
||||||
|
|||||||
22
src/core.c
22
src/core.c
@@ -50,6 +50,7 @@ static void llresizehandler(MwLL handle, void* data) {
|
|||||||
for(i = 0; i < arrlen(h->children); i++) {
|
for(i = 0; i < arrlen(h->children); i++) {
|
||||||
MwDispatch(h->children[i], parent_resize);
|
MwDispatch(h->children[i], parent_resize);
|
||||||
}
|
}
|
||||||
|
MwDispatch(h, resize);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void llclosehandler(MwLL handle, void* data) {
|
static void llclosehandler(MwLL handle, void* data) {
|
||||||
@@ -176,6 +177,8 @@ MwWidget MwCreateWidget(MwClass widget_class, const char* name, MwWidget parent,
|
|||||||
MwAddTickList(h);
|
MwAddTickList(h);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(h->parent != NULL) MwDispatch(h->parent, children_update);
|
||||||
|
|
||||||
return h;
|
return h;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -378,7 +381,10 @@ void MwSetInteger(MwWidget handle, const char* key, int n) {
|
|||||||
} else {
|
} else {
|
||||||
shput(handle->integer, key, n);
|
shput(handle->integer, key, n);
|
||||||
}
|
}
|
||||||
if(handle->prop_event) MwDispatch3(handle, prop_change, key);
|
if(handle->prop_event) {
|
||||||
|
MwDispatch3(handle, prop_change, key);
|
||||||
|
if(handle->parent != NULL) MwDispatch4(handle->parent, children_prop_change, handle, key);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MwSetText(MwWidget handle, const char* key, const char* value) {
|
void MwSetText(MwWidget handle, const char* key, const char* value) {
|
||||||
@@ -395,7 +401,10 @@ void MwSetText(MwWidget handle, const char* key, const char* value) {
|
|||||||
shdel(handle->text, key);
|
shdel(handle->text, key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(handle->prop_event) MwDispatch3(handle, prop_change, key);
|
if(handle->prop_event) {
|
||||||
|
MwDispatch3(handle, prop_change, key);
|
||||||
|
if(handle->parent != NULL) MwDispatch4(handle->parent, children_prop_change, handle, key);
|
||||||
|
}
|
||||||
if(strcmp(key, MwNbackground) == 0 || strcmp(key, MwNforeground) == 0 || strcmp(key, MwNsubBackground) == 0 || strcmp(key, MwNsubForeground) == 0) {
|
if(strcmp(key, MwNbackground) == 0 || strcmp(key, MwNforeground) == 0 || strcmp(key, MwNsubBackground) == 0 || strcmp(key, MwNsubForeground) == 0) {
|
||||||
MwForceRender(handle);
|
MwForceRender(handle);
|
||||||
}
|
}
|
||||||
@@ -413,7 +422,10 @@ void MwSetVoid(MwWidget handle, const char* key, void* value) {
|
|||||||
} else {
|
} else {
|
||||||
shput(handle->data, key, value);
|
shput(handle->data, key, value);
|
||||||
}
|
}
|
||||||
if(handle->prop_event) MwDispatch3(handle, prop_change, key);
|
if(handle->prop_event) {
|
||||||
|
MwDispatch3(handle, prop_change, key);
|
||||||
|
if(handle->parent != NULL) MwDispatch4(handle->parent, children_prop_change, handle, key);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int MwGetInteger(MwWidget handle, const char* key) {
|
int MwGetInteger(MwWidget handle, const char* key) {
|
||||||
@@ -732,10 +744,14 @@ void MwReparent(MwWidget handle, MwWidget new_parent) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MwDispatch(handle->parent, children_update);
|
||||||
}
|
}
|
||||||
|
|
||||||
handle->parent = new_parent;
|
handle->parent = new_parent;
|
||||||
arrput(new_parent->children, handle);
|
arrput(new_parent->children, handle);
|
||||||
|
|
||||||
|
MwDispatch(handle->parent, children_update);
|
||||||
}
|
}
|
||||||
|
|
||||||
MwClass MwGetClass(MwWidget handle) {
|
MwClass MwGetClass(MwWidget handle) {
|
||||||
|
|||||||
@@ -125,7 +125,11 @@ static void okay_activate(MwWidget handle, void* user, void* call) {
|
|||||||
} else if(stat(p, &s) != 0) {
|
} else if(stat(p, &s) != 0) {
|
||||||
MwWidget msgbox = MwMessageBox(handle->parent, "File does not exist!", "Error", MwMB_ICONERROR | MwMB_BUTTONOK);
|
MwWidget msgbox = MwMessageBox(handle->parent, "File does not exist!", "Error", MwMB_ICONERROR | MwMB_BUTTONOK);
|
||||||
MwAddUserHandler(MwMessageBoxGetChild(msgbox, MwMB_BUTTONOK), MwNactivateHandler, msgbox_okay, NULL);
|
MwAddUserHandler(MwMessageBoxGetChild(msgbox, MwMB_BUTTONOK), MwNactivateHandler, msgbox_okay, NULL);
|
||||||
|
#ifdef _S_IFDIR
|
||||||
|
} else if(fc->dir_only ? ((s.st_mode & _S_IFDIR) != _S_IFDIR) : 0) {
|
||||||
|
#else
|
||||||
} else if(fc->dir_only ? !S_ISDIR(s.st_mode) : 0) {
|
} else if(fc->dir_only ? !S_ISDIR(s.st_mode) : 0) {
|
||||||
|
#endif
|
||||||
MwWidget msgbox = MwMessageBox(handle->parent, "File is not permitted here!", "Error", MwMB_ICONERROR | MwMB_BUTTONOK);
|
MwWidget msgbox = MwMessageBox(handle->parent, "File is not permitted here!", "Error", MwMB_ICONERROR | MwMB_BUTTONOK);
|
||||||
MwAddUserHandler(MwMessageBoxGetChild(msgbox, MwMB_BUTTONOK), MwNactivateHandler, msgbox_okay, NULL);
|
MwAddUserHandler(MwMessageBoxGetChild(msgbox, MwMB_BUTTONOK), MwNactivateHandler, msgbox_okay, NULL);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
110
src/widget/box.c
Normal file
110
src/widget/box.c
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
#include <Mw/Milsko.h>
|
||||||
|
|
||||||
|
#include "../../external/stb_ds.h"
|
||||||
|
|
||||||
|
static int create(MwWidget handle) {
|
||||||
|
MwSetDefault(handle);
|
||||||
|
|
||||||
|
MwSetInteger(handle, MwNorientation, MwHORIZONTAL);
|
||||||
|
MwSetInteger(handle, MwNmargin, 0);
|
||||||
|
MwSetInteger(handle, MwNpadding, 0);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void draw(MwWidget handle) {
|
||||||
|
MwRect r;
|
||||||
|
MwLLColor base = MwParseColor(handle, MwGetText(handle, MwNbackground));
|
||||||
|
|
||||||
|
r.x = 0;
|
||||||
|
r.y = 0;
|
||||||
|
r.width = MwGetInteger(handle, MwNwidth);
|
||||||
|
r.height = MwGetInteger(handle, MwNheight);
|
||||||
|
MwDrawRect(handle, &r, base);
|
||||||
|
|
||||||
|
MwLLFreeColor(base);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void layout(MwWidget handle) {
|
||||||
|
int i;
|
||||||
|
int sum = 0;
|
||||||
|
int horiz = MwGetInteger(handle, MwNorientation) == MwHORIZONTAL ? 1 : 0;
|
||||||
|
int sz = MwGetInteger(handle, horiz ? MwNwidth : MwNheight) - MwGetInteger(handle, MwNpadding) * 2;
|
||||||
|
int fsz = MwGetInteger(handle, horiz ? MwNheight : MwNwidth) - MwGetInteger(handle, MwNpadding) * 2;
|
||||||
|
int sk = MwGetInteger(handle, MwNpadding);
|
||||||
|
|
||||||
|
for(i = 0; i < arrlen(handle->children); i++) {
|
||||||
|
int n = MwGetInteger(handle->children[i], MwNratio);
|
||||||
|
int s = MwGetInteger(handle->children[i], MwNfixedSize);
|
||||||
|
if(n == MwDEFAULT) n = 1;
|
||||||
|
|
||||||
|
if(s != MwDEFAULT) {
|
||||||
|
sz -= s + ((i != (arrlen(handle->children) - 1)) ? MwGetInteger(handle, MwNmargin) : 0);
|
||||||
|
} else {
|
||||||
|
sum += n;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(i = 0; i < arrlen(handle->children); i++) {
|
||||||
|
int n = MwGetInteger(handle->children[i], MwNratio);
|
||||||
|
int s = MwGetInteger(handle->children[i], MwNfixedSize);
|
||||||
|
int wsz;
|
||||||
|
if(n == MwDEFAULT) n = 1;
|
||||||
|
|
||||||
|
if(s != MwDEFAULT) {
|
||||||
|
wsz = s;
|
||||||
|
} else {
|
||||||
|
wsz = sz * n / sum;
|
||||||
|
}
|
||||||
|
wsz -= ((i != (arrlen(handle->children) - 1)) ? MwGetInteger(handle, MwNmargin) : 0);
|
||||||
|
|
||||||
|
MwVaApply(handle->children[i],
|
||||||
|
horiz ? MwNx : MwNy, sk, /* this is what gets changed */
|
||||||
|
horiz ? MwNy : MwNx, MwGetInteger(handle, MwNpadding), /* fixed between widgets */
|
||||||
|
horiz ? MwNwidth : MwNheight, wsz, /* this is what gets changed */
|
||||||
|
horiz ? MwNheight : MwNwidth, fsz, /* fixed between widgets */
|
||||||
|
NULL);
|
||||||
|
sk += wsz + ((i != (arrlen(handle->children) - 1)) ? MwGetInteger(handle, MwNmargin) : 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void prop_change(MwWidget handle, const char* key) {
|
||||||
|
if(strcmp(key, MwNorientation) == 0) layout(handle);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void children_prop_change(MwWidget handle, MwWidget child, const char* key) {
|
||||||
|
(void)child;
|
||||||
|
|
||||||
|
if(strcmp(key, MwNratio) == 0) layout(handle);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void resize(MwWidget handle) {
|
||||||
|
layout(handle);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void children_update(MwWidget handle) {
|
||||||
|
layout(handle);
|
||||||
|
}
|
||||||
|
|
||||||
|
MwClassRec MwBoxClassRec = {
|
||||||
|
create, /* create */
|
||||||
|
NULL, /* destroy */
|
||||||
|
draw, /* draw */
|
||||||
|
NULL, /* click */
|
||||||
|
NULL, /* parent_resize */
|
||||||
|
prop_change, /* prop_change */
|
||||||
|
NULL, /* mouse_move */
|
||||||
|
NULL, /* mouse_up */
|
||||||
|
NULL, /* mouse_down */
|
||||||
|
NULL, /* key */
|
||||||
|
NULL, /* execute */
|
||||||
|
NULL, /* tick */
|
||||||
|
resize, /* resize */
|
||||||
|
children_update, /* children_update */
|
||||||
|
children_prop_change, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL};
|
||||||
|
MwClass MwBoxClass = &MwBoxClassRec;
|
||||||
@@ -101,6 +101,11 @@ MwClassRec MwButtonClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
NULL, /* execute */
|
NULL, /* execute */
|
||||||
NULL, /* tick */
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -50,6 +50,11 @@ MwClassRec MwCheckBoxClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
NULL, /* execute */
|
NULL, /* execute */
|
||||||
NULL, /* tick */
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -201,6 +201,11 @@ MwClassRec MwComboBoxClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
func_handler, /* execute */
|
func_handler, /* execute */
|
||||||
NULL, /* tick */
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -170,6 +170,11 @@ MwClassRec MwEntryClassRec = {
|
|||||||
key, /* key */
|
key, /* key */
|
||||||
NULL, /* execute */
|
NULL, /* execute */
|
||||||
NULL, /* tick */
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -59,6 +59,11 @@ MwClassRec MwFrameClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
NULL, /* execute */
|
NULL, /* execute */
|
||||||
NULL, /* tick */
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -46,6 +46,11 @@ MwClassRec MwImageClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
NULL, /* execute */
|
NULL, /* execute */
|
||||||
NULL, /* tick */
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -59,6 +59,11 @@ MwClassRec MwLabelClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
NULL, /* execute */
|
NULL, /* execute */
|
||||||
NULL, /* tick */
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -606,6 +606,11 @@ MwClassRec MwListBoxClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
func_handler, /* execute */
|
func_handler, /* execute */
|
||||||
tick, /* tick */
|
tick, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -201,6 +201,11 @@ MwClassRec MwMenuClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
func_handler, /* execute */
|
func_handler, /* execute */
|
||||||
NULL, /* tick */
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -140,6 +140,11 @@ MwClassRec MwNumberEntryClassRec = {
|
|||||||
key, /* key */
|
key, /* key */
|
||||||
NULL, /* execute */
|
NULL, /* execute */
|
||||||
NULL, /* tick */
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -249,6 +249,11 @@ MwClassRec MwOpenGLClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
func_handler, /* execute */
|
func_handler, /* execute */
|
||||||
NULL, /* tick */
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -58,6 +58,11 @@ MwClassRec MwProgressBarClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
NULL, /* execute */
|
NULL, /* execute */
|
||||||
NULL, /* tick */
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -59,6 +59,11 @@ MwClassRec MwRadioBoxClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
NULL, /* execute */
|
NULL, /* execute */
|
||||||
NULL, /* tick */
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -275,6 +275,11 @@ MwClassRec MwScrollBarClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
func_handler, /* execute */
|
func_handler, /* execute */
|
||||||
NULL, /* tick */
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -47,6 +47,11 @@ MwClassRec MwSeparatorClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
NULL, /* execute */
|
NULL, /* execute */
|
||||||
NULL, /* tick */
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -212,6 +212,11 @@ MwClassRec MwSubMenuClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
func_handler, /* execute */
|
func_handler, /* execute */
|
||||||
NULL, /* tick */
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -493,6 +493,11 @@ MwClassRec MwTreeViewClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
func_handler, /* execute */
|
func_handler, /* execute */
|
||||||
tick, /* tick */
|
tick, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -188,6 +188,11 @@ MwClassRec MwViewportClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
func_handler, /* execute */
|
func_handler, /* execute */
|
||||||
tick, /* tick */
|
tick, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -521,6 +521,11 @@ MwClassRec MwVulkanClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
func_handler, /* execute */
|
func_handler, /* execute */
|
||||||
NULL, /* tick */
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -56,6 +56,11 @@ MwClassRec MwWindowClassRec = {
|
|||||||
NULL, /* key */
|
NULL, /* key */
|
||||||
func_handler, /* execute */
|
func_handler, /* execute */
|
||||||
NULL, /* tick */
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL};
|
NULL};
|
||||||
|
|||||||
@@ -18,5 +18,6 @@ for i in *.c; do
|
|||||||
done
|
done
|
||||||
cd ../..
|
cd ../..
|
||||||
rm -f milsko-examples.zip
|
rm -f milsko-examples.zip
|
||||||
|
cp resource/logo/logo.png examples/picture.jpg examples/picture.png milsko-examples/
|
||||||
zip -rv milsko-examples.zip milsko-examples
|
zip -rv milsko-examples.zip milsko-examples
|
||||||
rm -rf milsko-examples
|
rm -rf milsko-examples
|
||||||
|
|||||||
Reference in New Issue
Block a user