summaryrefslogtreecommitdiffstats
path: root/widget/windows/nsdefs.h
diff options
context:
space:
mode:
Diffstat (limited to 'widget/windows/nsdefs.h')
-rw-r--r--widget/windows/nsdefs.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/widget/windows/nsdefs.h b/widget/windows/nsdefs.h
new file mode 100644
index 0000000000..ebf7892fda
--- /dev/null
+++ b/widget/windows/nsdefs.h
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef NSDEFS_H
+#define NSDEFS_H
+
+#include <windows.h>
+
+#ifdef _DEBUG
+# define BREAK_TO_DEBUGGER DebugBreak()
+#else
+# define BREAK_TO_DEBUGGER
+#endif
+
+#ifdef _DEBUG
+# define VERIFY(exp) \
+ if (!(exp)) { \
+ GetLastError(); \
+ BREAK_TO_DEBUGGER; \
+ }
+#else // !_DEBUG
+# define VERIFY(exp) (exp)
+#endif // !_DEBUG
+
+// inttypes.h-like macro for LONG_PTR/LPARAM formatting.
+#ifdef HAVE_64BIT_BUILD
+# define PRIdLPTR "lld"
+# define PRIxLPTR "llx"
+# define PRIXLPTR "llX"
+#else
+# define PRIdLPTR "ld"
+# define PRIxLPTR "lx"
+# define PRIXLPTR "lX"
+#endif
+
+// Win32 logging modules:
+// nsWindow, nsSound, and nsClipboard
+//
+// Logging can be changed at runtime without recompiling in the General
+// property page of Visual Studio under the "Environment" property.
+//
+// Two variables are of importance to be set:
+// MOZ_LOG and MOZ_LOG_FILE
+//
+// MOZ_LOG:
+// MOZ_LOG=all:5 (To log everything completely)
+// MOZ_LOG=nsWindow:5,nsSound:5,nsClipboard:5
+// (To log windows widget stuff)
+// MOZ_LOG= (To turn off logging)
+//
+// MOZ_LOG_FILE:
+// MOZ_LOG_FILE=C:\log.txt (To a file on disk)
+// MOZ_LOG_FILE=WinDebug (To the debug window)
+// MOZ_LOG_FILE= (To stdout/stderr)
+
+#endif // NSDEFS_H