#include "wx/msw/private.h" // includes <windows.h>
#include "wx/msw/missing.h" // CHARSET_HANGUL
-#if defined(__GNUWIN32_OLD__) || defined(__WXWINCE__) \
- || defined(__CYGWIN32__)
+#if defined(__CYGWIN__)
+ //CYGWIN gives annoying warning about runtime stuff if we don't do this
+# define USE_SYS_TYPES_FD_SET
+# include <sys/types.h>
+#endif
+
+// Doesn't work with Cygwin at present
+#if wxUSE_SOCKETS && (defined(__GNUWIN32_OLD__) || defined(__WXWINCE__) || defined(__CYGWIN32__))
// apparently we need to include winsock.h to get WSADATA and other stuff
// used in wxGetFullHostName() with the old mingw32 versions
#include <winsock.h>
// get full hostname (with domain name if possible)
bool wxGetFullHostName(wxChar *buf, int maxSize)
{
-#if !defined( __WXMICROWIN__) && wxUSE_DYNAMIC_LOADER
+#if !defined( __WXMICROWIN__) && wxUSE_DYNAMIC_LOADER && wxUSE_SOCKETS
// TODO should use GetComputerNameEx() when available
// we don't want to always link with Winsock DLL as we might not use it at
strDir = windowsPath;
#endif
#elif defined(__WXWINCE__)
- // Nothing
+ strDir = wxT("\\");
#else
strDir.clear();
return (wxChar *)wxGetHomeDir(&s_home);
}
-bool wxDirExists(const wxString& dir)
-{
-#ifdef __WXMICROWIN__
- return wxPathExist(dir);
-#elif defined(__WIN32__)
- DWORD attribs = GetFileAttributes(dir);
- return ((attribs != (DWORD)-1) && (attribs & FILE_ATTRIBUTE_DIRECTORY));
-#endif // Win32/__WXMICROWIN__
-}
-
bool wxGetDiskSpace(const wxString& path, wxLongLong *pTotal, wxLongLong *pFree)
{
#ifdef __WXWINCE__
params.pid = (DWORD)pid;
// EnumWindows() has nice semantics: it returns 0 if it found
- // something or if an error occured and non zero if it
+ // something or if an error occurred and non zero if it
// enumerated all the window
if ( !::EnumWindows(wxEnumFindByPidProc, (LPARAM)¶ms) )
{
{
// tell the app to close
//
- // NB: this is the harshest way, the app won't have
+ // NB: this is the harshest way, the app won't have an
// opportunity to save any files, for example, but
// this is probably what we want here. If not we
// can also use SendMesageTimeout(WM_CLOSE)
{
#if defined(__WIN64__)
MEMORYSTATUSEX memStatex;
- statex.dwLength = sizeof (statex);
- ::GlobalMemoryStatusEx (&statex);
- return (wxMemorySize)memStatus.ullAvailPhys;
+ memStatex.dwLength = sizeof (memStatex);
+ ::GlobalMemoryStatusEx (&memStatex);
+ return (wxMemorySize)memStatex.ullAvailPhys;
#else /* if defined(__WIN32__) */
MEMORYSTATUS memStatus;
memStatus.dwLength = sizeof(MEMORYSTATUS);
case VER_PLATFORM_WIN32_NT:
s_ver = wxWINDOWS_NT;
break;
+#ifdef __WXWINCE__
case VER_PLATFORM_WIN32_CE:
s_ver = wxWINDOWS_CE;
+#endif
}
-#endif
+#endif
}
}
return info;
}
+wxWinVersion wxGetWinVersion()
+{
+ int verMaj,
+ verMin;
+ switch ( wxGetOsVersion(&verMaj, &verMin) )
+ {
+ case wxWIN95:
+ if ( verMaj == 4 )
+ {
+ switch ( verMin )
+ {
+ case 0:
+ return wxWinVersion_95;
+
+ case 10:
+ return wxWinVersion_98;
+
+ case 90:
+ return wxWinVersion_ME;
+ }
+ }
+ break;
+
+ case wxWINDOWS_NT:
+ switch ( verMaj )
+ {
+ case 3:
+ return wxWinVersion_NT3;
+
+ case 4:
+ return wxWinVersion_NT4;
+
+ case 5:
+ switch ( verMin )
+ {
+ case 0:
+ return wxWinVersion_2000;
+
+ case 1:
+ return wxWinVersion_XP;
+
+ case 2:
+ return wxWinVersion_2003;
+ }
+ break;
+
+ case 6:
+ return wxWinVersion_NT6;
+ }
+ break;
+
+ }
+
+ return wxWinVersion_Unknown;
+}
+
// ----------------------------------------------------------------------------
// sleep functions
// ----------------------------------------------------------------------------
case wxFONTENCODING_CP936:
return GB2312_CHARSET;
+#ifndef __WXWINCE__
case wxFONTENCODING_CP949:
return HANGUL_CHARSET;
+#endif
case wxFONTENCODING_CP950:
return CHINESEBIG5_CHARSET;
case wxFONTENCODING_CP1255: ret = 1255; break;
case wxFONTENCODING_CP1256: ret = 1256; break;
case wxFONTENCODING_CP1257: ret = 1257; break;
- case wxFONTENCODING_EUC_JP: ret = 51932; break;
+ case wxFONTENCODING_EUC_JP: ret = 20932; break;
case wxFONTENCODING_MACROMAN: ret = 10000; break;
case wxFONTENCODING_MACJAPANESE: ret = 10001; break;
case wxFONTENCODING_MACCHINESETRAD: ret = 10002; break;
if ( !name )
return -1;
- wxFontEncoding enc = wxFontMapper::Get()->CharsetToEncoding(name, false);
+ wxFontEncoding enc = wxFontMapperBase::Get()->CharsetToEncoding(name, false);
if ( enc == wxFONTENCODING_SYSTEM )
return -1;
Windows class unregistration).
pclassname is a pointer to a caller stored classname, which must initially be
- NULL. classname is the desired wndclass classname. If function succesfully
+ NULL. classname is the desired wndclass classname. If function successfully
registers the class, pclassname will be set to classname.
*/
extern "C" WXDLLIMPEXP_BASE HWND