DirectDraw.h
上传用户:popouu88
上传日期:2013-02-11
资源大小:2894k
文件大小:2k
源码类别:

IP电话/视频会议

开发平台:

Visual C++

  1. // DDraw.h: interface for the CDirectDraw class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_DDRAW_H__32A5477E_B6C0_4D99_ACBE_887BF9247475__INCLUDED_)
  5. #define AFX_DDRAW_H__32A5477E_B6C0_4D99_ACBE_887BF9247475__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include <ddraw.h>
  10. #include "c_color_space.h"
  11. class CDirectDraw  
  12. {
  13. public:
  14.          CDirectDraw();
  15. virtual ~CDirectDraw();
  16. //是否初始化
  17. BOOL     IsInitDDraw(void){ return this->lpDDSPrimary != NULL; }
  18. //初始化函数
  19.     BOOL     InitDirectDraw(HWND hwnd,int width,int height,int depth);
  20. //释放资源
  21. void     ReleaseDirectDraw(void);
  22. //画图
  23. BOOL     DrawDirectDraw(void *buffer,BOOL m_bCaption , int time );
  24.     //取宽度
  25. int      GetWidth(void) {return bitmap_width;}
  26. //取高度
  27. int      GetHeight(void){return bitmap_height;}
  28. //取深度
  29. int      GetDepth(void) {return bitmap_depth;}
  30. protected:
  31. void   * ConvertImageToDDraw(void *buffer);
  32. //把图像拷贝到DirectX表面
  33. void     CopyToDDraw(void* destination_buffer,void* source_buffer);
  34. private:
  35. //窗口句柄
  36. HWND                    m_hWnd;
  37. //窗口标题
  38. CString                 wndText;
  39. //DirectX
  40. DDSURFACEDESC2          ddsd;
  41.     LPDIRECTDRAW7           lpDD;
  42. LPDIRECTDRAWSURFACE7    lpDDSPrimary;
  43. LPDIRECTDRAWSURFACE7    lpDDSOffscreen;
  44. LPDIRECTDRAWCLIPPER     lpClipper;
  45. //图像大小
  46. int                     bitmap_width;
  47. int                     bitmap_height;
  48. int                     bitmap_depth;
  49.     int                     bitmap_size;
  50.     //屏幕尺寸 
  51. int                     screen_width;
  52. int                     screen_height;
  53. int                     screen_depth;
  54. //DirectX缓冲区
  55.     void                  * ddraw_buffer;
  56. };
  57. #endif // !defined(AFX_DDRAW_H__32A5477E_B6C0_4D99_ACBE_887BF9247475__INCLUDED_)