123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- #pragma once
- #include <d3d9.h>
- #include <d3dx9.h>
- #include <dxerr.h>
- #include "videoosd.h"
- #include "videooutput.h"
- #include "resource.h"
- extern HWND hMainWindow;
- class IVideoD3DOSD :
- public IVideoOSD
- {
- public:
- IVideoD3DOSD(void);
- ~IVideoD3DOSD(void);
- enum UI_ELEM
- {
- NO_BUTTON,
- PREV_BUTTON,
- PLAY_BUTTON,
- PAUSE_BUTTON,
- STOP_BUTTON,
- NEXT_BUTTON,
- ENDFS_BUTTON,
- MUTE_BUTTON,
- PROGRESS_FRAME,
- VOLUME_FRAME,
- PROGRESS_SLIDER,
- VOLUME_SLIDER
- };
- enum BUTTON_STATE
- {
- NORMAL,
- CLICKED,
- HILITE,
- DISABLED
- };
- void CreateOSD(IDirect3DDevice9 * device);
- void UpdateOSD(HWND hWnd, VideoOutput *adjuster);
- void DrawOSD(IDirect3DDevice9 * device);
- void LostOSD();
- void ResetOSD(IDirect3DDevice9 *device);
- UI_ELEM HitTest(float x, float y);
- bool MouseDown(int xpt, int ypt, WPARAM wParam);
- bool MouseMove(int xpt, int ypt, WPARAM wParam);
- bool MouseUp(int xpt, int ypt, WPARAM wParam);
- void SetScalingFactor(float x, float y);
- bool isOSDInited(){return isInited;}
- bool isOSDReadyToDraw(){return isReadyToDraw;};
- protected:
- ID3DXSprite *osdSprite;
- IDirect3DTexture9 *osdAtlasTexture;
- ID3DXFont *osdTimeFont;
- ID3DXFont *osdTitleFont;
-
-
- RECT osdPrevButtonNormalSrcCoords;
- RECT osdPlayButtonNormalSrcCoords;
- RECT osdPauseButtonNormalSrcCoords;
- RECT osdStopButtonNormalSrcCoords;
- RECT osdNextButtonNormalSrcCoords;
- RECT osdProgressFrameNormalSrcCoords;
- RECT osdVolumeFrameNormalSrcCoords;
- RECT osdEndFSButtonNormalSrcCoords;
- RECT osdMuteButtonNormalSrcCoords;
- RECT osdProgressSliderNormalSrcCoords;
- RECT osdVolumeSliderNormalSrcCoords;
- RECT osdProgressProgressSrcCoords;
- RECT osdVolumeProgressSrcCoords;
- RECT osdPrevButtonClickSrcCoords;
- RECT osdPlayButtonClickSrcCoords;
- RECT osdPauseButtonClickSrcCoords;
- RECT osdStopButtonClickSrcCoords;
- RECT osdNextButtonClickSrcCoords;
- RECT osdEndFSButtonClickSrcCoords;
- RECT osdProgressSliderClickSrcCoords;
- RECT osdVolumeSliderClickSrcCoords;
- RECT osdPrevButtonDisabledSrcCoords;
- RECT osdNextButtonDisabledSrcCoords;
- RECT osdPrevButtonHiliteSrcCoords;
- RECT osdPlayButtonHiliteSrcCoords;
- RECT osdPauseButtonHiliteSrcCoords;
- RECT osdStopButtonHiliteSrcCoords;
- RECT osdNextButtonHiliteSrcCoords;
- RECT osdEndFSButtonHiliteSrcCoords;
- RECT osdProgressSliderHiliteSrcCoords;
- RECT osdVolumeSliderHiliteSrcCoords;
- RECT osdBkgrndTextSrcCoords;
- RECT osdTimeRect;
- RECT osdTitleRect;
-
-
-
-
- D3DXVECTOR3 osdBkgrndPosition;
- D3DXVECTOR3 osdPrevButtonPosition;
- D3DXVECTOR3 osdPlayButtonPosition;
- D3DXVECTOR3 osdPauseButtonPosition;
- D3DXVECTOR3 osdStopButtonPosition;
- D3DXVECTOR3 osdNextButtonPosition;
- D3DXVECTOR3 osdProgressFramePosition;
- D3DXVECTOR3 osdVolumeFramePosition;
- D3DXVECTOR3 osdEndFSButtonPosition;
- D3DXVECTOR3 osdMuteButtonPosition;
- D3DXVECTOR3 osdProgressSliderPosition;
- D3DXVECTOR3 osdVolumeSliderPosition;
-
- RECT osdPrevButtonHit;
- RECT osdPlayButtonHit;
- RECT osdPauseButtonHit;
- RECT osdStopButtonHit;
- RECT osdNextButtonHit;
- RECT osdEndFSButtonHit;
- RECT osdProgressFrameHit;
- RECT osdVolumeFrameHit;
- RECT osdProgressSliderHit;
- RECT osdVolumeSliderHit;
- float xScalingFactor;
- float yScalingFactor;
- BUTTON_STATE bState[12];
- bool streaming;
- wchar_t *displayTitle;
- wchar_t *marqueeTitleSrc;
- size_t titleRestart;
- bool titleFits;
- DWORD dtFormat;
- UI_ELEM mouseOver;
- UI_ELEM mouseLastOver;
- UI_ELEM mousePressed;
- UI_ELEM mouseLastPressed;
- bool mouseDragging;
- bool isInited;
- bool isReadyToDraw;
- bool PointInRect(float x, float y, RECT testRect);
- RECT BuildHitRect(D3DXVECTOR3 position, RECT size);
- RECT * GetTextCoords(UI_ELEM item);
- };
|