========================= 2.0 ========================= 2.0 is not the most significant release, but there are several breaking changes that justify its number: - There are no longer any public facing functions that use MwLL* types. Said functions now expect MwColor and MwPixmap, which are wrapper types over the LL ones. - MwSetVoid and MwGetVoid have been renamed to MwSetPointer and MwGetPointer - MwSetText and MwGetText have been renamed to MwSetString and MwGetString Other changes include: - Widgets can now accept drag and dropped files via MwNacceptsDnD and the new MwNdragAndDropHandler handler. - Currently only works on Wayland and Win32 due to limited ability to test this on X11. - New environment variables: - `MW_LIGHT_THEME`/`MW_DARK_THEME`: set to ignore the system's appearence settings and either just use light theme/dark theme. - `MW_FORCE_CSD` (Linux only): set to force the wayland backend to use CSD instead of SSD - `MILSKO_BACKEND` has been renamed to `MW_BACKEND` - Redesigned look for radioboxes and checkboxes in the modern theme - Clock Widget (MwClockClass) - Chart Widgets (MwChartClass) - Bar Chart (MwCHART_BAR or MwCHART_BAR3D) - Pie Chart (MwCHART_PIE or MwCHART_PIE3D) - Line Chart (MwCHART_LINE) - Document widget (MwDocumentClass) - text box widget that supports markdown. - Direct3D9 widget (MwDirect3D9Class) - helper widget that sets up a D3D9 context for you (Windows only) - Dark theme now uses Catppuccin Mocha theme - Better alpha blending for pixmaps (they now respect background color change) - MwNstrikethrough and MwNunderline now work on all text-based widgets - Stability/performance fixes for the Wayland backend, most likely for the last time. ========================= 1.4 ========================= - CMakeLists.txt downgraded to version 3.13 to allow compiling on Windows XP - CMake build now generates a pkgconfig file. - GDI backend now natively uses GDI for text rendering - Widgets can now be disabled with MwNdisabled - Added `MwTabFocus` for letting a tab widget steal focus. - New table widget (`MwTableClass`). - Added `MwWindowShouldClose` for letting custom loops know when a window should close. - Remove VMS build files - Entry widgets now have blinking cursor that appears only when you hover over the widget. - Wayland backend: - Can now create layer surfaces (Use `MwLLMakeToolWindow` on a parentless window) - Now properly handles keys being held down - has drastically improved CSD (functionality wise) - Uses KMSDRM directly for the OpenGL widget instead of wl_egl for a smoother experience - Various overall performance improvements putting it on the same level as the X11 backend finally - Menu widget works better under compositors that use CSD.