62 if (*sptr++ ==
'\0') {
86 virtual void Blit(
void * dest,
void const * source,
int length,
int leadskip=0)
const
88 unsigned char const * sptr = (
unsigned char const *)source;
105 unsigned char value = *sptr++;
111 *dptr++ = TranslateTable[
value];
118 T
const * TranslateTable;
129 RLEBlitTransRemapXlat(
unsigned char const * remapper, T
const * translator) : RemapTable(remapper), TranslateTable(translator) {assert(TranslateTable !=
NULL);assert(RemapTable !=
NULL);}
131 virtual void Blit(
void * dest,
void const * source,
int length,
int leadskip=0)
const
133 unsigned char const * sptr = (
unsigned char const *)source;
134 T * dptr = (T *)dest;
142 length -= transcount;
150 unsigned char value = *sptr++;
156 *dptr++ = TranslateTable[RemapTable[
value]];
163 unsigned char const * RemapTable;
164 T
const * TranslateTable;
177 RLEBlitTransZRemapXlat(
unsigned char const *
const * remapper, T
const * translator) : RemapTable(remapper), TranslateTable(translator) {assert(TranslateTable !=
NULL);assert(RemapTable !=
NULL);}
179 virtual void Blit(
void * dest,
void const * source,
int length,
int leadskip=0)
const
181 unsigned char const * sptr = (
unsigned char const *)source;
182 unsigned char const * remapper = *RemapTable;
183 T * dptr = (T *)dest;
191 length -= transcount;
199 unsigned char value = *sptr++;
205 *dptr++ = TranslateTable[remapper[
value]];
212 unsigned char const *
const * RemapTable;
213 T
const * TranslateTable;
227 virtual void Blit(
void * dest,
void const * source,
int length,
int leadskip=0)
const
229 unsigned char const * sptr = (
unsigned char const *)source;
230 T * dptr = (T *)dest;
238 length -= transcount;
246 unsigned char value = *sptr++;
252 *dptr = RemapTable[*dptr];
260 T
const * RemapTable;
275 virtual void Blit(
void * dest,
void const * source,
int length,
int leadskip=0)
const
277 unsigned char const * sptr = (
unsigned char const *)source;
278 T * dptr = (T *)dest;
286 length -= transcount;
294 unsigned char value = *sptr++;
300 *dptr = (T)((*dptr >> 1) & Mask);
322 virtual void Blit(
void * dest,
void const * source,
int length,
int leadskip=0)
const
324 unsigned char const * sptr = (
unsigned char const *)source;
325 T * dptr = (T *)dest;
333 length -= transcount;
341 unsigned char value = *sptr++;
347 *dptr = (T)((((*dptr) >> 1) & Mask) + ((TranslateTable[
value] >> 1) & Mask));
355 T
const * TranslateTable;
369 virtual void Blit(
void * dest,
void const * source,
int length,
int leadskip=0)
const
371 unsigned char const * sptr = (
unsigned char const *)source;
372 T * dptr = (T *)dest;
380 length -= transcount;
388 unsigned char value = *sptr++;
394 T qsource = (T)(((TranslateTable[
value] >> 2) & Mask));
395 T qdest = (T)(((*dptr) >> 2) & Mask);
396 *dptr++ = (T)(qdest + qsource + qsource + qsource);
403 T
const * TranslateTable;
418 virtual void Blit(
void * dest,
void const * source,
int length,
int leadskip=0)
const
420 unsigned char const * sptr = (
unsigned char const *)source;
421 T * dptr = (T *)dest;
429 length -= transcount;
437 unsigned char value = *sptr++;
443 T qsource = (T)(((TranslateTable[
value] >> 2) & Mask));
444 T qdest = (T)(((*dptr) >> 2) & Mask);
445 *dptr++ = (T)(qdest + qdest + qdest + qsource);
452 T
const * TranslateTable;
460 unsigned char const * remapper = *RemapTable;
461 unsigned short const * transtable = TranslateTable;
544 unsigned char const * remapper = RemapTable;
545 unsigned short const * transtable = TranslateTable;
628 unsigned short const * transtable = TranslateTable;
RLEBlitTransDarken(T mask)
virtual void Blit(void *dest, void const *source, int length, int leadskip=0) const
virtual void Blit(void *dest, void const *source, int length, int leadskip=0) const
RLEBlitTransLucent25(T const *translator, T mask)
RLEBlitTransLucent50(T const *translator, T mask)
virtual void Blit(void *dest, void const *source, int length, int leadskip=0) const
virtual void Blit(void *dest, void const *source, int length, int leadskip=0) const
RLEBlitTransLucent75(T const *translator, T mask)
RLEBlitTransRemapDest(T const *remap)
virtual void Blit(void *dest, void const *source, int length, int leadskip=0) const
RLEBlitTransRemapXlat(unsigned char const *remapper, T const *translator)
virtual void Blit(void *dest, void const *source, int length, int leadskip=0) const
RLEBlitTransXlat(T const *translator)
virtual void Blit(void *dest, void const *source, int length, int leadskip=0) const
RLEBlitTransZRemapXlat(unsigned char const *const *remapper, T const *translator)
virtual void Blit(void *dest, void const *source, int length, int leadskip=0) const
int Skip_Leading_Pixels(unsigned char const *&sptr, int skipper)