Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/mpc-hc/MainFrm.h')
-rw-r--r--src/mpc-hc/MainFrm.h36
1 files changed, 27 insertions, 9 deletions
diff --git a/src/mpc-hc/MainFrm.h b/src/mpc-hc/MainFrm.h
index 4cb5618cf..653463938 100644
--- a/src/mpc-hc/MainFrm.h
+++ b/src/mpc-hc/MainFrm.h
@@ -71,6 +71,7 @@
#include "sizecbar/scbarg.h"
#include "DSMPropertyBag.h"
#include "SkypeMoodMsgHandler.h"
+#include "DpiHelper.h"
#include <memory>
#include <future>
@@ -153,13 +154,18 @@ struct SubtitleInput {
: pSubStream(pSubStream), pSourceFilter(pSourceFilter) {};
};
-interface ISubClock;
-interface IMadVRSubclassReplacement;
+interface IMadVRCommand;
interface IMadVRSettings;
+interface IMadVRSubclassReplacement;
+interface IMadVRInfo;
+interface ISubClock;
class CMainFrame : public CFrameWnd, public CDropClient
{
public:
+
+ DpiHelper m_dpi;
+
enum class Timer32HzSubscriber {
TOOLBARS_HIDER,
CURSOR_HIDER,
@@ -184,6 +190,8 @@ private:
EventClient m_eventc;
void EventCallback(MpcEvent ev);
+ CMainFrameMouseHook m_mouseHook;
+
enum {
TIMER_STREAMPOSPOLLER = 1,
TIMER_STREAMPOSPOLLER2,
@@ -234,8 +242,10 @@ private:
CComPtr<ISubPicAllocatorPresenter> m_pCAP;
CComPtr<ISubPicAllocatorPresenter2> m_pCAP2;
- CComPtr<IMadVRSubclassReplacement> m_pMVRSR;
CComPtr<IMadVRSettings> m_pMVRS;
+ CComPtr<IMadVRSubclassReplacement> m_pMVRSR;
+ CComPtr<IMadVRCommand> m_pMVRC;
+ CComPtr<IMadVRInfo> m_pMVRI;
CComQIPtr<IDvdControl2> m_pDVDC;
CComQIPtr<IDvdInfo2> m_pDVDI;
@@ -281,6 +291,7 @@ private:
void SetDefaultWindowRect(int iMonitor = 0);
void SetDefaultFullscreenState();
void RestoreDefaultWindowRect();
+ CRect GetInvisibleBorderSize() const;
CSize GetZoomWindowSize(double dScale);
CRect GetZoomWindowRect(const CSize& size);
void ZoomVideoWindow(double dScale = ZOOM_DEFAULT_LEVEL);
@@ -302,9 +313,10 @@ private:
void SetupShadersSubMenu();
void SetupRecentFilesSubMenu();
- IBaseFilter* FindSourceSelectableFilter();
void SetupNavStreamSelectSubMenu(CMenu& subMenu, UINT id, DWORD dwSelGroup);
void OnNavStreamSelectSubMenu(UINT id, DWORD dwSelGroup);
+ void OnStreamSelect(bool forward, DWORD dwSelGroup);
+ static CString GetStreamOSDString(CString name, LCID lcid, DWORD dwSelGroup);
CMenu m_mainPopupMenu, m_popupMenu;
CMenu m_openCDsMenu;
@@ -387,6 +399,7 @@ private:
MLS m_eMediaLoadState;
REFTIME GetAvgTimePerFrame() const;
+ void OnVideoSizeChanged(const bool bWasAudioOnly = false);
CDropTarget m_dropTarget;
void OnDropFiles(CAtlList<CString>& slFiles, DROPEFFECT dropEffect) override;
@@ -604,6 +617,13 @@ public:
bAbortInfo = true;
}
+ void Join() {
+ if (infoData.valid()) {
+ bAbortInfo = true;
+ infoData.wait();
+ }
+ }
+
~DVBState() {
bAbortInfo = true;
}
@@ -671,6 +691,8 @@ public:
afx_msg void OnDisplayChange();
afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);
+ LRESULT OnDpiChanged(WPARAM wParam, LPARAM lParam);
+
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnActivateApp(BOOL bActive, DWORD dwThreadID);
afx_msg LRESULT OnAppCommand(WPARAM wParam, LPARAM lParam);
@@ -714,8 +736,6 @@ public:
afx_msg void OnStreamAudio(UINT nID);
afx_msg void OnStreamSub(UINT nID);
afx_msg void OnStreamSubOnOff();
- afx_msg void OnOgmAudio(UINT nID);
- afx_msg void OnOgmSub(UINT nID);
afx_msg void OnDvdAngle(UINT nID);
afx_msg void OnDvdAudio(UINT nID);
afx_msg void OnDvdSub(UINT nID);
@@ -1065,7 +1085,7 @@ protected:
bool m_bAllowWindowZoom;
double m_dLastVideoScaleFactor;
- int m_nLastVideoWidth;
+ CSize m_lastVideoSize;
bool m_bExtOnTop; // 'true' if the "on top" flag was set by an external tool
@@ -1094,6 +1114,4 @@ public:
bool OpenBD(CString Path);
bool GetDecoderType(CString& type) const;
-
- DPI m_dpi;
};