diff options
| author | Glenn Rice <glennricster@gmail.com> | 2012-12-16 21:32:14 -0600 |
|---|---|---|
| committer | Glenn Rice <glennricster@gmail.com> | 2012-12-16 21:32:14 -0600 |
| commit | d1a812231ee2b533434cbce9639f3e59413e1cd9 (patch) | |
| tree | fac7d1329b0620746174f190ec4d994d95c61f76 /Source/Core | |
| parent | 8838944cd360148b8aa30d7429b68596ca9e76c7 (diff) | |
Rework the way that windows mouse cursor hiding is done to use the built
in wxWidgets methods.
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/DolphinWX/Dolphin.vcxproj | 3 | ||||
| -rw-r--r-- | Source/Core/DolphinWX/DolphinWX.rc | 1 | ||||
| -rw-r--r-- | Source/Core/DolphinWX/Src/Frame.cpp | 52 | ||||
| -rw-r--r-- | Source/Core/DolphinWX/Src/FrameTools.cpp | 19 |
4 files changed, 14 insertions, 61 deletions
diff --git a/Source/Core/DolphinWX/Dolphin.vcxproj b/Source/Core/DolphinWX/Dolphin.vcxproj index 72c40a3db4..dc6aa2affa 100644 --- a/Source/Core/DolphinWX/Dolphin.vcxproj +++ b/Source/Core/DolphinWX/Dolphin.vcxproj @@ -201,6 +201,9 @@ xcopy "$(SolutionDir)..\Externals\SDL\$(PlatformName)\*.dll" "$(TargetDir)" /e / </Command> <Message>Copying Data\* to $(TargetDir)</Message> </PostBuildEvent> + <ResourceCompile> + <AdditionalIncludeDirectories>C:\Archives\Dolphin-emu\dolphin-emu-git\Externals\wxWidgets3\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugFast|x64'"> <ClCompile> diff --git a/Source/Core/DolphinWX/DolphinWX.rc b/Source/Core/DolphinWX/DolphinWX.rc index e9c06a8fa9..e0c095c885 100644 --- a/Source/Core/DolphinWX/DolphinWX.rc +++ b/Source/Core/DolphinWX/DolphinWX.rc @@ -1,4 +1,5 @@ // Microsoft Visual C++ generated resource script. // #include "resource.h" +#include <wx/msw/wx.rc> IDI_ICON1 ICON "..\\..\\..\\Installer\\Dolphin.ico" diff --git a/Source/Core/DolphinWX/Src/Frame.cpp b/Source/Core/DolphinWX/Src/Frame.cpp index da6c565ddf..99c4f65f1f 100644 --- a/Source/Core/DolphinWX/Src/Frame.cpp +++ b/Source/Core/DolphinWX/Src/Frame.cpp @@ -71,30 +71,7 @@ extern "C" { }; -// Windows functions. Setting the cursor with wxSetCursor() did not work in -// this instance. Probably because it's somehow reset from the WndProc() in -// the child window #ifdef _WIN32 -// Declare a blank icon and one that will be the normal cursor -HCURSOR hCursor = NULL, hCursorBlank = NULL; - -// Create the default cursor -void CreateCursor() -{ - hCursor = LoadCursor( NULL, IDC_ARROW ); -} - -void MSWSetCursor(bool Show) -{ - if(Show) - SetCursor(hCursor); - else - { - SetCursor(hCursorBlank); - //wxSetCursor(wxCursor(wxNullCursor)); - } -} - // I could not use FindItemByHWND() instead of this, it crashed on that occation I used it */ HWND MSWGetParent_(HWND Parent) { @@ -133,10 +110,11 @@ CPanel::CPanel( case WM_USER_SETCURSOR: if (SConfig::GetInstance().m_LocalCoreStartupParameter.bHideCursor && - main_frame->RendererHasFocus() && Core::GetState() == Core::CORE_RUN) - MSWSetCursor(!SConfig::GetInstance().m_LocalCoreStartupParameter.bHideCursor); + main_frame->RendererHasFocus() && Core::GetState() == Core::CORE_RUN && + SConfig::GetInstance().m_LocalCoreStartupParameter.bHideCursor) + SetCursor(wxCURSOR_BLANK); else - MSWSetCursor(true); + SetCursor(wxCURSOR_ARROW); break; case WIIMOTE_DISCONNECT: @@ -435,9 +413,7 @@ CFrame::CFrame(wxFrame* parent, // Commit m_Mgr->Update(); - // Create cursors #ifdef _WIN32 - CreateCursor(); SetToolTip(wxT("")); GetToolTip()->SetAutoPop(25000); #endif @@ -494,20 +470,6 @@ void CFrame::OnActive(wxActivateEvent& event) { if (event.GetActive() && event.GetEventObject() == m_RenderFrame) { - // 32x32, 8bpp b/w image - // We want all transparent, so we can just use the same buffer for - // the "image" as for the transparency mask - static const char cursor_data[32 * 32] = { 0 }; - -#ifdef __WXGTK__ - wxCursor cursor_transparent = wxCursor(cursor_data, 32, 32, 6, 14, - cursor_data, wxWHITE, wxBLACK); -#else - wxBitmap cursor_bitmap(cursor_data, 32, 32); - cursor_bitmap.SetMask(new wxMask(cursor_bitmap)); - wxCursor cursor_transparent = wxCursor(cursor_bitmap.ConvertToImage()); -#endif - #ifdef __WXMSW__ ::SetFocus((HWND)m_RenderParent->GetHandle()); #else @@ -516,12 +478,12 @@ void CFrame::OnActive(wxActivateEvent& event) if (SConfig::GetInstance().m_LocalCoreStartupParameter.bHideCursor && Core::GetState() == Core::CORE_RUN) - m_RenderParent->SetCursor(cursor_transparent); + m_RenderParent->SetCursor(wxCURSOR_BLANK); } else { if (SConfig::GetInstance().m_LocalCoreStartupParameter.bHideCursor) - m_RenderParent->SetCursor(wxNullCursor); + m_RenderParent->SetCursor(wxCURSOR_ARROW); } } event.Skip(); @@ -646,12 +608,12 @@ void CFrame::OnHostMessage(wxCommandEvent& event) } break; -#ifdef __WXGTK__ case WM_USER_CREATE: if (SConfig::GetInstance().m_LocalCoreStartupParameter.bHideCursor) m_RenderParent->SetCursor(wxCURSOR_BLANK); break; +#ifdef __WXGTK__ case IDM_PANIC: { wxString caption = event.GetString().BeforeFirst(':'); diff --git a/Source/Core/DolphinWX/Src/FrameTools.cpp b/Source/Core/DolphinWX/Src/FrameTools.cpp index 98649be181..d52427ed6e 100644 --- a/Source/Core/DolphinWX/Src/FrameTools.cpp +++ b/Source/Core/DolphinWX/Src/FrameTools.cpp @@ -139,9 +139,9 @@ void CFrame::CreateMenu() emulationMenu->Append(IDM_RECORDEXPORT, GetMenuLabel(HK_EXPORT_RECORDING)); emulationMenu->Append(IDM_RECORDREADONLY, GetMenuLabel(HK_READ_ONLY_MODE), wxEmptyString, wxITEM_CHECK); emulationMenu->Append(IDM_TASINPUT, _("TAS Input")); - emulationMenu->AppendCheckItem(IDM_TOGGLE_PAUSEMOVIE, _("Pause at end of movie"));
+ emulationMenu->AppendCheckItem(IDM_TOGGLE_PAUSEMOVIE, _("Pause at end of movie")); emulationMenu->Check(IDM_TOGGLE_PAUSEMOVIE, SConfig::GetInstance().m_PauseMovie); - emulationMenu->AppendCheckItem(IDM_SHOWLAG, _("Show lag counter"));
+ emulationMenu->AppendCheckItem(IDM_SHOWLAG, _("Show lag counter")); emulationMenu->Check(IDM_SHOWLAG, SConfig::GetInstance().m_ShowLag); emulationMenu->Check(IDM_RECORDREADONLY, true); emulationMenu->AppendSeparator(); @@ -1059,23 +1059,10 @@ void CFrame::DoPause() } else { - // 32x32, 8bpp b/w image - // We want all transparent, so we can just use the same buffer for - // the "image" as for the transparency mask - static const char cursor_data[32 * 32] = { 0 }; -#ifdef __WXGTK__ - wxCursor cursor_transparent = wxCursor(cursor_data, 32, 32, 6, 14, - cursor_data, wxWHITE, wxBLACK); -#else - wxBitmap cursor_bitmap(cursor_data, 32, 32); - cursor_bitmap.SetMask(new wxMask(cursor_bitmap)); - wxCursor cursor_transparent = wxCursor(cursor_bitmap.ConvertToImage()); -#endif - Core::SetState(Core::CORE_RUN); if (SConfig::GetInstance().m_LocalCoreStartupParameter.bHideCursor && RendererHasFocus()) - m_RenderParent->SetCursor(cursor_transparent); + m_RenderParent->SetCursor(wxCURSOR_BLANK); } UpdateGUI(); } |
