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

📄 bbs888.c

📁 linux嵌入式开发程序
💻 C
字号:

/*===========================================================================
        2D Graphics Library
        ALL RIGHTS RESERVED, COPYRIGHT (C) FUJITSU LIMITED 1993-2002
        LICENSED MATERIAL - PROGRAM PROPERTY OF FUJITSU LIMITED
 ===========================================================================*/
#include "gl.h"#include "defhook.h"#define BitLen  24int_GL_bbsetRGB888(GL_WP *gp) {    int     dbitp,words,lines, ii ;    DWORD   dmask_head, dmask_tail, color[3];    BYTE    *dadr ;/*    color rotation    (1)RGBR,    dbitp=0    (2)GBRG,    dbitp=16    (3)BRGB,    dbitp=8*/    {        DWORD c = gp->bitblt.color & 0x00ffffff ;        color[0] = (c<< 8)|(c>>16) ;        color[1] = (c<<16)|(c>>8) ;        color[2] = (c<<24)|(c>>0) ;    }    dbitp = gp->bitblt.dbitp ;    lines = gp->bitblt.ty ;    dadr = _AddAdr(gp->hwork.VRAMadr[gp->hwork.page][0],gp->bitblt.doffs) ;    AdjAccAdr32(dadr,dbitp) ;    dmask_head = (DWORD)-1>>dbitp ;    words      = (int)gp->bitblt.tx * BitLen + dbitp ;    dmask_tail = ~((DWORD)-1L >> (words&31)) ;    words    >>= 5 ;    if(words==0){        dmask_head &= dmask_tail ;        dmask_tail = 0 ;    } else        words-- ;    ii = 0 ;    switch(dbitp){    case 16:    ii = 1 ; break ;    case 8:     ii = 2 ; break ;    }    while(lines--){        register    DWORD   *dst ;        register    int     i, n ;        dst = (DWORD *)dadr ;        i = ii ;        *dst++ = *dst & ~dmask_head | color[i++] & dmask_head ;        if(i==3)            i = 0 ;        n = words ;        while(n--){            *dst++ = color[i++] ;            if(i==3)                i = 0 ;        }        if(dmask_tail)            *dst = *dst & ~dmask_tail | color[i] & dmask_tail ;        dadr += gp->bitblt.dlbytes ;    }    return GL_Ok ;}

⌨️ 快捷键说明

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