40 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
41 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
42 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01,
43 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
44 0x08, 0x08, 0x08, 0xff, 0x08, 0x08, 0x08, 0x08,
45 0x81, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x81
57 case 0x1:
return ~(
src |
dst);
58 case 0x2:
return (~
src) &
dst;
59 case 0x3:
return ~
src;
60 case 0x4:
return src & (~
dst);
61 case 0x5:
return ~(
dst);
62 case 0x6:
return src ^
dst;
63 case 0x7:
return ~(
src &
dst);
64 case 0x8:
return src &
dst;
65 case 0x9:
return ~(
src) ^
dst;
67 case 0xb:
return (~
src) |
dst;
69 case 0xd:
return src | (~
dst);
70 case 0xe:
return src |
dst;
88 return *((
unsigned char *)
p);
92 return *((
unsigned short *)
p);
96 return *((
unsigned int *)
p);
125 *((
unsigned char *)
p) = pixel;
129 *((
unsigned short *)
p) = pixel;
133 *((
unsigned int *)
p) = pixel;
226 else if (
bpp == 15 ||
bpp == 16)
231 else if (
bpp == 24 ||
bpp == 32)
270 else if (
bpp == 15 ||
bpp == 16)
274 else if (
bpp == 24 ||
bpp == 32)
332 int * srcx,
int * srcy)
391 unsigned short * p16;
410 for (
i = 0;
i <
cy;
i++)
415 for (
j = 0;
j <
cx;
j++)
425 for (
i = 0;
i <
cy;
i++)
430 for (
j = 0;
j <
cx;
j++)
440 for (
i = 0;
i <
cy;
i++)
445 for (
j = 0;
j <
cx;
j++)
456 for (
i = 0;
i <
cy;
i++)
458 for (
j = 0;
j <
cx;
j++)
484 for (
i =
cy - 1;
i >= 0;
i--)
494 else if (srcy >
y || srcx >
x)
496 for (
i = 0;
i <
cy;
i++)
508 for (
i = 0;
i <
cy;
i++)
523 for (
i =
cy - 1;
i >= 0;
i--)
525 for (
j = 0;
j <
cx;
j++)
532 else if (srcy >
y || srcx >
x)
534 for (
i = 0;
i <
cy;
i++)
536 for (
j = 0;
j <
cx;
j++)
545 for (
i = 0;
i <
cy;
i++)
547 for (
j =
cx - 1;
j >= 0;
j--)
561 void * srcdata,
int srcwidth,
int srcheight,
576 src = (
char *) (((
unsigned char *) srcdata) + srcy * srcwidth + srcx);
580 src = (
char *) (((
unsigned short *) srcdata) + srcy * srcwidth + srcx);
584 src = (
char *) (((
unsigned int *) srcdata) + srcy * srcwidth + srcx);
586 for (
i = 0;
i <
cy;
i++)
600 for (
i = 0;
i <
cy;
i++)
602 for (
j = 0;
j <
cx;
j++)
604 p = *(((
unsigned char *) srcdata) +
605 ((
i + srcy) * srcwidth + (
j + srcx)));
612 for (
i = 0;
i <
cy;
i++)
614 for (
j = 0;
j <
cx;
j++)
616 p = *(((
unsigned short *) srcdata) +
617 ((
i + srcy) * srcwidth + (
j + srcx)));
624 for (
i = 0;
i <
cy;
i++)
626 for (
j = 0;
j <
cx;
j++)
628 p = *(((
unsigned int *) srcdata) +
629 ((
i + srcy) * srcwidth + (
j + srcx)));
641 int glyph_height,
int fgcolour)
646 for (
i = 0;
i < glyph_height;
i++)
648 for (
j = 0;
j < glyph_width;
j++)
661 bs_line(
int opcode,
int startx,
int starty,
int endx,
int endy,
662 int pen_width,
int pen_style,
int pen_colour)
695 dpru = dpr - (
dx << 1);
697 for (;
dx >= 0;
dx--)
699 if (startx != endx || starty != endy)
719 dpru = dpr - (
dy << 1);
721 for (;
dy >= 0;
dy--)
723 if (startx != endx || starty != endy)
746 int brush_x_org,
int brush_y_org,
747 int bgcolour,
int fgcolour)
764 for (
i = 0;
i < 8;
i++)
773 for (
i = 0;
i <
cy;
i++)
775 for (
j = 0;
j <
cx;
j++)
778 (
y +
i + brush_y_org) % 8, 8, 1))
799 if (
cx < 1 ||
cy < 1)
823 for (
i = 0;
i <
cy;
i++)
835 for (
i = 0;
i <
cy;
i++)
void bs_memblt(int opcode, int x, int y, int cx, int cy, void *srcdata, int srcwidth, int srcheight, int srcx, int srcy)
GLint GLint GLsizei width
void bs_copy_box(char *dst, int x, int y, int cx, int cy, int line_size)
void bs_copy_mem(char *d, char *s, int n)
GLint GLint GLint GLint GLint x
void bs_draw_glyph(int x, int y, char *glyph_data, int glyph_width, int glyph_height, int fgcolour)
void bs_rect(int x, int y, int cx, int cy, int colour, int rop)
static int rop(int rop, int src, int dst)
int bs_is_pixel_on(char *data, int x, int y, int width, int bpp)
_Out_opt_ int _Out_opt_ int * cy
void bs_line(int opcode, int startx, int starty, int endx, int endy, int pen_width, int pen_style, int pen_colour)
static int g_clip_bottom1
static char * get_bs_ptr(int x, int y)
int bs_warp_coords(int *x, int *y, int *cx, int *cy, int *srcx, int *srcy)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
GLboolean GLboolean GLboolean b
void bs_set_pixel(int x, int y, int pixel, int rop, int use_clip)
int bs_get_pixel(int x, int y)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
void bs_copy_memb(char *d, char *s, int n)
void bs_patblt(int opcode, int x, int y, int cx, int cy, int brush_style, char *brush_pattern, int brush_x_org, int brush_y_org, int bgcolour, int fgcolour)
int bs_do_rop(int rop, int src, int dst)
void bs_set_pixel_on(char *data, int x, int y, int width, int bpp, int pixel)
GLint GLint GLsizei GLsizei height
void bs_init(int width, int height, int bpp)
static char g_hatch_patterns[]
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLint GLint GLint GLint GLint GLint y
void bs_set_clip(int x, int y, int cx, int cy)
void bs_screenblt(int rop, int x, int y, int cx, int cy, int srcx, int srcy)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *