copybits.c

来自「一个类似windows」· C语言 代码 · 共 39 行

C
39
字号
#include "../vgaddi.h"
#include "../vgavideo/vgavideo.h"
#include <debug.h>

BOOL STDCALL
DrvCopyBits(OUT SURFOBJ*  DestObj,
            IN  SURFOBJ*  SourceObj,
            IN  CLIPOBJ*  ClipObj,
            IN  XLATEOBJ* XLateObj,
            IN  RECTL*    DestRectL,
            IN  POINTL*   SrcPointL)
{
  BOOL Done = FALSE;

  if (STYPE_BITMAP == DestObj->iType && BMF_4BPP == DestObj->iBitmapFormat &&
      STYPE_DEVICE == SourceObj->iType)
    {
    /* Screen to 4 BPP DIB */
    DIB_BltFromVGA(SrcPointL->x, SrcPointL->y,
                   DestRectL->right - DestRectL->left,
                   DestRectL->bottom - DestRectL->top,
                   DestObj->pvScan0, DestObj->lDelta);
    Done = TRUE;
    }
  else if (STYPE_DEVICE == DestObj->iType &&
           STYPE_BITMAP == SourceObj->iType && BMF_4BPP == SourceObj->iBitmapFormat)
    {
    /* 4 BPP DIB to Screen */
    DIB_BltToVGA(DestRectL->left, DestRectL->top,
                 DestRectL->right - DestRectL->left,
                 DestRectL->bottom - DestRectL->top,
                 SourceObj->pvScan0, SourceObj->lDelta,
                 0);
    Done = TRUE;
    }

  return Done;
}

⌨️ 快捷键说明

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