aboutsummaryrefslogtreecommitdiff
path: root/sp/src/public/bitmap/tgawriter.h
blob: 51854bae9016a1aba107c724c4101cf27ed1ffb2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: 
//
// $NoKeywords: $
//===========================================================================//

#ifndef TGAWRITER_H
#define TGAWRITER_H

#ifdef _WIN32
#pragma once
#endif


#include "tier1/interface.h"
#include "bitmap/imageformat.h" //ImageFormat enum definition

class CUtlBuffer;


namespace TGAWriter
{

	bool WriteToBuffer( unsigned char *pImageData, CUtlBuffer &buffer, int width, int height, 
						ImageFormat srcFormat, ImageFormat dstFormat );


	// write out a simple tga file from a memory buffer.
	bool WriteTGAFile( const char *fileName, int width, int height, enum ImageFormat srcFormat, uint8 const *srcData, int nStride );

// A pair of routines for writing to files without allocating any memory in the TGA writer
// Useful for very large files such as posters, which are rendered as sub-rects anyway
	bool WriteDummyFileNoAlloc( const char *fileName, int width, int height, ImageFormat dstFormat );
	bool WriteRectNoAlloc( unsigned char *pImageData, const char *fileName, int nXOrigin, int nYOrigin, int width, int height, int nStride, ImageFormat srcFormat );


} // end namespace TGAWriter

#endif // TGAWRITER_H