Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
1.6 KiB

  1. /**
  2. ** File : interface.h
  3. ** Description: Interface definitions
  4. **/
  5. #ifndef _interface_h_
  6. #define _interface_h_
  7. #include <unknwn.h>
  8. #define interface struct
  9. EXTERN_C const GUID CDECL FAR IID_IPMesh;
  10. EXTERN_C const GUID CDECL FAR IID_IPMeshGL;
  11. EXTERN_C const GUID CDECL FAR IID_IPMGeomorph;
  12. EXTERN_C const GUID CDECL FAR IID_IPMeshLoadCB;
  13. interface IPMeshLoadCB:IUnknown
  14. {
  15. STDMETHOD(OnDataAvailable)(DWORD, DWORD)=0;
  16. };
  17. typedef IPMeshLoadCB* LPPMESHLOADCB;
  18. /*
  19. * IPMGeomorph Interface
  20. */
  21. interface IPMGeomorph:IUnknown
  22. {
  23. STDMETHOD(SetBlend)(float)=0;
  24. STDMETHOD(GetBlend)(float*)=0;
  25. };
  26. typedef IPMGeomorph* LPPMGEOMORPH;
  27. /*
  28. * IPMesh Interface
  29. */
  30. interface IPMesh: public IUnknown
  31. {
  32. STDMETHOD (Load)(const char* const, const char* const, DWORD* const,
  33. DWORD* const, LPPMESHLOADCB)=0;
  34. STDMETHOD (LoadStat)(const char* const, const char* const, DWORD* const,
  35. DWORD* const)=0;
  36. STDMETHOD (GetNumFaces)(DWORD* const)=0;
  37. STDMETHOD (SetNumFaces)(DWORD)=0;
  38. STDMETHOD (GetNumVertices)(DWORD* const)=0;
  39. STDMETHOD (SetNumVertices)(DWORD)=0;
  40. STDMETHOD (GetMaxVertices)(DWORD* const)=0;
  41. STDMETHOD (GetMaxFaces)(DWORD* const)=0;
  42. STDMETHOD (GeomorphToVertices)(LPPMGEOMORPH, DWORD* const)=0;
  43. STDMETHOD (GeomorphToFaces)(LPPMGEOMORPH, DWORD* const)=0;
  44. STDMETHOD (ClonePM)(IPMesh* const)=0;
  45. };
  46. typedef IPMesh* LPPMESH;
  47. /*
  48. * IPMeshGL Interface
  49. */
  50. interface IPMeshGL: public IUnknown
  51. {
  52. STDMETHOD (Initialize)(void)=0;
  53. STDMETHOD (Render)(void)=0;
  54. };
  55. typedef IPMeshGL* LPPMESHGL;
  56. #endif //_interface_h_