src/gfx.cpp
changeset 6987 b0f13039bda2
parent 6977 67b989528f3d
child 7111 269c76b5b987
equal deleted inserted replaced
6986:168d3add1f13 6987:b0f13039bda2
   199 }
   199 }
   200 
   200 
   201 static void GfxSetPixel(int x, int y, int color)
   201 static void GfxSetPixel(int x, int y, int color)
   202 {
   202 {
   203 	const DrawPixelInfo* dpi = _cur_dpi;
   203 	const DrawPixelInfo* dpi = _cur_dpi;
   204 	if ((x-=dpi->left) < 0 || x>=dpi->width || (y-=dpi->top)<0 || y>=dpi->height)
   204 	if ((x -= dpi->left) < 0 || x >= dpi->width || (y -= dpi->top)<0 || y >= dpi->height)
   205 		return;
   205 		return;
   206 	dpi->dst_ptr[y * dpi->pitch + x] = color;
   206 	dpi->dst_ptr[y * dpi->pitch + x] = color;
   207 }
   207 }
   208 
   208 
   209 void GfxDrawLine(int x, int y, int x2, int y2, int color)
   209 void GfxDrawLine(int x, int y, int x2, int y2, int color)
   459 				}
   459 				}
   460 			} else {
   460 			} else {
   461 				switch (c) {
   461 				switch (c) {
   462 					case '\0': return num + (size << 16); break;
   462 					case '\0': return num + (size << 16); break;
   463 					case SCC_SETX:  str++; break;
   463 					case SCC_SETX:  str++; break;
   464 					case SCC_SETXY: str +=2; break;
   464 					case SCC_SETXY: str += 2; break;
   465 					case SCC_TINYFONT: size = FS_SMALL; break;
   465 					case SCC_TINYFONT: size = FS_SMALL; break;
   466 					case SCC_BIGFONT:  size = FS_LARGE; break;
   466 					case SCC_BIGFONT:  size = FS_LARGE; break;
   467 					case '\n': goto end_of_inner_loop;
   467 					case '\n': goto end_of_inner_loop;
   468 				}
   468 				}
   469 			}
   469 			}
   507 
   507 
   508 	src = buffer;
   508 	src = buffer;
   509 
   509 
   510 	for (;;) {
   510 	for (;;) {
   511 		w = GetStringBoundingBox(src).width;
   511 		w = GetStringBoundingBox(src).width;
   512 		DoDrawString(src, x - (w>>1), y, 0xFE);
   512 		DoDrawString(src, x - (w >> 1), y, 0xFE);
   513 		_cur_fontsize = _last_fontsize;
   513 		_cur_fontsize = _last_fontsize;
   514 
   514 
   515 		for (;;) {
   515 		for (;;) {
   516 			c = Utf8Consume(&src);
   516 			c = Utf8Consume(&src);
   517 			if (c == 0) {
   517 			if (c == 0) {
   522 				}
   522 				}
   523 				break;
   523 				break;
   524 			} else if (c == SCC_SETX) {
   524 			} else if (c == SCC_SETX) {
   525 				src++;
   525 				src++;
   526 			} else if (c == SCC_SETXY) {
   526 			} else if (c == SCC_SETXY) {
   527 				src+=2;
   527 				src += 2;
   528 			}
   528 			}
   529 		}
   529 		}
   530 	}
   530 	}
   531 }
   531 }
   532 
   532 
   572 				}
   572 				}
   573 				break;
   573 				break;
   574 			} else if (c == SCC_SETX) {
   574 			} else if (c == SCC_SETX) {
   575 				src++;
   575 				src++;
   576 			} else if (c == SCC_SETXY) {
   576 			} else if (c == SCC_SETXY) {
   577 				src+=2;
   577 				src += 2;
   578 			}
   578 			}
   579 		}
   579 		}
   580 	}
   580 	}
   581 }
   581 }
   582 
   582 
   641 
   641 
   642 	color = real_color & 0xFF;
   642 	color = real_color & 0xFF;
   643 
   643 
   644 	if (color != 0xFE) {
   644 	if (color != 0xFE) {
   645 		if (x >= dpi->left + dpi->width ||
   645 		if (x >= dpi->left + dpi->width ||
   646 				x + _screen.width*2 <= dpi->left ||
   646 				x + _screen.width * 2 <= dpi->left ||
   647 				y >= dpi->top + dpi->height ||
   647 				y >= dpi->top + dpi->height ||
   648 				y + _screen.height <= dpi->top)
   648 				y + _screen.height <= dpi->top)
   649 					return x;
   649 					return x;
   650 
   650 
   651 		if (color != 0xFF) {
   651 		if (color != 0xFF) {