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

📄 allocimagemix.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
#include <u.h>#include <libc.h>#include <draw.h>Image*allocimagemix(Display *d, ulong color1, ulong color3){	Image *t, *b;	static Image *qmask;	if(qmask == nil)		qmask = allocimage(d, Rect(0,0,1,1), GREY8, 1, 0x3F3F3FFF);			if(d->screenimage->depth <= 8){	/* create a 2×2 texture */		t = allocimage(d, Rect(0,0,1,1), d->screenimage->chan, 0, color1);		if(t == nil)			return nil;		b = allocimage(d, Rect(0,0,2,2), d->screenimage->chan, 1, color3);		if(b == nil){			freeimage(t);			return nil;		}		draw(b, Rect(0,0,1,1), t, nil, ZP);		freeimage(t);		return b;	}else{	/* use a solid color, blended using alpha */		t = allocimage(d, Rect(0,0,1,1), d->screenimage->chan, 1, color1);		if(t == nil)			return nil;		b = allocimage(d, Rect(0,0,1,1), d->screenimage->chan, 1, color3);		if(b == nil){			freeimage(t);			return nil;		}		draw(b, b->r, t, qmask, ZP);		freeimage(t);		return b;	}}

⌨️ 快捷键说明

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