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
49 lines
1.2 KiB
//===== Copyright � 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
|