bbd888.c

来自「linux嵌入式开发程序」· C语言 代码 · 共 61 行

C
61
字号

/*===========================================================================
        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"int_GL_bbdotRGB888(GL_WP *gp){    int     sbitp,lines ;    BYTE    *sadr, *dadr ;    dadr  = (BYTE *)_AddAdr(gp->hwork.VRAMadr[gp->hwork.page][0],gp->bitblt.doffs) ;    sadr  = (BYTE *)gp->bitblt.soffs ;    sbitp = gp->bitblt.sbitp ;    lines = gp->bitblt.ty ;    while(lines--){        register DWORD  *src ;        register BYTE   *dst ;        register DWORD  c0,c1,c2, dots ;        register int    n, tx ;        AdjAccAdr32(sadr,sbitp) ;        c2    = gp->bitblt.color ;        c0    = c2 >> 16 ;        c1    = c2 >> 8 ;        src   = (DWORD *)sadr ;        dst   = (BYTE  *)dadr ;        dots  = *src++ << sbitp ;        n     = 32 - sbitp ;        tx    = gp->bitblt.tx ;        while(tx--){            if(n==0){                dots = *src++ ;                n = 32 ;            }            if((long)dots<0){                dst[0] = (BYTE)c0 ;                dst[1] = (BYTE)c1 ;                dst[2] = (BYTE)c2 ;            }            dots<<=1 ;            n-- ;            dst += 3 ;        }        sadr   = _AddAdr(sadr, gp->bitblt.slbytes) ;        dadr   = _AddAdr(dadr, gp->bitblt.dlbytes) ;    }    return GL_Ok ;}

⌨️ 快捷键说明

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