xref: /MusicPlayer2/MusicPlayer2/IPlayerUI.h (revision 5129c2cbc5f5eec05c32491b0a0edaf6dfd6739c)
1 #pragma once
2 #include "stdafx.h"
3 
4 class IPlayerUI
5 {
6 public:
7 	struct UIButton		//界面中绘制的按钮
8 	{
9 		CRect rect;				//按钮的矩形区域
10 		bool hover{ false };	//鼠标是否指向按钮
11 		bool pressed{ false };	//按钮是否按下
12 		bool enable{ true };	//按钮是否启用
13 	};
14 
15 public:
IPlayerUI()16 	IPlayerUI(){}
~IPlayerUI()17 	virtual ~IPlayerUI(){}
18 
19 	virtual void Init(CDC* pDC) = 0;
20 	virtual void DrawInfo(bool reset = false) = 0;
21 	virtual void ClearInfo() = 0;
22 
23 	virtual bool LButtonDown(CPoint point) = 0;
24 	virtual void RButtonUp(CPoint point) = 0;
25 	virtual void MouseMove(CPoint point) = 0;
26 	virtual bool LButtonUp(CPoint point) = 0;
27     virtual void RButtonDown(CPoint point) = 0;
28     virtual bool MouseWheel(int delta, CPoint point) = 0;
29     virtual bool DoubleClick(CPoint point) = 0;
30 
31 	virtual CRect GetThumbnailClipArea() = 0;
32 
33 	virtual void UpdateMouseToolTip(int btn, LPCTSTR str) = 0;
34 	virtual void UpdateToolTipPosition() = 0;
35 	virtual void UpdatePlayPauseButtonTip() = 0;
36 	virtual void UpdateFullScreenTip() = 0;
37 
38 	virtual bool SetCursor() = 0;
39 	virtual void MouseLeave() = 0;
40 
41     virtual CToolTipCtrl& GetToolTipCtrl() = 0;
42 };