diff --git a/BorMakefile b/BorMakefile index 40a73f8ef..296a40788 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 698388820..346e66410 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 05b0ae2a7..1b49afe4b 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 3ccddc2e9..d6146d296 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 9a5544bd2..c78f8fc60 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 000000000..aaa075592 --- /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 a5ee875b8..02dbfc222 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 bb5bb0b85..2bcdbc0e3 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 000000000..319ff4c3b --- /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 4686646c3..ff11e6acf 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 f5edb5528..a23b6d8dc 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 c6d0c5e5f..aa2499a3f 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 2d661ad5a..23e5dd00a 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); }