📄 specialcase08.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 + -