34 static const size_t buffer_size = 1024;
35 char buffer[buffer_size];
36#if defined(WIN32_VC) || defined(WIN64_VC)
38 vsprintf(buffer, format, ap);
40 vsnprintf(buffer, buffer_size, format, ap);
44 nassertv(strlen(buffer) < buffer_size);
46 pnmimage_cat.info() << buffer <<
"\n";
58 static const size_t buffer_size = 1024;
59 char buffer[buffer_size];
60#if defined(WIN32_VC) || defined(WIN64_VC)
62 vsprintf(buffer, format, ap);
64 vsnprintf(buffer, buffer_size, format, ap);
68 nassertv(strlen(buffer) < buffer_size);
70 pnmimage_cat.error() << buffer <<
"\n";
85 nassertr(bits != 0, 16);
96 return ( 1 << bits ) - 1;
104 return (
char *)PANDA_MALLOC_ARRAY(cols * size);
112 PANDA_FREE_ARRAY(itrow);
120pm_readbigshort(istream *in,
short *sP) {
122 *sP = reader.get_be_int16();
123 return (!in->fail()) ? 0 : -1;
127pm_writebigshort(ostream *out,
short s) {
129 writer.add_be_int16(s);
130 return (!out->fail()) ? 0 : -1;
134pm_readbiglong(istream *in,
long *lP) {
136 *lP = reader.get_be_int32();
137 return (!in->fail()) ? 0 : -1;
141pm_writebiglong(ostream *out,
long l) {
143 writer.add_be_int32(l);
144 return (!out->fail()) ? 0 : -1;
148pm_readlittleshort(istream *in,
short *sP) {
150 *sP = reader.get_int16();
151 return (!in->fail()) ? 0 : -1;
155pm_writelittleshort(ostream *out,
short s) {
158 return (!out->fail()) ? 0 : -1;
162pm_readlittlelong(istream *in,
long *lP) {
164 *lP = reader.get_int32();
165 return (!in->fail()) ? 0 : -1;
169pm_writelittlelong(ostream *out,
long l) {
172 return (!out->fail()) ? 0 : -1;
A class to read sequential binary data directly from an istream.
A StreamWriter object is used to write sequential binary data directly to an ostream.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
int pm_maxvaltobits(int maxval)
Returns the number of bits sufficient to hold the indicated maxval value.
char * pm_allocrow(int cols, int size)
Allocates a row of cols * size bytes.
int pm_bitstomaxval(int bits)
Returns the highest maxval that can be represented in the indicated number of bits.
void pm_freerow(char *itrow)
Frees the row previously allocated withm pm_allocrow().
void pm_error(const char *format,...)
Outputs the given printf-style message to the user and terminates messily.
void pm_message(const char *format,...)
Outputs the given printf-style message to the user and returns.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.