cstrike15_src/public/materialsystem/ipaintmapdatamanager.h
2025-06-04 03:22:50 +02:00

50 lines
1.2 KiB
C++
Raw Blame History

//===== Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//
// $NoKeywords: $
//
//===========================================================================//
#ifndef IPaintmapMANIPULATOR_H
#define IPaintmapMANIPULATOR_H
#ifdef _WIN32
#pragma once
#endif
#include "tier0/platform.h"
struct Rect_t;
//owned by the client
abstract_class IPaintmapDataManager
{
public:
//called just before the material system initializes the paint textures
virtual void BeginPaintmapsDataAllocation( int iPaintmapCount ) = 0;
virtual void AllocatePaintmapData( int iPaintmapID, int iCorrespondingLightMapWidth, int iCorrespondingLightMapHeight ) = 0;
virtual void DestroyPaintmapsData( void ) = 0; // clean up old Paintmaps data
virtual BYTE* GetPaintmapData( int paintmap ) = 0;
virtual void GetPaintmapSize( int paintmap, int& width, int& height ) = 0;
virtual void OnRestorePaintmaps() = 0;
};
//owned by materialsystem
abstract_class IPaintmapTextureManager
{
public:
virtual void BeginUpdatePaintmaps() = 0;
virtual void UpdatePaintmap( int iPaintmapID, BYTE* pPaintData, int numRects, Rect_t* pRects ) = 0;
virtual void EndUpdatePaintmaps() = 0;
};
#endif // IPaintmapMANIPULATOR_H