back to error state
This commit is contained in:
parent
d5a4298920
commit
4990a5e8f0
10 changed files with 96 additions and 64 deletions
37
WatMakefile
generated
37
WatMakefile
generated
|
|
@ -1,10 +1,22 @@
|
|||
!ifndef %mw16
|
||||
CC = wcc386 -bt=nt -q
|
||||
!else
|
||||
CC = wcc -bt=windows -q
|
||||
!endif
|
||||
|
||||
LD = wlink option quiet
|
||||
|
||||
MW_CFLAGS = -bd -i=include -i=external/libz/include -d_MILSKO -d_MILSKO_BUILD -dUSE_GDI -dUSE_STB_IMAGE -dSTBI_NO_SIMD -dUSE_GDI_TEXT -dMW_OPENGL
|
||||
MW_LDFLAGS = system nt_dll
|
||||
EXE_CFLAGS = -i=include
|
||||
!ifndef %mw16
|
||||
MW_CFLAGS = -bd -i=include -i=external/libz/include -d_MILSKO -d_MILSKO_BUILD -dUSE_GDI -dUSE_STB_TRUETYPE -dUSE_STB_IMAGE -dSTBI_NO_SIMD -dMW_OPENGL
|
||||
MW_LDFLAGS = system nt_dll
|
||||
EXE_LDFLAGS = system nt
|
||||
!else
|
||||
MW_CFLAGS = -bd -i=include -i=external/libz/include -d_MILSKO -d_MILSKO_BUILD -dUSE_GDI -dSTBI_NO_SIMD -dNO_IMAGE
|
||||
MW_LDFLAGS = system windows_dll
|
||||
EXE_LDFLAGS = system windows
|
||||
!endif
|
||||
|
||||
all: src/Mw.dll examples/basic/box.exe examples/basic/calculator.exe examples/basic/checkbox.exe examples/basic/clipboard.exe examples/basic/colorpicker.exe examples/basic/combobox.exe examples/basic/example.exe examples/basic/filechooser.exe examples/basic/image.exe examples/basic/listbox.exe examples/basic/messagebox.exe examples/basic/periodic.exe examples/basic/progressbar.exe examples/basic/radiobox.exe examples/basic/rotate.exe examples/basic/scrollbar.exe examples/basic/sevensegment.exe examples/basic/subwindow.exe examples/basic/tab.exe examples/basic/treeview.exe examples/basic/viewport.exe examples/gldemos/boing.exe examples/gldemos/clock.exe examples/gldemos/cube.exe examples/gldemos/gears.exe examples/gldemos/triangle.exe examples/gldemos/tripaint.exe
|
||||
lib: src/Mw.dll
|
||||
examples: examples/basic/box.exe examples/basic/calculator.exe examples/basic/checkbox.exe examples/basic/clipboard.exe examples/basic/colorpicker.exe examples/basic/combobox.exe examples/basic/example.exe examples/basic/filechooser.exe examples/basic/image.exe examples/basic/listbox.exe examples/basic/messagebox.exe examples/basic/periodic.exe examples/basic/progressbar.exe examples/basic/radiobox.exe examples/basic/rotate.exe examples/basic/scrollbar.exe examples/basic/sevensegment.exe examples/basic/subwindow.exe examples/basic/tab.exe examples/basic/treeview.exe examples/basic/viewport.exe examples/gldemos/boing.exe examples/gldemos/clock.exe examples/gldemos/cube.exe examples/gldemos/gears.exe examples/gldemos/triangle.exe examples/gldemos/tripaint.exe
|
||||
|
|
@ -70,10 +82,8 @@ clean: .SYMBOLIC
|
|||
%erase src/text/font/monottf.obj
|
||||
%erase src/text/font/ttf.obj
|
||||
%erase src/text/ft2.obj
|
||||
%erase src/text/gdi.obj
|
||||
%erase src/text/stbtt.obj
|
||||
%erase src/text/text.obj
|
||||
%erase src/truetype.obj
|
||||
%erase src/unicode.obj
|
||||
%erase src/widget/box.obj
|
||||
%erase src/widget/button.obj
|
||||
|
|
@ -282,6 +292,7 @@ examples/basic/viewport.exe: examples/basic/viewport.obj src/Mw.dll
|
|||
examples/basic/viewport.obj: examples/basic/viewport.c
|
||||
$(CC) $(EXE_CFLAGS) -fo=$@ examples/basic/viewport.c
|
||||
|
||||
!ifndef %mw16
|
||||
examples/gldemos/boing.exe: examples/gldemos/boing.obj src/Mw.dll
|
||||
$(LD) $(EXE_LDFLAGS) name $@ file examples/gldemos/boing.obj library clib3r.lib library src/Mw.lib library opengl32.lib library glu32.lib
|
||||
|
||||
|
|
@ -317,11 +328,15 @@ examples/gldemos/tripaint.exe: examples/gldemos/tripaint.obj src/Mw.dll
|
|||
|
||||
examples/gldemos/tripaint.obj: examples/gldemos/tripaint.c
|
||||
$(CC) $(EXE_CFLAGS) -fo=$@ examples/gldemos/tripaint.c
|
||||
!endif
|
||||
|
||||
|
||||
src/Mw.dll: external/libz/src/adler32.obj external/libz/src/compress.obj external/libz/src/crc32.obj external/libz/src/deflate.obj external/libz/src/gzclose.obj external/libz/src/gzlib.obj external/libz/src/gzread.obj external/libz/src/gzwrite.obj external/libz/src/infback.obj external/libz/src/inffast.obj external/libz/src/inflate.obj external/libz/src/inftrees.obj external/libz/src/trees.obj external/libz/src/uncompr.obj external/libz/src/zutil.obj external/stb_ds.obj external/stb_image.obj external/stb_truetype.obj src/abstract/charset.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/boldmonottf.obj src/text/font/boldttf.obj src/text/font/font.obj src/text/font/monottf.obj src/text/font/ttf.obj src/text/ft2.obj src/text/gdi.obj src/text/stbtt.obj src/text/text.obj src/truetype.obj src/unicode.obj src/widget/box.obj src/widget/button.obj src/widget/calendar.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/subwindow.obj src/widget/tab.obj src/widget/table.obj src/widget/treeview.obj src/widget/viewport.obj src/widget/window.obj
|
||||
$(LD) $(MW_LDFLAGS) option implib=src/Mw.lib name $@ file external/libz/src/adler32.obj file external/libz/src/compress.obj file external/libz/src/crc32.obj file external/libz/src/deflate.obj file external/libz/src/gzclose.obj file external/libz/src/gzlib.obj file external/libz/src/gzread.obj file external/libz/src/gzwrite.obj file external/libz/src/infback.obj file external/libz/src/inffast.obj file external/libz/src/inflate.obj file external/libz/src/inftrees.obj file external/libz/src/trees.obj file external/libz/src/uncompr.obj file external/libz/src/zutil.obj file external/stb_ds.obj file external/stb_image.obj file external/stb_truetype.obj file src/abstract/charset.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/boldmonottf.obj file src/text/font/boldttf.obj file src/text/font/font.obj file src/text/font/monottf.obj file src/text/font/ttf.obj file src/text/ft2.obj file src/text/gdi.obj file src/text/stbtt.obj file src/text/text.obj file src/truetype.obj file src/unicode.obj file src/widget/box.obj file src/widget/button.obj file src/widget/calendar.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/subwindow.obj file src/widget/tab.obj file src/widget/table.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 ole32.lib library uuid.lib library user32.lib library advapi32.lib
|
||||
|
||||
!ifndef %mw16
|
||||
src/Mw.dll: external/libz/src/adler32.obj external/libz/src/compress.obj external/libz/src/crc32.obj external/libz/src/deflate.obj external/libz/src/gzclose.obj external/libz/src/gzlib.obj external/libz/src/gzread.obj external/libz/src/gzwrite.obj external/libz/src/infback.obj external/libz/src/inffast.obj external/libz/src/inflate.obj external/libz/src/inftrees.obj external/libz/src/trees.obj external/libz/src/uncompr.obj external/libz/src/zutil.obj external/stb_ds.obj external/stb_image.obj external/stb_truetype.obj src/abstract/charset.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/boldmonottf.obj src/text/font/boldttf.obj src/text/font/font.obj src/text/font/monottf.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/calendar.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/subwindow.obj src/widget/tab.obj src/widget/table.obj src/widget/treeview.obj src/widget/viewport.obj src/widget/window.obj
|
||||
$(LD) $(MW_LDFLAGS) option implib=src/Mw.lib name $@ file external/libz/src/adler32.obj file external/libz/src/compress.obj file external/libz/src/crc32.obj file external/libz/src/deflate.obj file external/libz/src/gzclose.obj file external/libz/src/gzlib.obj file external/libz/src/gzread.obj file external/libz/src/gzwrite.obj file external/libz/src/infback.obj file external/libz/src/inffast.obj file external/libz/src/inflate.obj file external/libz/src/inftrees.obj file external/libz/src/trees.obj file external/libz/src/uncompr.obj file external/libz/src/zutil.obj file external/stb_ds.obj file external/stb_image.obj file external/stb_truetype.obj file src/abstract/charset.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/boldmonottf.obj file src/text/font/boldttf.obj file src/text/font/font.obj file src/text/font/monottf.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/calendar.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/subwindow.obj file src/widget/tab.obj file src/widget/table.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 library advapi32.lib
|
||||
!else
|
||||
src/Mw.dll: external/libz/src/adler32.obj external/libz/src/compress.obj external/libz/src/crc32.obj external/libz/src/deflate.obj external/libz/src/gzclose.obj external/libz/src/gzlib.obj external/libz/src/gzread.obj external/libz/src/gzwrite.obj external/libz/src/infback.obj external/libz/src/inffast.obj external/libz/src/inflate.obj external/libz/src/inftrees.obj external/libz/src/trees.obj external/libz/src/uncompr.obj external/libz/src/zutil.obj external/stb_ds.obj external/stb_image.obj external/stb_truetype.obj src/abstract/charset.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/boldmonottf.obj src/text/font/boldttf.obj src/text/font/font.obj src/text/font/monottf.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/calendar.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/progressbar.obj src/widget/radiobox.obj src/widget/scrollbar.obj src/widget/separator.obj src/widget/submenu.obj src/widget/subwindow.obj src/widget/tab.obj src/widget/table.obj src/widget/treeview.obj src/widget/viewport.obj src/widget/window.obj
|
||||
$(LD) $(MW_LDFLAGS) option implib=src/Mw.lib name $@ file external/libz/src/adler32.obj file external/libz/src/compress.obj file external/libz/src/crc32.obj file external/libz/src/deflate.obj file external/libz/src/gzclose.obj file external/libz/src/gzlib.obj file external/libz/src/gzread.obj file external/libz/src/gzwrite.obj file external/libz/src/infback.obj file external/libz/src/inffast.obj file external/libz/src/inflate.obj file external/libz/src/inftrees.obj file external/libz/src/trees.obj file external/libz/src/uncompr.obj file external/libz/src/zutil.obj file external/stb_ds.obj file external/stb_image.obj file external/stb_truetype.obj file src/abstract/charset.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/boldmonottf.obj file src/text/font/boldttf.obj file src/text/font/font.obj file src/text/font/monottf.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/calendar.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/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/subwindow.obj file src/widget/tab.obj file src/widget/table.obj file src/widget/treeview.obj file src/widget/viewport.obj file src/widget/window.obj library clibs.lib
|
||||
!endif
|
||||
|
||||
|
||||
external/libz/src/adler32.obj: external/libz/src/adler32.c
|
||||
|
|
@ -446,14 +461,10 @@ src/text/font/ttf.obj: src/text/font/ttf.c
|
|||
$(CC) $(MW_CFLAGS) -fo=$@ src/text/font/ttf.c
|
||||
src/text/ft2.obj: src/text/ft2.c
|
||||
$(CC) $(MW_CFLAGS) -fo=$@ src/text/ft2.c
|
||||
src/text/gdi.obj: src/text/gdi.c
|
||||
$(CC) $(MW_CFLAGS) -fo=$@ src/text/gdi.c
|
||||
src/text/stbtt.obj: src/text/stbtt.c
|
||||
$(CC) $(MW_CFLAGS) -fo=$@ src/text/stbtt.c
|
||||
src/text/text.obj: src/text/text.c
|
||||
$(CC) $(MW_CFLAGS) -fo=$@ src/text/text.c
|
||||
src/truetype.obj: src/truetype.c
|
||||
$(CC) $(MW_CFLAGS) -fo=$@ src/truetype.c
|
||||
src/unicode.obj: src/unicode.c
|
||||
$(CC) $(MW_CFLAGS) -fo=$@ src/unicode.c
|
||||
src/widget/box.obj: src/widget/box.c
|
||||
|
|
@ -480,8 +491,10 @@ src/widget/menu.obj: src/widget/menu.c
|
|||
$(CC) $(MW_CFLAGS) -fo=$@ src/widget/menu.c
|
||||
src/widget/numberentry.obj: src/widget/numberentry.c
|
||||
$(CC) $(MW_CFLAGS) -fo=$@ src/widget/numberentry.c
|
||||
!ifndef %mw16
|
||||
src/widget/opengl.obj: src/widget/opengl.c
|
||||
$(CC) $(MW_CFLAGS) -fo=$@ src/widget/opengl.c
|
||||
!endif
|
||||
src/widget/progressbar.obj: src/widget/progressbar.c
|
||||
$(CC) $(MW_CFLAGS) -fo=$@ src/widget/progressbar.c
|
||||
src/widget/radiobox.obj: src/widget/radiobox.c
|
||||
|
|
|
|||
|
|
@ -365,10 +365,10 @@ MWDECL void* (*MwFLFontLoad)(unsigned char* data, unsigned int size, int px);
|
|||
MWDECL void (*MwFLFontFree)(void* handle);
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#if defined(_WIN32) || defined(__WINDOWS__)
|
||||
MWDECL void* MwLL_winmmLib;
|
||||
MWDECL long(__stdcall* MwLL_PFN_timeGetTime)(void);
|
||||
MWDECL unsigned int(__stdcall* MwLL_PFN_timeBeginPeriod)(unsigned int period);
|
||||
MWDECL long(WINAPI* MwLL_PFN_timeGetTime)(void);
|
||||
MWDECL unsigned int(WINAPI* MwLL_PFN_timeBeginPeriod)(unsigned int period);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
|
|
@ -24,9 +24,7 @@
|
|||
#include <Mw/Abstract/Time.h>
|
||||
#include <Mw/Abstract/CharSet.h>
|
||||
|
||||
#ifndef __WINDOWS__
|
||||
#include <Mw/Resource/Icon.h>
|
||||
#endif
|
||||
#include <Mw/Resource/Cursor.h>
|
||||
#include <Mw/Resource/Font.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef __WINDOWS__
|
||||
/*!
|
||||
* @brief Default cursor
|
||||
*/
|
||||
|
|
@ -64,8 +63,6 @@ MWDECL MwCursor MwCursorHidden;
|
|||
*/
|
||||
MWDECL MwCursor MwCursorHiddenMask;
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ void* MwDirectoryOpen(const char* path) {
|
|||
free(p);
|
||||
dir->next = 1;
|
||||
#elif defined(__WINDOWS__)
|
||||
char* p = malloc(strlen(path) + 2 + 1);
|
||||
p = malloc(strlen(path) + 2 + 1);
|
||||
strcpy(p, path);
|
||||
if(strchr(path, '/') != NULL) {
|
||||
strcat(p, "/");
|
||||
|
|
|
|||
|
|
@ -176,6 +176,7 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {
|
|||
MwLLDispatch(u->ll, up, &p);
|
||||
break;
|
||||
}
|
||||
#ifndef __WINDOWS__
|
||||
case WM_DROPFILES:
|
||||
{
|
||||
HDROP hDrop = (HDROP)wp;
|
||||
|
|
@ -197,6 +198,7 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {
|
|||
wsymtbl.DragFinish(hDrop);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
case WM_MOUSEMOVE:
|
||||
{
|
||||
MwPoint p;
|
||||
|
|
@ -252,6 +254,7 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {
|
|||
case WM_CLOSE:
|
||||
{
|
||||
MwLLDispatch(u->ll, close, NULL);
|
||||
break;
|
||||
}
|
||||
case WM_CHAR:
|
||||
case WM_SYSCHAR:
|
||||
|
|
@ -283,6 +286,7 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {
|
|||
case WM_KILLFOCUS:
|
||||
{
|
||||
MwLLDispatch(u->ll, focus_out, NULL);
|
||||
break;
|
||||
}
|
||||
case WM_KEYDOWN:
|
||||
case WM_KEYUP:
|
||||
|
|
@ -294,20 +298,43 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {
|
|||
#else
|
||||
unsigned long n = -1;
|
||||
#endif
|
||||
if(wp == VK_MENU && msg == WM_KEYUP) return 0;
|
||||
if(wp == VK_LEFT) n = MwKEY_LEFT;
|
||||
if(wp == VK_RIGHT) n = MwKEY_RIGHT;
|
||||
if(wp == VK_UP) n = MwKEY_UP;
|
||||
if(wp == VK_DOWN) n = MwKEY_DOWN;
|
||||
if(wp == VK_RETURN) n = MwKEY_ENTER;
|
||||
if(wp == VK_BACK) n = MwKEY_BACKSPACE;
|
||||
if(wp == VK_ESCAPE) n = MwKEY_ESCAPE;
|
||||
switch(wp) {
|
||||
case VK_LEFT:
|
||||
n = MwKEY_LEFT;
|
||||
break;
|
||||
case VK_RIGHT:
|
||||
n = MwKEY_RIGHT;
|
||||
break;
|
||||
case VK_UP:
|
||||
n = MwKEY_UP;
|
||||
break;
|
||||
case VK_DOWN:
|
||||
n = MwKEY_DOWN;
|
||||
break;
|
||||
case VK_RETURN:
|
||||
n = MwKEY_ENTER;
|
||||
break;
|
||||
case VK_BACK:
|
||||
n = MwKEY_BACKSPACE;
|
||||
break;
|
||||
case VK_ESCAPE:
|
||||
n = MwKEY_ESCAPE;
|
||||
break;
|
||||
#ifndef __WINDOWS__
|
||||
if(wp == VK_LSHIFT) n = MwKEY_LEFTSHIFT;
|
||||
if(wp == VK_RSHIFT) n = MwKEY_RIGHTSHIFT;
|
||||
case VK_LSHIFT:
|
||||
n = MwKEY_LEFTSHIFT;
|
||||
break;
|
||||
case VK_RSHIFT:
|
||||
n = MwKEY_RIGHTSHIFT;
|
||||
break;
|
||||
#endif
|
||||
if(wp == VK_MENU) n = MwKEY_ALT;
|
||||
if(wp == VK_CONTROL) n = MwKEY_CONTROL;
|
||||
case VK_MENU:
|
||||
n = MwKEY_ALT;
|
||||
break;
|
||||
case VK_CONTROL:
|
||||
n = MwKEY_CONTROL;
|
||||
break;
|
||||
}
|
||||
|
||||
if((msg == WM_SYSKEYDOWN || msg == WM_SYSKEYUP) && n != -1 && wp != VK_MENU) {
|
||||
n |= MwKEY_ALT_FLAG;
|
||||
|
|
@ -376,6 +403,7 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {
|
|||
if(s != NULL && strcmp(s, "ImmersiveColorSet") == 0) detect_darktheme(u->ll);
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
|
|
@ -533,6 +561,11 @@ static void MwLLLineImpl(MwLL handle, MwPoint* points, MwLLColor color) {
|
|||
static MwLLColor MwLLAllocColorImpl(MwLL handle, int r, int g, int b) {
|
||||
MwLLColor c = malloc(sizeof(*c));
|
||||
|
||||
if(!c) {
|
||||
printf("Out Of Memory\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
c->gdi.brush = 0;
|
||||
|
||||
MwLLColorUpdate(handle, c, r, g, b);
|
||||
|
|
@ -551,8 +584,10 @@ static void MwLLColorUpdateImpl(MwLL handle, MwLLColor c, int r, int g, int b) {
|
|||
if(g < 0) g = 0;
|
||||
if(b < 0) b = 0;
|
||||
|
||||
color = GetNearestColor(dc, RGB(r, g, b));
|
||||
|
||||
if(c->gdi.brush != 0) DeleteObject(c->gdi.brush);
|
||||
c->gdi.brush = CreateSolidBrush(GetNearestColor(dc, RGB(r, g, b)));
|
||||
c->gdi.brush = CreateSolidBrush(color);
|
||||
c->common.red = r;
|
||||
c->common.green = g;
|
||||
c->common.blue = b;
|
||||
|
|
@ -1143,7 +1178,9 @@ static void MwLLClipImpl(MwLL handle, MwRect* rect) {
|
|||
}
|
||||
|
||||
static void MwLLSetupDragAndDropImpl(MwLL handle) {
|
||||
#ifndef __WINDOWS__
|
||||
wsymtbl.DragAcceptFiles(handle->gdi.hWnd, TRUE);
|
||||
#endif
|
||||
}
|
||||
|
||||
static int MwLLGDICallInitImpl(void) {
|
||||
|
|
@ -1160,7 +1197,6 @@ static int MwLLGDICallInitImpl(void) {
|
|||
} else {
|
||||
is_plgblt_reliable = 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
wsymtbl.has_drag_and_drop = MwFALSE;
|
||||
|
||||
|
|
@ -1183,6 +1219,7 @@ static int MwLLGDICallInitImpl(void) {
|
|||
wsymtbl.has_drag_and_drop = MwTRUE;
|
||||
}
|
||||
dnd_error:
|
||||
#endif
|
||||
|
||||
/* TODO: check properly */
|
||||
return 0;
|
||||
|
|
|
|||
17
src/core.c
17
src/core.c
|
|
@ -953,9 +953,7 @@ void MwVaListApply(MwWidget handle, va_list va) {
|
|||
}
|
||||
|
||||
void MwSetDefault(MwWidget handle) {
|
||||
#ifndef __WINDOWS__
|
||||
if(handle->lowlevel != NULL) MwLLSetCursor(handle->lowlevel, &MwCursorDefault, &MwCursorDefaultMask);
|
||||
#endif
|
||||
}
|
||||
|
||||
void MwHideCursor(MwWidget handle) {
|
||||
|
|
@ -1099,15 +1097,16 @@ int MwLibraryInit(void) {
|
|||
NULL};
|
||||
int i;
|
||||
|
||||
#ifdef _WIN32
|
||||
/*
|
||||
#if defined(_WIN32) || defined(__WINDOWS__)
|
||||
/*
|
||||
There's no Windows configuration that Milsko supports that doesn't have winmm.
|
||||
However, uhh, Visual Studio 2022. For some fucking reason.
|
||||
Thanks for coming to my TED Talk.
|
||||
This could maybe be removed?
|
||||
*/
|
||||
MwLL_winmmLib = LoadLibrary("winmm.dll");
|
||||
MwLL_PFN_timeGetTime = (void *)GetProcAddress(MwLL_winmmLib, "timeGetTime");
|
||||
MwLL_PFN_timeBeginPeriod = (void *)GetProcAddress(MwLL_winmmLib, "timeBeginPeriod");
|
||||
MwLL_winmmLib = LoadLibrary("winmm.dll");
|
||||
MwLL_PFN_timeGetTime = (void*)GetProcAddress(MwLL_winmmLib, "timeGetTime");
|
||||
MwLL_PFN_timeBeginPeriod = (void*)GetProcAddress(MwLL_winmmLib, "timeBeginPeriod");
|
||||
assert(MwLL_PFN_timeGetTime);
|
||||
assert(MwLL_PFN_timeBeginPeriod);
|
||||
|
||||
MwLL_PFN_timeBeginPeriod(10);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ static void MWAPI nav_activate(MwWidget handle, void* user, void* call) {
|
|||
(void)user;
|
||||
|
||||
if(strcmp(e, "Home") == 0) {
|
||||
#if defined(_WIN32) || defined(CLASSIC_MAC_OS)
|
||||
#if defined(_WIN32) || defined(CLASSIC_MAC_OS) || defined(__WINDOWS__)
|
||||
#else
|
||||
struct passwd* p = getpwuid(getuid());
|
||||
|
||||
|
|
|
|||
18
src/draw.c
18
src/draw.c
|
|
@ -117,7 +117,6 @@ void MwDrawRect(MwWidget handle, MwRect* rect, MwLLColor color) {
|
|||
MwLLPolygon(handle->lowlevel, p, 4, color);
|
||||
}
|
||||
|
||||
#ifndef __WINDOWS__
|
||||
void MwDrawRectFading(MwWidget handle, MwRect* rect, MwLLColor color) {
|
||||
MwLLPixmap pixmap;
|
||||
int y;
|
||||
|
|
@ -159,7 +158,6 @@ void MwDrawRectFading(MwWidget handle, MwRect* rect, MwLLColor color) {
|
|||
|
||||
free(data);
|
||||
}
|
||||
#endif
|
||||
|
||||
void MwDrawFrame(MwWidget handle, MwRect* rect, MwLLColor color, int invert) {
|
||||
MwDrawFrameWithBorder(handle, rect, color, invert, MwDefaultBorderWidth(handle));
|
||||
|
|
@ -227,17 +225,12 @@ void MwDrawWidgetBack(MwWidget handle, MwRect* rect, MwLLColor color, int invert
|
|||
col = invert ? MwLightenColor(handle, color, -8, -8, -8) : MwLightenColor(handle, color, 0, 0, 0);
|
||||
color_set_disabled_if_disabled(handle, col);
|
||||
|
||||
#ifndef __WINDOWS__
|
||||
if(MwGetInteger(handle, MwNmodernLook)) {
|
||||
MwDrawRectFading(handle, rect, col);
|
||||
} else
|
||||
#else
|
||||
{
|
||||
} else {
|
||||
MwDrawRect(handle, rect, col);
|
||||
}
|
||||
#endif
|
||||
if(col != color)
|
||||
MwLLFreeColor(col);
|
||||
MwLLFreeColor(col);
|
||||
}
|
||||
|
||||
void MwDrawDiamond(MwWidget handle, MwRect* rect, MwLLColor color, int invert) {
|
||||
|
|
@ -364,7 +357,6 @@ static void MwDrawFrameEx_simple(MwWidget handle, MwRect* rect, MwLLColor color,
|
|||
rect->height -= border * 2;
|
||||
}
|
||||
|
||||
#ifndef __WINDOWS__
|
||||
static void frame_border_complex(MwWidget handle, MwRect* rect, MwLLColor lighter, MwLLColor darker, int invert, int border, int diff, int same) {
|
||||
MwPoint p[7];
|
||||
|
||||
|
|
@ -436,17 +428,13 @@ static void MwDrawFrameEx_complex(MwWidget handle, MwRect* rect, MwLLColor color
|
|||
rect->width -= border * 2;
|
||||
rect->height -= border * 2;
|
||||
}
|
||||
#endif
|
||||
|
||||
void MwDrawFrameEx(MwWidget handle, MwRect* rect, MwLLColor color, int invert, int border, int diff, int same) {
|
||||
border = translate_border(handle, border);
|
||||
|
||||
#ifndef __WINDOWS__
|
||||
if(MwGetInteger(handle, MwNmodernLook)) {
|
||||
MwDrawFrameEx_complex(handle, rect, color, invert, border, diff, same);
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
} else {
|
||||
MwDrawFrameEx_simple(handle, rect, color, invert, border, diff, same);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
#include <Mw/Milsko.h>
|
||||
|
||||
#ifdef _WIN32
|
||||
void *MwLL_winmmLib;
|
||||
long (__stdcall* MwLL_PFN_timeGetTime)(void);
|
||||
unsigned int (__stdcall* MwLL_PFN_timeBeginPeriod)(unsigned int period);
|
||||
#if defined(WIN32) || defined(__WINDOWS__)
|
||||
void* MwLL_winmmLib;
|
||||
long(WINAPI* MwLL_PFN_timeGetTime)(void);
|
||||
unsigned int(WINAPI* MwLL_PFN_timeBeginPeriod)(unsigned int period);
|
||||
#endif
|
||||
|
||||
MwLL (*MwLLCreate)(MwLL parent, int x, int y, int width, int height) = NULL;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue