diff --git a/include/ftxui/dom/canvas.hpp b/include/ftxui/dom/canvas.hpp
index 02ed4a99edc6704cd4a458c75c6fa66d71dd5c14..5ff5061e15a6f885381f268439ee59618fb3faa9 100644
--- a/include/ftxui/dom/canvas.hpp
+++ b/include/ftxui/dom/canvas.hpp
@@ -9,6 +9,12 @@
 #include "ftxui/screen/color.hpp"   // for Color
 #include "ftxui/screen/screen.hpp"  // for Pixel
 
+#ifdef DrawText
+// Workaround for WinUsr.h (via Windows.h) defining macros that break things.
+// https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-drawtext
+#undef DrawText
+#endif
+
 namespace ftxui {
 
 struct Canvas {