diff --git a/BorMakefile b/BorMakefile index 40a73f8e..296a4078 100644 --- a/BorMakefile +++ b/BorMakefile @@ -61,12 +61,13 @@ clean: del /f /q src\dialog\filechooser.obj del /f /q src\dialog\colorpicker.obj del /f /q src\dialog\messagebox.obj + del /f /q src\abstract\time.obj del /f /q src\abstract\directory.obj del /f /q src\backend\gdi.obj del /f /q src\Mw.dll -src\Mw.dll: src\core.obj src\draw.obj src\string.obj src\text.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\color.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.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\icon\down.obj src\icon\left.obj src\icon\right.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\widget\progressbar.obj src\widget\radiobox.obj src\font\boldttf.obj src\font\ttf.obj src\font\boldfont.obj src\font\font.obj src\dialog\filechooser.obj src\dialog\colorpicker.obj src\dialog\messagebox.obj src\abstract\directory.obj src\backend\gdi.obj - $(LD) $(LDFLAGS) -e$@ src\core.obj src\draw.obj src\string.obj src\text.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\color.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.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\icon\down.obj src\icon\left.obj src\icon\right.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\widget\progressbar.obj src\widget\radiobox.obj src\font\boldttf.obj src\font\ttf.obj src\font\boldfont.obj src\font\font.obj src\dialog\filechooser.obj src\dialog\colorpicker.obj src\dialog\messagebox.obj src\abstract\directory.obj src\backend\gdi.obj -lopengl32.lib -lgdi32.lib -luser32.lib +src\Mw.dll: src\core.obj src\draw.obj src\string.obj src\text.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\color.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.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\icon\down.obj src\icon\left.obj src\icon\right.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\widget\progressbar.obj src\widget\radiobox.obj src\font\boldttf.obj src\font\ttf.obj src\font\boldfont.obj src\font\font.obj src\dialog\filechooser.obj src\dialog\colorpicker.obj src\dialog\messagebox.obj src\abstract\time.obj src\abstract\directory.obj src\backend\gdi.obj + $(LD) $(LDFLAGS) -e$@ src\core.obj src\draw.obj src\string.obj src\text.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\color.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.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\icon\down.obj src\icon\left.obj src\icon\right.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\widget\progressbar.obj src\widget\radiobox.obj src\font\boldttf.obj src\font\ttf.obj src\font\boldfont.obj src\font\font.obj src\dialog\filechooser.obj src\dialog\colorpicker.obj src\dialog\messagebox.obj src\abstract\time.obj src\abstract\directory.obj src\backend\gdi.obj -lopengl32.lib -lgdi32.lib -luser32.lib implib src\Mw.lib src\Mw.dll .c.obj: diff --git a/GNUmakefile b/GNUmakefile index 69838882..346e6641 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -29,7 +29,8 @@ L_OBJS += external/stb_ds.o external/stb_image.o external/stb_truetype.o L_OBJS += src/widget/window.o src/widget/button.o src/widget/frame.o src/widget/menu.o src/widget/submenu.o src/widget/image.o src/widget/scrollbar.o src/widget/checkbox.o src/widget/label.o src/widget/entry.o src/widget/numberentry.o src/widget/viewport.o src/widget/listbox.o src/widget/progressbar.o src/widget/radiobox.o L_OBJS += src/dialog/filechooser.o src/dialog/colorpicker.o src/dialog/messagebox.o -L_OBJS += src/abstract/directory.o + +L_OBJS += src/abstract/directory.o src/abstract/time.o L_OBJS += src/cursor/hidden.o src/cursor/default.o src/cursor/cross.o src/cursor/text.o L_OBJS += src/icon/warning.o src/icon/note.o src/icon/info.o src/icon/news.o src/icon/error.o src/icon/file.o src/icon/directory.o src/icon/back.o src/icon/forward.o src/icon/up.o src/icon/down.o src/icon/left.o src/icon/right.o src/icon/computer.o src/icon/search.o diff --git a/NTMakefile b/NTMakefile index 05b0ae2a..1b49afe4 100644 --- a/NTMakefile +++ b/NTMakefile @@ -61,12 +61,13 @@ clean: del /f /q src\dialog\filechooser.obj del /f /q src\dialog\colorpicker.obj del /f /q src\dialog\messagebox.obj + del /f /q src\abstract\time.obj del /f /q src\abstract\directory.obj del /f /q src\backend\gdi.obj del /f /q src\Mw.dll -src\Mw.dll: src\core.obj src\draw.obj src\string.obj src\text.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\color.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.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\icon\down.obj src\icon\left.obj src\icon\right.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\widget\progressbar.obj src\widget\radiobox.obj src\font\boldttf.obj src\font\ttf.obj src\font\boldfont.obj src\font\font.obj src\dialog\filechooser.obj src\dialog\colorpicker.obj src\dialog\messagebox.obj src\abstract\directory.obj src\backend\gdi.obj - $(LD) $(LDFLAGS) /OUT:$@ src\core.obj src\draw.obj src\string.obj src\text.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\color.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.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\icon\down.obj src\icon\left.obj src\icon\right.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\widget\progressbar.obj src\widget\radiobox.obj src\font\boldttf.obj src\font\ttf.obj src\font\boldfont.obj src\font\font.obj src\dialog\filechooser.obj src\dialog\colorpicker.obj src\dialog\messagebox.obj src\abstract\directory.obj src\backend\gdi.obj opengl32.lib gdi32.lib user32.lib +src\Mw.dll: src\core.obj src\draw.obj src\string.obj src\text.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\color.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.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\icon\down.obj src\icon\left.obj src\icon\right.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\widget\progressbar.obj src\widget\radiobox.obj src\font\boldttf.obj src\font\ttf.obj src\font\boldfont.obj src\font\font.obj src\dialog\filechooser.obj src\dialog\colorpicker.obj src\dialog\messagebox.obj src\abstract\time.obj src\abstract\directory.obj src\backend\gdi.obj + $(LD) $(LDFLAGS) /OUT:$@ src\core.obj src\draw.obj src\string.obj src\text.obj src\default.obj src\lowlevel.obj src\error.obj src\unicode.obj src\color.obj external\stb_ds.obj external\stb_image.obj external\stb_truetype.obj src\icon\info.obj src\icon\note.obj src\icon\warning.obj src\icon\error.obj src\icon\news.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\icon\down.obj src\icon\left.obj src\icon\right.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\widget\progressbar.obj src\widget\radiobox.obj src\font\boldttf.obj src\font\ttf.obj src\font\boldfont.obj src\font\font.obj src\dialog\filechooser.obj src\dialog\colorpicker.obj src\dialog\messagebox.obj src\abstract\time.obj src\abstract\directory.obj src\backend\gdi.obj opengl32.lib gdi32.lib user32.lib .c.obj: diff --git a/WatMakefile b/WatMakefile index 3ccddc2e..d6146d29 100644 --- a/WatMakefile +++ b/WatMakefile @@ -60,12 +60,13 @@ clean: .SYMBOLIC %erase src/dialog/filechooser.obj %erase src/dialog/colorpicker.obj %erase src/dialog/messagebox.obj + %erase src/abstract/time.obj %erase src/abstract/directory.obj %erase src/backend/gdi.obj %erase src/Mw.dll -src/Mw.dll: src/core.obj src/draw.obj src/string.obj src/text.obj src/default.obj src/lowlevel.obj src/error.obj src/unicode.obj src/color.obj external/stb_ds.obj external/stb_image.obj external/stb_truetype.obj src/icon/info.obj src/icon/note.obj src/icon/warning.obj src/icon/error.obj src/icon/news.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/icon/down.obj src/icon/left.obj src/icon/right.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/widget/progressbar.obj src/widget/radiobox.obj src/font/boldttf.obj src/font/ttf.obj src/font/boldfont.obj src/font/font.obj src/dialog/filechooser.obj src/dialog/colorpicker.obj src/dialog/messagebox.obj src/abstract/directory.obj src/backend/gdi.obj - $(LD) $(LDFLAGS) option implib=src/Mw.lib name $@ file src/core.obj file src/draw.obj file src/string.obj file src/text.obj file src/default.obj file src/lowlevel.obj file src/error.obj file src/unicode.obj file src/color.obj file external/stb_ds.obj file external/stb_image.obj file external/stb_truetype.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/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/icon/down.obj file src/icon/left.obj file src/icon/right.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/widget/progressbar.obj file src/widget/radiobox.obj file src/font/boldttf.obj file src/font/ttf.obj file src/font/boldfont.obj file src/font/font.obj file src/dialog/filechooser.obj file src/dialog/colorpicker.obj file src/dialog/messagebox.obj file src/abstract/directory.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/draw.obj src/string.obj src/text.obj src/default.obj src/lowlevel.obj src/error.obj src/unicode.obj src/color.obj external/stb_ds.obj external/stb_image.obj external/stb_truetype.obj src/icon/info.obj src/icon/note.obj src/icon/warning.obj src/icon/error.obj src/icon/news.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/icon/down.obj src/icon/left.obj src/icon/right.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/widget/progressbar.obj src/widget/radiobox.obj src/font/boldttf.obj src/font/ttf.obj src/font/boldfont.obj src/font/font.obj src/dialog/filechooser.obj src/dialog/colorpicker.obj src/dialog/messagebox.obj src/abstract/time.obj src/abstract/directory.obj src/backend/gdi.obj + $(LD) $(LDFLAGS) option implib=src/Mw.lib name $@ file src/core.obj file src/draw.obj file src/string.obj file src/text.obj file src/default.obj file src/lowlevel.obj file src/error.obj file src/unicode.obj file src/color.obj file external/stb_ds.obj file external/stb_image.obj file external/stb_truetype.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/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/icon/down.obj file src/icon/left.obj file src/icon/right.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/widget/progressbar.obj file src/widget/radiobox.obj file src/font/boldttf.obj file src/font/ttf.obj file src/font/boldfont.obj file src/font/font.obj file src/dialog/filechooser.obj file src/dialog/colorpicker.obj file src/dialog/messagebox.obj file src/abstract/time.obj file src/abstract/directory.obj file src/backend/gdi.obj library clib3r.lib library opengl32.lib library gdi32.lib library user32.lib @@ -177,6 +178,8 @@ src/dialog/colorpicker.obj: src/dialog/colorpicker.c $(CC) $(CFLAGS) -fo=$@ $< src/dialog/messagebox.obj: src/dialog/messagebox.c $(CC) $(CFLAGS) -fo=$@ $< +src/abstract/time.obj: src/abstract/time.c + $(CC) $(CFLAGS) -fo=$@ $< src/abstract/directory.obj: src/abstract/directory.c $(CC) $(CFLAGS) -fo=$@ $< src/backend/gdi.obj: src/backend/gdi.c diff --git a/examples/basic/viewport.c b/examples/basic/viewport.c index 9a5544bd..c78f8fc6 100644 --- a/examples/basic/viewport.c +++ b/examples/basic/viewport.c @@ -17,7 +17,7 @@ static void resize(MwWidget handle, void* user, void* call) { } int main() { - MwWidget w = MwVaCreateWidget(MwWindowClass, "main", NULL, MwDEFAULT, MwDEFAULT, 640, 480, MwNtitle, "test", NULL); + MwWidget w = MwVaCreateWidget(MwWindowClass, "main", NULL, MwDEFAULT, MwDEFAULT, 640, 480, MwNtitle, "test", NULL); MwLLPixmap px; vp = MwCreateWidget(MwViewportClass, "vp", w, 5, 5, 630, 470); diff --git a/include/Mw/Abstract/Time.h b/include/Mw/Abstract/Time.h new file mode 100644 index 00000000..aaa07559 --- /dev/null +++ b/include/Mw/Abstract/Time.h @@ -0,0 +1,31 @@ +/* $Id$ */ +/*! + * @file Mw/Abstract/Time.h + * @brief Time + */ +#ifndef __MW_ABSTRACT_TIME_H__ +#define __MW_ABSTRACT_TIME_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/*! + * @brief Sleeps for milliseconds + * @param ms Milliseconds + */ +MWDECL void MwTimeSleep(int ms); + +/*! + * @brief Gets a monotonic time + * @return Monotonic time + */ +MWDECL long MwTimeGetTick(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/Mw/LowLevel.h b/include/Mw/LowLevel.h index a5ee875b..02dbfc22 100644 --- a/include/Mw/LowLevel.h +++ b/include/Mw/LowLevel.h @@ -108,7 +108,6 @@ MWDECL void MwLLSetTitle(MwLL handle, const char* title); MWDECL int MwLLPending(MwLL handle); MWDECL void MwLLNextEvent(MwLL handle); -MWDECL void MwLLSleep(int ms); MWDECL MwLLPixmap MwLLCreatePixmap(MwLL handle, unsigned char* data, int width, int height); MWDECL void MwLLPixmapUpdate(MwLLPixmap pixmap); @@ -127,8 +126,6 @@ MWDECL void MwLLMakePopup(MwLL handle, MwLL parent); MWDECL void MwLLSetSizeHints(MwLL handle, int minx, int miny, int maxx, int maxy); MWDECL void MwLLMakeBorderless(MwLL handle, int toggle); -MWDECL long MwLLGetTick(void); - MWDECL void MwLLSetBackground(MwLL handle, MwLLColor color); MWDECL void MwLLFocus(MwLL handle); diff --git a/include/Mw/Milsko.h b/include/Mw/Milsko.h index bb5bb0b8..2bcdbc0e 100644 --- a/include/Mw/Milsko.h +++ b/include/Mw/Milsko.h @@ -21,6 +21,7 @@ #include #include +#include #include #include diff --git a/src/abstract/time.c b/src/abstract/time.c new file mode 100644 index 00000000..319ff4c3 --- /dev/null +++ b/src/abstract/time.c @@ -0,0 +1,35 @@ +/* $Id$ */ +#include + +#ifdef _WIN32 +#include + +long MwTimeGetTick(void) { + return GetTickCount(); +} + +void MwTimeSleep(int ms) { + Sleep(ms); +} +#else +long MwTimeGetTick(void) { + struct timespec ts; + long n = 0; + + clock_gettime(CLOCK_MONOTONIC, &ts); + + n += ts.tv_nsec / 1000 / 1000; + n += ts.tv_sec * 1000; + + return n; +} + +void MwTimeSleep(int ms) { + struct timespec ts; + + ts.tv_sec = ms / 1000; + ts.tv_nsec = (ms % 1000) * 1000 * 1000; + + nanosleep(&ts, NULL); +} +#endif diff --git a/src/backend/gdi.c b/src/backend/gdi.c index 4686646c..ff11e6ac 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -1,6 +1,8 @@ /* $Id$ */ #include +#include + typedef struct userdata { MwLL ll; POINT min; @@ -201,7 +203,7 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { } else if(msg == WM_SETCURSOR) { if(LOWORD(lp) != HTCLIENT) return DefWindowProc(hWnd, msg, wp, lp); if(u->ll->cursor != NULL) SetCursor(u->ll->cursor); - }else if(msg == WM_USER){ + } else if(msg == WM_USER) { InvalidateRect(hWnd, NULL, FALSE); UpdateWindow(hWnd); } else { @@ -390,10 +392,6 @@ void MwLLNextEvent(MwLL handle) { } } -void MwLLSleep(int ms) { - Sleep(ms); -} - MwLLPixmap MwLLCreatePixmap(MwLL handle, unsigned char* data, int width, int height) { MwLLPixmap r = malloc(sizeof(*r)); HDC dc = GetDC(handle->hWnd); @@ -628,10 +626,6 @@ void MwLLMakeBorderless(MwLL handle, int toggle) { SetWindowPos(handle->hWnd, NULL, 0, 0, 0, 0, SWP_FRAMECHANGED | SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER); } -long MwLLGetTick(void) { - return GetTickCount(); -} - void MwLLFocus(MwLL handle) { SetFocus(handle->hWnd); } diff --git a/src/backend/x11.c b/src/backend/x11.c index f5edb552..a23b6d8d 100644 --- a/src/backend/x11.c +++ b/src/backend/x11.c @@ -417,15 +417,6 @@ void MwLLNextEvent(MwLL handle) { } } -void MwLLSleep(int ms) { - struct timespec ts; - - ts.tv_sec = ms / 1000; - ts.tv_nsec = (ms % 1000) * 1000 * 1000; - - nanosleep(&ts, NULL); -} - void MwLLSetTitle(MwLL handle, const char* title) { XSetStandardProperties(handle->display, handle->window, title, title, None, (char**)NULL, 0, NULL); } @@ -757,18 +748,6 @@ void MwLLMakeBorderless(MwLL handle, int toggle) { wait_map(handle); } -long MwLLGetTick(void) { - struct timespec ts; - long n = 0; - - clock_gettime(CLOCK_MONOTONIC, &ts); - - n += ts.tv_nsec / 1000 / 1000; - n += ts.tv_sec * 1000; - - return n; -} - void MwLLFocus(MwLL handle) { XSetInputFocus(handle->display, handle->window, RevertToNone, CurrentTime); } diff --git a/src/core.c b/src/core.c index c6d0c5e5..aa2499a3 100644 --- a/src/core.c +++ b/src/core.c @@ -293,9 +293,9 @@ int MwPending(MwWidget handle) { } void MwLoop(MwWidget handle) { - long tick = MwLLGetTick(); + long tick = MwTimeGetTick(); int i; - long wait = MwGetInteger(handle, MwNwaitMS); + long wait = MwGetInteger(handle, MwNwaitMS); long over = 0; if(wait == MwDEFAULT) wait = MwWaitMS; while(!handle->close) { @@ -313,10 +313,10 @@ void MwLoop(MwWidget handle) { } more = over % (wait / 2); - t = (tick + wait - more) - (t2 = MwLLGetTick()); + t = (tick + wait - more) - (t2 = MwTimeGetTick()); if(t > 0) { - MwLLSleep(t); - tick = MwLLGetTick(); + MwTimeSleep(t); + tick = MwTimeGetTick(); over -= more; } else { tick = t2; diff --git a/src/widget/listbox.c b/src/widget/listbox.c index 2d661ad5..23e5dd00 100644 --- a/src/widget/listbox.c +++ b/src/widget/listbox.c @@ -135,7 +135,7 @@ static void frame_mouse_down(MwWidget handle, void* user, void* call) { lb->selected = st + i; - if(((t = MwLLGetTick()) - lb->click_time) < 250 && old == st + i) { + if(((t = MwTimeGetTick()) - lb->click_time) < 250 && old == st + i) { MwDispatchUserHandler(handle->parent, MwNactivateHandler, &lb->selected); }