From: Václav Slavík Date: Mon, 18 Feb 2002 20:38:59 +0000 (+0000) Subject: checked in forgottern parts of MSLU changes X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/28f5082b3235a349ffc3b99eeacca5049ccd42dd checked in forgottern parts of MSLU changes git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/msw/mslu.h b/include/wx/msw/mslu.h new file mode 100644 index 0000000000..f09435b5fb --- /dev/null +++ b/include/wx/msw/mslu.h @@ -0,0 +1,71 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/msw/mslu.h +// Purpose: Fixes for bugs in MSLU +// Author: Vaclav Slavik +// Modified by: +// Created: 2002/02/17 +// RCS-ID: $Id$ +// Copyright: (c) 2002 Vaclav Slavik +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_MSLU_H_ +#define _WX_MSLU_H_ + +#include "wx/defs.h" +#include "wx/utils.h" +#include "wx/wxchar.h" + +#if !wxUSE_UNICODE_MSLU +inline bool wxUsingUnicowsDll() { return FALSE; } +#else + +// Returns true if we are running under Unicode emulation in Win9x environment. +// Workaround hacks take effect only if this condition is met +inline bool wxUsingUnicowsDll() +{ + return (wxGetOsVersion() == wxWIN95); +} + +//------------------------------------------------------------------------ +// Wrongly implemented functions from unicows.dll +//------------------------------------------------------------------------ + +#if wxUSE_GUI + +WXDLLEXPORT bool wxMSLU_DrawStateW(WXHDC dc, WXHBRUSH br, WXFARPROC outputFunc, + WXLPARAM lData, WXWPARAM wData, + int x, int y, int cx, int cy, + unsigned int flags); +#define DrawStateW(dc, br, func, ld, wd, x, y, cx, cy, flags) \ + wxMSLU_DrawStateW((WXHDC)dc,(WXHBRUSH)br,(WXFARPROC)func, \ + ld, wd, x, y, cx, cy, flags) + +WXDLLEXPORT bool wxMSLU_GetOpenFileNameW(void *ofn); +#define GetOpenFileNameW(ofn) wxMSLU_GetOpenFileNameW((void*)ofn) + +WXDLLEXPORT bool wxMSLU_GetSaveFileNameW(void *ofn); +#define GetSaveFileNameW(ofn) wxMSLU_GetSaveFileNameW((void*)ofn) + +#endif + +//------------------------------------------------------------------------ +// Missing libc file manipulation functions in Win9x +//------------------------------------------------------------------------ + +WXDLLEXPORT int wxMSLU__trename(const wxChar *oldname, const wxChar *newname); +WXDLLEXPORT int wxMSLU__tremove(const wxChar *name); + +#if defined( __VISUALC__ ) \ + || ( defined(__MINGW32__) && wxCHECK_W32API_VERSION( 0, 5 ) ) \ + || ( defined(__MWERKS__) && defined(__WXMSW__) ) +WXDLLEXPORT int wxMSLU__wopen(const wxChar *name, int flags, int mode); +WXDLLEXPORT int wxMSLU__waccess(const wxChar *name, int mode); +WXDLLEXPORT int wxMSLU__wmkdir(const wxChar *name); +WXDLLEXPORT int wxMSLU__wrmdir(const wxChar *name); +WXDLLEXPORT int wxMSLU__wstat(const wxChar *name, struct _stat *buffer); +#endif + +#endif // wxUSE_UNICODE_MSLU + +#endif // _WX_MSLU_H_ diff --git a/src/common/file.cpp b/src/common/file.cpp index bbce6d8de1..af237f6a89 100644 --- a/src/common/file.cpp +++ b/src/common/file.cpp @@ -139,6 +139,10 @@ #include "wx/filename.h" #include "wx/file.h" +#ifdef __WXMSW__ + #include "wx/msw/mslu.h" +#endif + // ============================================================================ // implementation of wxFile // ============================================================================