⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 font5x7.cpp

📁 一个任天堂掌上游戏机NDS的源代码
💻 CPP
字号:
/*************************************************************************** DSemu - The Next Generation                                             ** 5x7 bitmap font renderer [font5x7.cpp]                                  ** Copyright Imran Nazar, 2005; released under the BSD public licence.     ***************************************************************************/#include <string.h>#include "datadefs.h"#include "font5x7.h"#include "fontdata.h"int Font5x7::xdim, Font5x7::ydim;u32 *Font5x7::buf;// Construct a renderer corresponding to a specific 32-bit framebufferFont5x7::Font5x7(u32 *b, int x, int y){    xdim=x; ydim=y; buf=b;    clear();}// Render a character at a certain position, in a 32-bit colourvoid Font5x7::chr(u8 c, int x, int y, u32 col){    int off=(x+y*xdim); u8 bits;    c-=32;    for(int a=0;a<7;a++)    {        bits=font[c][a];        if(bits&16) buf[off]=col; off++;        if(bits&8)  buf[off]=col; off++;        if(bits&4)  buf[off]=col; off++;        if(bits&2)  buf[off]=col; off++;        if(bits&1)  buf[off]=col; off+=(xdim-4);    }}// Render a string (parsing newlines) at a certain positionvoid Font5x7::print(char *str, int x, int y, u32 col){    int xorig=x;    while(*str)    {        switch(*str)        {            case 10: y+=8; x=xorig; break;            default: chr(*str, x, y, col); x+=6; break;        }	str++;    }}// Clear the framebuffer to zero'svoid Font5x7::clear(){    memset(buf, 0, xdim*ydim*sizeof(u32));}/*** EOF: font5x7.cpp ****************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -