Resizer.h
上传用户:tuheem
上传日期:2007-05-01
资源大小:21889k
文件大小:1k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /**************************************************************************************
  2.  *                                                                                    *
  3.  *                                                                                    *
  4.  **************************************************************************************/
  5. #ifndef _RESIZER_H
  6. #define _RESIZER_H
  7. #include "Playa.h"
  8. #include <windows.h>
  9. /*
  10.  * 屏幕高宽比的数据类型
  11.  */
  12. typedef struct aspect_ratio_factor_s {
  13. DWORD xFactor;
  14. DWORD yFactor;
  15. } aspect_ratio_factors_t;
  16. extern aspect_ratio_factors_t aspectRatios[];
  17. class Resizer {
  18. private:
  19. POINT lastPt;
  20. POINT startPt;
  21. DWORD originalWidth;
  22. DWORD originalHeight;
  23. void DrawFree(HWND hwnd, POINT *pt1);
  24. void DrawOriginal(HWND hwnd, POINT *pt1);
  25. void DrawTV(HWND hwnd, POINT *pt1);
  26. void DrawWide(HWND hwnd, POINT *pt1);
  27. void DrawCustom(HWND hwnd, POINT *pt1);
  28. public:
  29. Resizer();
  30. ~Resizer();
  31. void Start(POINT *pt, DWORD originalWidth, DWORD originalHeight);
  32. void   Draw(HWND hwnd, POINT *pt, aspect_ratio_t aspectRatio);
  33. POINT *GetLastPoint();
  34. void Stop();
  35. };
  36. #endif