亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fblin32.c

?? RMF-1.7.153.0-NODOLBY.tar.gz 神龍卡的驅動
?? C
字號:
/* * Copyright (c) 1999, 2000, 2001 Greg Haerr <greg@censoft.com> * * 32bpp Linear Video Driver for Microwindows * * Inspired from Ben Pfaff's BOGL <pfaffben@debian.org> *//*#define NDEBUG*/#include <assert.h>#include <string.h>#include "device.h"#include "fb.h"/* Calc linelen and mmap size, return 0 on fail*/static intlinear32_init(PSD psd){	if (!psd->size) {		psd->size = psd->yres * psd->linelen;		/* convert linelen from byte to pixel len for bpp 16, 24, 32*/		psd->linelen /= 4;	}	return 1;}/* Set pixel at x, y, to pixelval c*/static voidlinear32_drawpixel(PSD psd, MWCOORD x, MWCOORD y, MWPIXELVAL c){	ADDR32	addr = psd->addr;	assert (addr != 0);	assert (x >= 0 && x < psd->xres);	assert (y >= 0 && y < psd->yres);	assert (c < psd->ncolors);	DRAWON;	if (gr_mode == MWMODE_COPY)		addr[x + y * psd->linelen] = c;	else		applyOp(gr_mode, c, &addr[x + y * psd->linelen], ADDR32);	DRAWOFF;}/* Read pixel at x, y*/static MWPIXELVALlinear32_readpixel(PSD psd, MWCOORD x, MWCOORD y){	ADDR32	addr = psd->addr;	assert (addr != 0);	assert (x >= 0 && x < psd->xres);	assert (y >= 0 && y < psd->yres);	return addr[x + y * psd->linelen];}/* Draw horizontal line from x1,y to x2,y including final point*/static voidlinear32_drawhorzline(PSD psd, MWCOORD x1, MWCOORD x2, MWCOORD y, MWPIXELVAL c){	ADDR32	addr = psd->addr;	assert (addr != 0);	assert (x1 >= 0 && x1 < psd->xres);	assert (x2 >= 0 && x2 < psd->xres);	assert (x2 >= x1);	assert (y >= 0 && y < psd->yres);	assert (c < psd->ncolors);	DRAWON;	addr += x1 + y * psd->linelen;	if(gr_mode == MWMODE_COPY) {		/* FIXME: memsetl(dst, c, x2-x1+1)*/		while(x1++ <= x2)			*addr++ = c;	} else {		while(x1++ <= x2) {			applyOp(gr_mode, c, addr, ADDR32);			++addr;		}	}	DRAWOFF;}/* Draw a vertical line from x,y1 to x,y2 including final point*/static voidlinear32_drawvertline(PSD psd, MWCOORD x, MWCOORD y1, MWCOORD y2, MWPIXELVAL c){	ADDR32	addr = psd->addr;	int	linelen = psd->linelen;	assert (addr != 0);	assert (x >= 0 && x < psd->xres);	assert (y1 >= 0 && y1 < psd->yres);	assert (y2 >= 0 && y2 < psd->yres);	assert (y2 >= y1);	assert (c < psd->ncolors);	DRAWON;	addr += x + y1 * linelen;	if(gr_mode == MWMODE_COPY) {		while(y1++ <= y2) {			*addr = c;			addr += linelen;		}	} else {		while(y1++ <= y2) {			applyOp(gr_mode, c, addr, ADDR32);			addr += linelen;		}	}	DRAWOFF;}/* srccopy bitblt*/static voidlinear32_blit(PSD dstpsd, MWCOORD dstx, MWCOORD dsty, MWCOORD w, MWCOORD h,	PSD srcpsd, MWCOORD srcx, MWCOORD srcy, long op){	ADDR8	dst8, src8;	ADDR32	dst = dstpsd->addr;	ADDR32	src = srcpsd->addr;	int	i;	int	dlinelen = dstpsd->linelen;	int	slinelen = srcpsd->linelen;	int	dlinelen_minus_w4;	int	slinelen_minus_w4;#if ALPHABLEND	unsigned int alpha;#endif	assert (dst != 0);	assert (dstx >= 0 && dstx < dstpsd->xres);	assert (dsty >= 0 && dsty < dstpsd->yres);	assert (w > 0);	assert (h > 0);	assert (src != 0);	assert (srcx >= 0 && srcx < srcpsd->xres);	assert (srcy >= 0 && srcy < srcpsd->yres);	assert (dstx+w <= dstpsd->xres);	assert (dsty+h <= dstpsd->yres);	assert (srcx+w <= srcpsd->xres);	assert (srcy+h <= srcpsd->yres);	DRAWON;	dst += dstx + dsty * dlinelen;	src += srcx + srcy * slinelen;#if ALPHABLEND	if((op & MWROP_EXTENSION) != MWROP_BLENDCONSTANT)		goto stdblit;	alpha = op & 0xff;	src8 = (ADDR8)src;	dst8 = (ADDR8)dst;	dlinelen_minus_w4 = (dlinelen - w) * 4;	slinelen_minus_w4 = (slinelen - w) * 4;	while(--h >= 0) {		for(i=0; i<w; ++i) {			register unsigned long s = *src8++;			register unsigned long d = *dst8;			*dst8++ = (unsigned char)(((s - d)*alpha)>>8) + d;			s = *src8++;			d = *dst8;			*dst8++ = (unsigned char)(((s - d)*alpha)>>8) + d;			s = *src8;			d = *dst8;			*dst8 = (unsigned char)(((s - d)*alpha)>>8) + d;			dst8 += 2;			src8 += 2;		}		dst8 += dlinelen_minus_w4;		src8 += slinelen_minus_w4;	}	DRAWOFF;	return;stdblit:#endif	if (op == MWROP_COPY) {		/* copy from bottom up if dst in src rectangle*/		/* memmove is used to handle x case*/		if (srcy < dsty) {			src += (h-1) * slinelen;			dst += (h-1) * dlinelen;			slinelen *= -1;			dlinelen *= -1;		}		while(--h >= 0) {			/* a _fast_ memmove is a _must_ in this routine*/			memmove(dst, src, w<<2);			dst += dlinelen;			src += slinelen;		}	} else {		for(i=0; i < w; ++i) {			applyOp(MWROP_TO_MODE(op), *src, dst, ADDR32);			++src;			++dst;		}		dst += dlinelen - w;		src += slinelen - w;	}	DRAWOFF;}/* srccopy stretchblt*/static voidlinear32_stretchblit(PSD dstpsd, MWCOORD dstx, MWCOORD dsty, MWCOORD dstw,	MWCOORD dsth, PSD srcpsd, MWCOORD srcx, MWCOORD srcy, MWCOORD srcw,	MWCOORD srch, long op){	ADDR32	dst;	ADDR32	src;	int	dlinelen = dstpsd->linelen;	int	slinelen = srcpsd->linelen;	int	i, ymax;	int	row_pos, row_inc;	int	col_pos, col_inc;	unsigned long pixel = 0;	assert (dstpsd->addr != 0);	assert (dstx >= 0 && dstx < dstpsd->xres);	assert (dsty >= 0 && dsty < dstpsd->yres);	assert (dstw > 0);	assert (dsth > 0);	assert (srcpsd->addr != 0);	assert (srcx >= 0 && srcx < srcpsd->xres);	assert (srcy >= 0 && srcy < srcpsd->yres);	assert (srcw > 0);	assert (srch > 0);	assert (dstx+dstw <= dstpsd->xres);	assert (dsty+dsth <= dstpsd->yres);	assert (srcx+srcw <= srcpsd->xres);	assert (srcy+srch <= srcpsd->yres);	DRAWON;	row_pos = 0x10000;	row_inc = (srch << 16) / dsth;	/* stretch blit using integer ratio between src/dst height/width*/	for (ymax = dsty+dsth; dsty<ymax; ++dsty) {		/* find source y position*/		while (row_pos >= 0x10000L) {			++srcy;			row_pos -= 0x10000L;		}		dst = (ADDR32)dstpsd->addr + dstx + dsty*dlinelen;		src = (ADDR32)srcpsd->addr + srcx + (srcy-1)*slinelen;		/* copy a row of pixels*/		col_pos = 0x10000;		col_inc = (srcw << 16) / dstw;		for (i=0; i<dstw; ++i) {			/* get source x pixel*/			while (col_pos >= 0x10000L) {				pixel = *src++;				col_pos -= 0x10000L;			}			*dst++ = pixel;			col_pos += col_inc;		}		row_pos += row_inc;	}	DRAWOFF;}SUBDRIVER fblinear32 = {	linear32_init,	linear32_drawpixel,	linear32_readpixel,	linear32_drawhorzline,	linear32_drawvertline,	gen_fillrect,	linear32_blit,	NULL,	linear32_stretchblit};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲电影第三页| 国产999精品久久| 国产精品一区二区在线播放 | 免费在线观看一区二区三区| 国产伦精品一区二区三区免费 | 欧美成人性福生活免费看| 日本一区二区三区dvd视频在线| 一区二区三区欧美激情| 国产精品一卡二卡在线观看| 欧美午夜精品一区二区三区 | 国产成人精品免费| 91精品国产入口在线| 亚洲视频 欧洲视频| 精品一区二区在线播放| 欧美亚洲高清一区| 最新高清无码专区| 成人一区在线观看| 2024国产精品视频| 老司机午夜精品| 欧美一二三四区在线| 一区二区免费在线播放| 99久久久精品| 国产精品人人做人人爽人人添| 久久超碰97中文字幕| 日韩一级免费观看| 午夜欧美2019年伦理| 91黄色激情网站| 亚洲精品视频在线看| 99精品国产视频| 亚洲欧洲日本在线| 99精品国产热久久91蜜凸| 中文字幕欧美一| 97se亚洲国产综合自在线不卡| 欧美国产亚洲另类动漫| 国产乱子伦视频一区二区三区| 精品成人一区二区三区四区| 裸体歌舞表演一区二区| 精品人在线二区三区| 狠狠色狠狠色综合系列| 日本一区二区高清| 99久久久久免费精品国产| 一区二区三区中文在线观看| 欧美视频一区二区三区四区| 亚洲国产wwwccc36天堂| 欧美精三区欧美精三区| 免费在线观看一区| 精品欧美乱码久久久久久| 蜜桃精品视频在线| 久久综合色天天久久综合图片| 免费高清不卡av| 久久久久久久免费视频了| 国产又粗又猛又爽又黄91精品| 国产色91在线| 丁香婷婷综合激情五月色| 中文字幕综合网| 色妞www精品视频| 日韩成人免费看| 精品日韩在线观看| 成人av影视在线观看| 综合欧美亚洲日本| 91精品综合久久久久久| 奇米影视在线99精品| 国产欧美一区二区精品性色超碰| 国产黑丝在线一区二区三区| 亚洲色欲色欲www| 欧美亚洲尤物久久| 亚洲国产另类精品专区| 欧美一区二区成人| 午夜精品久久久久久久99樱桃| 精品国产网站在线观看| 成人少妇影院yyyy| 日韩成人一级片| 国产日韩欧美激情| 欧美日本视频在线| 国产激情视频一区二区三区欧美| 亚洲午夜免费视频| 欧美一区二区三区思思人| 99视频一区二区| 日本亚洲天堂网| 自拍视频在线观看一区二区| 欧美日韩国产一级片| 成人性视频网站| 午夜精品福利一区二区三区av| 国产丝袜美腿一区二区三区| 在线中文字幕一区二区| 国产成人在线电影| 亚洲激情男女视频| 国产精品人妖ts系列视频| 欧美日韩卡一卡二| 91在线观看免费视频| 蜜桃久久久久久| 亚洲高清在线精品| 国产欧美日韩精品在线| 日韩欧美成人一区| 91毛片在线观看| 本田岬高潮一区二区三区| 日本欧美大码aⅴ在线播放| 亚洲免费观看视频| 久久网站最新地址| 欧美不卡在线视频| 欧美日韩国产片| 色呦呦国产精品| 韩国女主播成人在线观看| 蜜桃视频在线观看一区| 亚洲女同ⅹxx女同tv| 国产精品高潮久久久久无| 日韩视频免费观看高清在线视频| 欧美影院一区二区三区| 国产精品系列在线观看| 国产精品一区二区你懂的| 日本不卡视频在线观看| 丝袜美腿一区二区三区| 亚洲综合成人在线视频| 亚洲精品视频在线看| 中文字幕中文字幕中文字幕亚洲无线| 久久精品欧美一区二区三区麻豆| 欧美精品少妇一区二区三区 | 国产成人av电影在线播放| 国内精品嫩模私拍在线| 天堂影院一区二区| 日本在线观看不卡视频| 性做久久久久久久久| 视频在线在亚洲| 亚洲一区二区偷拍精品| 亚洲成人综合网站| 亚洲激情图片小说视频| 日日摸夜夜添夜夜添国产精品| 一区二区三区在线观看欧美 | 色综合欧美在线| 91久久精品日日躁夜夜躁欧美| 成人黄色小视频| www.亚洲人| 91免费视频观看| 国产精品夜夜爽| 成人免费看视频| 成人综合在线观看| 99riav一区二区三区| 99精品视频免费在线观看| 成人18精品视频| 99re热视频精品| 91精品国产色综合久久ai换脸 | 午夜伊人狠狠久久| 五月综合激情婷婷六月色窝| 青青草精品视频| 国产自产高清不卡| 91丨porny丨蝌蚪视频| av不卡免费在线观看| 欧美人xxxx| 久久久一区二区| 亚洲线精品一区二区三区八戒| 亚洲h在线观看| 国产精品123区| 色综合久久久久久久久| 欧美一级精品大片| 欧美一区二区三区小说| 欧美激情中文字幕| 日本一区二区三区四区在线视频 | 亚洲va欧美va国产va天堂影院| 国产在线国偷精品产拍免费yy| 国产一区二区三区四区五区入口| 大白屁股一区二区视频| 91国偷自产一区二区三区成为亚洲经典| 欧美日韩午夜精品| 欧美成人精品福利| 亚洲午夜激情av| 国精品**一区二区三区在线蜜桃| 在线一区二区观看| 日韩三级.com| 亚洲激情校园春色| 国产一区二区网址| 一本大道综合伊人精品热热| 26uuu亚洲婷婷狠狠天堂| 国产精品成人网| 国产精品91xxx| 欧美日韩久久久| 国产精品国产三级国产aⅴ原创| 天涯成人国产亚洲精品一区av| www.久久精品| 欧美精品一区二区蜜臀亚洲| 日韩在线一区二区三区| 成年人网站91| 久久九九久精品国产免费直播| 日韩精品久久久久久| 成人av电影在线网| 久久久青草青青国产亚洲免观| 亚洲五月六月丁香激情| 色国产综合视频| 日本一区免费视频| 国产suv一区二区三区88区| 91精品国产色综合久久不卡蜜臀 | 欧美天天综合网| 亚洲美腿欧美偷拍| zzijzzij亚洲日本少妇熟睡| 欧美大白屁股肥臀xxxxxx| 日韩综合小视频| 欧美日韩一区视频| 亚洲国产精品久久久久婷婷884 | 91黄色免费看| 欧美激情在线观看视频免费| 麻豆精品视频在线|