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

📄 specialcase08.c

📁 WinCE 3.0 BSP, 包含Inter SA1110, Intel_815E, Advantech_PCM9574 等
💻 C
字号:
//
// Windows CE Software Graphics Library
// specialcase08.c
//
// Copyright (c) 2000 Microsoft Corporation. All rights reserved.
//
// This source file contains the implementations of the special case blitting
// routines that target 8Bpp surfaces.
//
// Currently, those routines are:
//
// SrcCopy0108
// SrcCopy0408
// SrcCopy0808
// SolidFill08
// SrcAnd0808
// SrcInvert0808
// SrcPaint0808
// Text08 (!TODO!)
// AlphaText08 (!TODO!)
// ClearTypeText08_332 (!TODO!)
// ClearTypeText08_Halftone (!TODO!)

#include "pch.h"
#include "swg.h"

// We can reuse the 8Bpp SD special case blit template for SRCCOPY, SRCAND,
// SRCPAINT, and SRCINVERT.

#define FUNCTION                     SrcCopy0808
#define BLOCK_OP(pD, pS, ByteCount)  (memcpy((pD), (pS), (ByteCount)))

#include ".\templates\SD0808.h"

#undef FUNCTION
#undef BLOCK_OP

#define FUNCTION                     SrcAnd0808
#define BYTE_OP(D, S)                ((D) & (S))

#include ".\templates\SD0808.h"

#undef FUNCTION
#undef BYTE_OP

#define FUNCTION                     SrcPaint0808
#define BYTE_OP(D, S)                ((D) | (S))

#include ".\templates\SD0808.h"

#undef FUNCTION
#undef BYTE_OP

#define FUNCTION                     SrcInvert0808
#define BYTE_OP(D, S)                ((D) ^ (S))

#include ".\templates\SD0808.h"

#undef FUNCTION
#undef BYTE_OP

// A template for 1Bpp source and 8Bpp destinations.

#define FUNCTION                     SrcCopy0108
#define BYTE_OP(D, S)                (S)

#include ".\templates\SD0108.h"

#undef FUNCTION
#undef BYTE_OP

#define FUNCTION                     SrcAnd0108
#define BYTE_OP(D, S)                ((D) & (S))

#include ".\templates\SD0108.h"

#undef FUNCTION
#undef BYTE_OP

#define FUNCTION                     SrcPaint0108
#define BYTE_OP(D, S)                ((D) | (S))

#include ".\templates\SD0108.h"

#undef FUNCTION
#undef BYTE_OP

#define FUNCTION                     SrcInvert0108
#define BYTE_OP(D, S)                ((D) ^ (S))

#include ".\templates\SD0108.h"

#undef FUNCTION
#undef BYTE_OP

// Yet another template for SD with 4Bpp Source and 8Bpp destination.

#define FUNCTION                     SrcCopy0408
#define BYTE_OP(D, S)                (S)

#include ".\templates\SD0408.h"

#undef FUNCTION
#undef BYTE_OP

// Likewise, the special case 8Bpp PD blit template for PATFILL.

#define FUNCTION                     SolidFill08
#define BLOCK_OP(pD, P, ByteCount)   (memset((pD), (P), (ByteCount)))

#include ".\templates\PDC08.h" 

#undef FUNCTION
#undef BLOCK_OP

⌨️ 快捷键说明

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