Counter Strike : Global Offensive Source Code
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.

49 lines
1.2 KiB

  1. //===== Copyright � 1996-2005, Valve Corporation, All rights reserved. ======//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //
  7. //===========================================================================//
  8. #ifndef IPaintmapMANIPULATOR_H
  9. #define IPaintmapMANIPULATOR_H
  10. #ifdef _WIN32
  11. #pragma once
  12. #endif
  13. #include "tier0/platform.h"
  14. struct Rect_t;
  15. //owned by the client
  16. abstract_class IPaintmapDataManager
  17. {
  18. public:
  19. //called just before the material system initializes the paint textures
  20. virtual void BeginPaintmapsDataAllocation( int iPaintmapCount ) = 0;
  21. virtual void AllocatePaintmapData( int iPaintmapID, int iCorrespondingLightMapWidth, int iCorrespondingLightMapHeight ) = 0;
  22. virtual void DestroyPaintmapsData( void ) = 0; // clean up old Paintmaps data
  23. virtual BYTE* GetPaintmapData( int paintmap ) = 0;
  24. virtual void GetPaintmapSize( int paintmap, int& width, int& height ) = 0;
  25. virtual void OnRestorePaintmaps() = 0;
  26. };
  27. //owned by materialsystem
  28. abstract_class IPaintmapTextureManager
  29. {
  30. public:
  31. virtual void BeginUpdatePaintmaps() = 0;
  32. virtual void UpdatePaintmap( int iPaintmapID, BYTE* pPaintData, int numRects, Rect_t* pRects ) = 0;
  33. virtual void EndUpdatePaintmaps() = 0;
  34. };
  35. #endif // IPaintmapMANIPULATOR_H