]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/utilsgui.cpp
Removed useless wxDisplaySize() calls from wxHtmlPrintout.
[wxWidgets.git] / src / msw / utilsgui.cpp
index e74c0326a74644173cf69c0eb80c92d47923dbe7..68ca45db20cafbe0293087787bc83e2fe4c5238d 100644 (file)
@@ -108,7 +108,7 @@ bool wxCheckForInterrupt(wxWindow *wnd)
 // Returns NULL or newly-allocated memory, so use delete[] to clean up.
 
 #ifndef __WXMICROWIN__
-wxChar *wxLoadUserResource(const wxString& resourceName, const wxString& resourceType)
+char *wxLoadUserResource(const wxString& resourceName, const wxString& resourceType, int* pLen /* = NULL */)
 {
     HRSRC hResource = ::FindResource(wxGetInstance(),
                                      resourceName.wx_str(),
@@ -120,15 +120,16 @@ wxChar *wxLoadUserResource(const wxString& resourceName, const wxString& resourc
     if ( hData == 0 )
         return NULL;
 
-    wxChar *theText = (wxChar *)::LockResource(hData);
+    void *theText = ::LockResource(hData);
     if ( !theText )
         return NULL;
 
     // Not all compilers put a zero at the end of the resource (e.g. BC++ doesn't).
     // so we need to find the length of the resource.
-    int len = ::SizeofResource(wxGetInstance(), hResource) + 1;
-    wxChar *s = new wxChar[len];
-    wxStrlcpy(s, theText, len);
+    int len = ::SizeofResource(wxGetInstance(), hResource);
+    char *s = new char[len + 1];
+    memcpy(s, theText, len);
+    s[len] = '\0'; // NUL-terminate in case the resource itself wasn't
 
     // Obsolete in WIN32
 #ifndef __WIN32__
@@ -138,6 +139,9 @@ wxChar *wxLoadUserResource(const wxString& resourceName, const wxString& resourc
     // No need??
     //  GlobalFree(hData);
 
+    if (pLen)
+      *pLen = len;
+
     return s;
 }
 #endif // __WXMICROWIN__
@@ -304,10 +308,8 @@ int WXDLLEXPORT wxGetWindowId(WXHWND hWnd)
 // Metafile helpers
 // ----------------------------------------------------------------------------
 
-extern void PixelToHIMETRIC(LONG *x, LONG *y)
+void PixelToHIMETRIC(LONG *x, LONG *y, HDC hdcRef)
 {
-    ScreenHDC hdcRef;
-
     int iWidthMM = GetDeviceCaps(hdcRef, HORZSIZE),
         iHeightMM = GetDeviceCaps(hdcRef, VERTSIZE),
         iWidthPels = GetDeviceCaps(hdcRef, HORZRES),
@@ -319,10 +321,8 @@ extern void PixelToHIMETRIC(LONG *x, LONG *y)
     *y /= iHeightPels;
 }
 
-extern void HIMETRICToPixel(LONG *x, LONG *y)
+void HIMETRICToPixel(LONG *x, LONG *y, HDC hdcRef)
 {
-    ScreenHDC hdcRef;
-
     int iWidthMM = GetDeviceCaps(hdcRef, HORZSIZE),
         iHeightMM = GetDeviceCaps(hdcRef, VERTSIZE),
         iWidthPels = GetDeviceCaps(hdcRef, HORZRES),
@@ -334,6 +334,16 @@ extern void HIMETRICToPixel(LONG *x, LONG *y)
     *y /= (iHeightMM * 100);
 }
 
+void HIMETRICToPixel(LONG *x, LONG *y)
+{
+    HIMETRICToPixel(x, y, ScreenHDC());
+}
+
+void PixelToHIMETRIC(LONG *x, LONG *y)
+{
+    PixelToHIMETRIC(x, y, ScreenHDC());
+}
+
 void wxDrawLine(HDC hdc, int x1, int y1, int x2, int y2)
 {
 #ifdef __WXWINCE__
@@ -366,11 +376,11 @@ extern bool wxEnableFileNameAutoComplete(HWND hwnd)
         s_initialized = true;
 
         wxLogNull nolog;
-        wxDynamicLibrary dll(_T("shlwapi.dll"));
+        wxDynamicLibrary dll(wxT("shlwapi.dll"));
         if ( dll.IsLoaded() )
         {
             s_pfnSHAutoComplete =
-                (SHAutoComplete_t)dll.GetSymbol(_T("SHAutoComplete"));
+                (SHAutoComplete_t)dll.GetSymbol(wxT("SHAutoComplete"));
             if ( s_pfnSHAutoComplete )
             {
                 // won't be unloaded until the process termination, no big deal
@@ -385,7 +395,7 @@ extern bool wxEnableFileNameAutoComplete(HWND hwnd)
     HRESULT hr = s_pfnSHAutoComplete(hwnd, 0x10 /* SHACF_FILESYS_ONLY */);
     if ( FAILED(hr) )
     {
-        wxLogApiError(_T("SHAutoComplete"), hr);
+        wxLogApiError(wxT("SHAutoComplete"), hr);
         return false;
     }
 
@@ -406,7 +416,7 @@ bool wxLaunchDefaultApplication(const wxString& document, int flags)
 
     WinStruct<SHELLEXECUTEINFO> sei;
     sei.lpFile = document.wx_str();
-    sei.lpVerb = _T("open");
+    sei.lpVerb = wxT("open");
 #ifdef __WXWINCE__
     sei.nShow = SW_SHOWNORMAL; // SW_SHOWDEFAULT not defined under CE (#10216)
 #else
@@ -431,17 +441,17 @@ bool wxLaunchDefaultApplication(const wxString& document, int flags)
 bool wxDoLaunchDefaultBrowser(const wxString& url, const wxString& scheme, int flags)
 {
     wxUnusedVar(flags);
-    
+
 #if wxUSE_IPC
     if ( flags & wxBROWSER_NEW_WINDOW )
     {
         // ShellExecuteEx() opens the URL in an existing window by default so
         // we can't use it if we need a new window
-        wxRegKey key(wxRegKey::HKCR, scheme + _T("\\shell\\open"));
+        wxRegKey key(wxRegKey::HKCR, scheme + wxT("\\shell\\open"));
         if ( !key.Exists() )
         {
             // try the default browser, it must be registered at least for http URLs
-            key.SetName(wxRegKey::HKCR, _T("http\\shell\\open"));
+            key.SetName(wxRegKey::HKCR, wxT("http\\shell\\open"));
         }
 
         if ( key.Exists() )
@@ -501,7 +511,7 @@ bool wxDoLaunchDefaultBrowser(const wxString& url, const wxString& scheme, int f
 
     WinStruct<SHELLEXECUTEINFO> sei;
     sei.lpFile = url.c_str();
-    sei.lpVerb = _T("open");
+    sei.lpVerb = wxT("open");
     sei.nShow = SW_SHOWNORMAL;
     sei.fMask = SEE_MASK_FLAG_NO_UI; // we give error message ourselves