]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/chartype.h
don't pass unnecessary arguments to FindOrCreateBrush/Pen()
[wxWidgets.git] / include / wx / chartype.h
index a9e2dee8928bdb1e1fbc0984b82ef81fa98e181c..64f7147cbbc744d1c0a1be43059fe0518e32aaf0 100644 (file)
 /* depending on the platform, Unicode build can either store wxStrings as
    wchar_t* or UTF-8 encoded char*: */
 #if wxUSE_UNICODE
-    // FIXME-UTF8: what would be better place for this?
+    /* FIXME-UTF8: what would be better place for this? */
     #if defined(wxUSE_UTF8_LOCALE_ONLY) && !defined(wxUSE_UNICODE_UTF8)
         #error "wxUSE_UTF8_LOCALE_ONLY only makes sense with wxUSE_UNICODE_UTF8"
     #endif
 #endif
 
 /* define char type used by wxString internal representation: */
-#if wxUSE_UNICODE_UTF8
-    typedef char wxStringCharType;
-#elif wxUSE_UNICODE_WCHAR
+#if wxUSE_UNICODE_WCHAR
     typedef wchar_t wxStringCharType;
-#else
+#else /* wxUSE_UNICODE_UTF8 || ANSI */
     typedef char wxStringCharType;
 #endif
 
     #endif /* ASCII/Unicode */
 #endif /* !defined(_T) */
 
+/*
+   wxS ("wx string") macro can be used to create literals using the same
+   representation as wxString does internally, i.e. wchar_t in Unicode build
+   under Windows or char in UTF-8-based Unicode builds and (deprecated) ANSI
+   builds everywhere (see wxStringCharType definition above).
+ */
+#if wxUSE_UNICODE_WCHAR
+    #define wxS(x) wxCONCAT_HELPER(L, x)
+#else /* wxUSE_UNICODE_UTF8 || ANSI */
+    #define wxS(x) x
+#endif
+
 /* although global macros with such names are normally bad, we want to have  */
 /* another name for _T() which should be used to avoid confusion between     */
 /* _T() and _() in wxWidgets sources */