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

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

?? i_ugldsp.cpp

?? 嵌入式開發工具
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
	return (mode);}ZafLogicalColor ZafScreenDisplay::SetMonoBackground(ZafLogicalColor color){	if (color != ZAF_MONO_NULL && color < ZAF_MAXCOLORS)	{#if defined(ZAF_RTOS)        ZafScreenDisplay::classSem->Take(ZAF_WAIT_FOREVER_SEMAPHORE);#endif		palette.monoBackground = color;#if defined(ZAF_RTOS)    	ZafScreenDisplay::classSem->Give();#endif	}	return (palette.monoBackground);}ZafLogicalColor ZafScreenDisplay::SetMonoForeground(ZafLogicalColor color){	if (color != ZAF_MONO_NULL && color < ZAF_MAXCOLORS)	{#if defined(ZAF_RTOS)        ZafScreenDisplay::classSem->Take(ZAF_WAIT_FOREVER_SEMAPHORE);#endif		palette.monoBackground = color;#if defined(ZAF_RTOS)    	ZafScreenDisplay::classSem->Give();#endif	}	return (palette.monoBackground);}ZafPaletteStruct ZafScreenDisplay::SetPalette(ZafPaletteStruct palette){	SetLineStyle(palette.lineStyle);	SetFillPattern(palette.fillPattern);	SetForeground(palette.colorForeground);	SetBackground(palette.colorBackground);	SetMonoForeground(palette.monoForeground);	SetMonoBackground(palette.monoBackground);	SetFont(palette.font);	return (palette);}// --- Draw Setup -----------------------------------------------------------ZafError ZafScreenDisplay::BeginDraw(OSDisplayContext windowRegionType, OSDrawContext dc,	const ZafRegionStruct &, const ZafRegionStruct &clip){#if defined(ZAF_RTOS)    ZafScreenDisplay::classSem->Take(ZAF_WAIT_FOREVER_SEMAPHORE);#endif    ZafError retVal = ZAF_ERROR_NONE;	if (--virtualCount == -1)	{ 		stopDevice++;		UGL_RECT windowRect;		if (dc == ID_ZAF_SCREEN || dc == ID_ZAF_DIRECT || dc == ID_ZAF_OFFSCREEN)		{			viewPort.left = viewPort.top = 0;			viewPort.right = columns - 1;			viewPort.bottom = lines - 1;		}		else		{			winRectGet (dc, &windowRect);			UGL_WINDOW_ID parentId = winParent (dc);			while (parentId != UGL_NULL_ID)			{				UGL_RECT parentRect;				winRectGet (parentId, &parentRect);				UGL_RECT_MOVE (windowRect, parentRect.left, parentRect.top);				parentId = winParent (parentId);			}			viewPort.left = windowRect.left;			viewPort.top = windowRect.top;			viewPort.right = windowRect.right;			viewPort.bottom = windowRect.bottom;		}		masterClip.left = clip.left;		masterClip.top = clip.top;		masterClip.right = clip.right;		masterClip.bottom = clip.bottom;		clipRegion = masterClip;		if (dc == ID_ZAF_OFFSCREEN)		{			originalGC = gc;			gc = uglGcCreate(devID);			uglGcCopy(originalGC, gc);		}		uglViewPortSet(gc, viewPort.left, viewPort.top, viewPort.right, viewPort.bottom);		uglClipRectSet(gc, masterClip.left, masterClip.top, masterClip.right, masterClip.bottom);		uglClipRegionSet(gc, UGL_NULL);		currentDC = dc;        // Set the draw regions.   		if (dc == ID_ZAF_SCREEN)        {        	UGL_EVENT_ROUTER_ID evtRtrID;        	uglDriverFind(UGL_EVENT_ROUTER_TYPE, 0, (UGL_UINT32 *)&evtRtrID);            UGL_WINDOW_ID rootWinID = winRootGet(evtRtrID);            		                uglClipRegionSet (gc, winVisibleRegionGet(rootWinID));        }        else if (dc != ID_ZAF_DIRECT)		{		    winLock (dc);			oldWindowRegionType = windowRegionType;		    if (windowRegionType == ID_ZAF_DIRTY_REGION)		    {		    	UGL_REGION_ID clipRegionId = winDirtyRegionGet(dc);   		    	if (clipRegionId)		    		uglClipRegionSet (gc, clipRegionId);		    	else					{					masterClip.left = masterClip.top = 0;					masterClip.right = masterClip.bottom = -1;					clipRegion = masterClip;		    		uglClipRectSet (gc, 0, 0, -1, -1);				}		    }		    else		    	uglClipRegionSet (gc, winVisibleRegionGet(dc));		}		uglBatchStart(gc);	}	else if (oldWindowRegionType == ID_ZAF_DIRTY_REGION)	{		// Only set a clip rect if already set a clip region.  It's possible		// to have tried to set the clip region to the window's dirty region,		// but if the window didn't have a dirty region, then an empty clip rect		// was set.  Can't modify that or else could write over objects.		UGL_REGION_ID clipReg;        uglClipRegionGet(gc, &clipReg);        if (clipReg)		{			masterClip.left = clip.left;			masterClip.top = clip.top;			masterClip.right = clip.right;			masterClip.bottom = clip.bottom;			clipRegion = masterClip;			uglClipRectSet(gc, masterClip.left, masterClip.top, masterClip.right, masterClip.bottom);		}	}	return (retVal);}ZafError ZafScreenDisplay::EndDraw(void){	if (++virtualCount == 0)	{		masterClip.left = -viewPort.left;		masterClip.top = -viewPort.top;		masterClip.right = columns - viewPort.left - 1;		masterClip.bottom = lines - viewPort.top - 1;		clipRegion = masterClip;		oldWindowRegionType = 0xFFFF;		// Restore display.		coordinateType = ZAF_PIXEL;		SetMode(ZAF_MODE_COPY);		originX = originY = 0;		scaleNumerator = scaleDenominator = 1;		uglBatchEnd(gc);		stopDevice--;		bool finished;		do		{			finished = true;			for (int i = 0; i < ZAF_MAXIMAGES; i++)			{				if (devImage[i].movePending)				{					DeviceMove((ZafDeviceImageType)i, devImage[i].newX,						devImage[i].newY, devImage[i].clip);					devImage[i].movePending = false;					finished = false;				}			}		} while (!finished);		if (currentDC != ID_ZAF_DIRECT && currentDC != ID_ZAF_SCREEN)					winUnlock (currentDC);		if (originalGC)		{			uglGcDestroy(gc);			gc = originalGC;			originalGC = UGL_NULL;		}	}	else if (virtualCount > 0)		virtualCount = 0;#if defined(ZAF_RTOS)   	ZafScreenDisplay::classSem->Give();#endif	return (ZAF_ERROR_NONE);}OSDisplayContext ZafScreenDisplay::DisplayContext(void) const{	return (ZAF_NULLH(OSDisplayContext));}OSDisplayContext ZafScreenDisplay::RestoreDisplayContext(void){	return (ZAF_NULLH(OSDisplayContext));}OSDrawContext ZafScreenDisplay::DrawContext(void) const{	return (ZAF_NULLH(OSDrawContext));}OSDrawContext ZafScreenDisplay::RestoreDrawContext(void){	return (ZAF_NULLH(OSDrawContext));}OSDisplayContext ZafScreenDisplay::SetDisplayContext(OSDisplayContext){  	// Meaningless on MSDOS.	return (0);}OSDrawContext ZafScreenDisplay::SetDrawContext(OSDrawContext){	// Meaningless on MSDOS.	return (0);}////////////////////////////////////////////////////////////////////////////////// ZafScreenDisplay::SetDrawBitmap - sets the default bitmap associated with// the current UGL gc.//// ZafError ZafScreenDisplay::SetDrawBitmap(ZafBitmapStruct *bitmap){#if defined(ZAF_RTOS)    ZafScreenDisplay::classSem->Take(ZAF_WAIT_FOREVER_SEMAPHORE);#endif	if (!bitmap || !bitmap->handle)		uglDefaultBitmapSet(gc, UGL_DISPLAY_ID);	else		uglDefaultBitmapSet(gc, bitmap->handle);#if defined(ZAF_RTOS)	ZafScreenDisplay::classSem->Give();#endif	return (ZAF_ERROR_NONE);}// --- Devices --------------------------------------------------------------int ZafScreenDisplay::DeviceMove(ZafDeviceImageType imageType, int newColumn,	int newLine, ZafRegionStruct &clip){#if defined(ZAF_RTOS)    ZafScreenDisplay::classSem->Take(ZAF_WAIT_FOREVER_SEMAPHORE);#endif	if (stopDevice++ == 0)	{		if (devImage[imageType].devBitmapID)		{			BeginDraw(0, ID_ZAF_DIRECT, devImage[imageType].clip, devImage[imageType].clip);			int height = devImage[imageType].devRegion.Height();			int width = devImage[imageType].devRegion.Width();			// Replace screen image at old location.			uglBitmapBlt(gc, devImage[imageType].scrBitmapID, 0, 0, 				width - 1, height - 1, UGL_DEFAULT_ID, 				devImage[imageType].devRegion.left, 				devImage[imageType].devRegion.top);			EndDraw();			// Get new screen bitmap.			uglBitmapDestroy(devID, devImage[imageType].scrBitmapID);			UGL_DIB dib;			dib.height = height;			dib.width = dib.stride = width;			devImage[imageType].scrBitmapID = uglBitmapCreate(devID, &dib, 				UGL_DIB_INIT_NONE, 0, UGL_DEFAULT_MEM);			devImage[imageType].devRegion.left = newColumn;			devImage[imageType].devRegion.top = newLine;			devImage[imageType].devRegion.right = newColumn + width - 1;			devImage[imageType].devRegion.bottom = newLine + height - 1;			devImage[imageType].clip = clip;			BeginDraw(0, ID_ZAF_DIRECT, devImage[imageType].clip, devImage[imageType].clip);			uglBitmapBlt(gc, UGL_DEFAULT_ID, newColumn, newLine, 						 newColumn + width - 1, 						 newLine + height - 1,						 devImage[imageType].scrBitmapID, 0, 0);			// Put device image at new location.			uglBitmapBlt(gc, devImage[imageType].devBitmapID, 0, 0, 				width - 1, height - 1, UGL_DEFAULT_ID, newColumn, newLine);			EndDraw();		}	}	else	{		devImage[imageType].newX = newColumn;		devImage[imageType].newY = newLine;		devImage[imageType].clip = clip;		devImage[imageType].movePending = true;	}	stopDevice--;#if defined(ZAF_RTOS)   	ZafScreenDisplay::classSem->Give();#endif	return (true);}int ZafScreenDisplay::DeviceSet(ZafDeviceImageType imageType, int column,	int line, int width, int height, ZafLogicalColor *image,	ZafRegionStruct &clip, int hotSpotX, int hotSpotY){#if defined(ZAF_RTOS)    ZafScreenDisplay::classSem->Take(ZAF_WAIT_FOREVER_SEMAPHORE);#endif	stopDevice++;	// Replace old screen image, if any.	if (devImage[imageType].scrBitmapID)	{		BeginDraw(0, ID_ZAF_SCREEN, devImage[imageType].clip, devImage[imageType].clip);			int height = devImage[imageType].devRegion.Height();		int width = devImage[imageType].devRegion.Width();			// Replace screen image at old location.		uglBitmapBlt(gc, devImage[imageType].scrBitmapID, 0, 0, 			width - 1, height - 1, UGL_DEFAULT_ID, 			devImage[imageType].devRegion.left, 			devImage[imageType].devRegion.top);			EndDraw();	}	// Create an UGL bitmap from the device image array.	UGL_COLOR *bitmapData = new UGL_COLOR[width * height];	for (int index = 0; index < height * width; index++)		bitmapData[index] = colorTable[image[index]];	UGL_DIB dib;	dib.height = height;	dib.width = width;	dib.stride = width;	dib.colorFormat = UGL_DEVICE_COLOR_32;	dib.clutSize = 0;	dib.imageFormat = UGL_DIRECT;	dib.pClut = UGL_NULL;	dib.pImage = bitmapData;	// Delete old handle, if one existed.	if (devImage[imageType].devBitmapID)		uglBitmapDestroy(devID, devImage[imageType].devBitmapID);	devImage[imageType].devBitmapID = uglBitmapCreate(devID, &dib, UGL_DIB_INIT_DATA, 0, UGL_DEFAULT_MEM);	delete []bitmapData;	// Fill in rest of devImage.	devImage[imageType].devRegion.left = column;	devImage[imageType].devRegion.top = line;	devImage[imageType].devRegion.right = column + width - 1;	devImage[imageType].devRegion.bottom = line + height - 1;	devImage[imageType].devRegion.coordinateType = clip.coordinateType;	devImage[imageType].clip = clip;	// Get screen image at device image location.    if (devImage[imageType].scrBitmapID)		uglBitmapDestroy(devID, devImage[imageType].scrBitmapID);	dib.height = height;	dib.width = dib.stride = width;	dib.pImage = UGL_NULL;	devImage[imageType].scrBitmapID = uglBitmapCreate(devID, &dib, 		UGL_DIB_INIT_NONE, 0, UGL_DEFAULT_MEM);	BeginDraw(0, ID_ZAF_SCREEN, clip, clip);	uglBitmapBlt(gc, UGL_DEFAULT_ID, column, line, column + width - 1, line + height - 1,				 devImage[imageType].scrBitmapID, 0, 0);	// Put device image at new location.	uglBitmapBlt(gc, devImage[imageType].devBitmapID, 0, 0, 		devImage[imageType].devRegion.Width() - 1, devImage[imageType].devRegion.Height() - 1,		UGL_DEFAULT_ID, devImage[imageType].devRegion.left, devImage[imageType].devRegion.top);	EndDraw();	stopDevice--;#if defined(ZAF_RTOS)   	ZafScreenDisplay::classSem->Give();#endif	return (true);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国女主播一区二区三区| 亚洲美女淫视频| 精品伦理精品一区| 中文字幕av一区 二区| 亚洲精品久久久蜜桃| 人人爽香蕉精品| 国产成人丝袜美腿| 99综合电影在线视频| 在线观看中文字幕不卡| 日韩久久久精品| 国产清纯在线一区二区www| 亚洲一区二区欧美日韩| 美女视频一区在线观看| 成人免费视频网站在线观看| 欧美曰成人黄网| 欧美午夜片在线看| 国产欧美精品区一区二区三区 | 国内成+人亚洲+欧美+综合在线| 懂色av一区二区夜夜嗨| 国产精品久久久久久户外露出| 久久久久九九视频| 亚洲成人7777| 91在线免费看| 久久精品视频一区二区三区| 五月婷婷另类国产| 91一区二区在线| 3atv在线一区二区三区| 亚洲欧美激情插| 国产精品一二三四五| 欧美性猛交xxxxxx富婆| 国产精品无人区| 蜜臀精品一区二区三区在线观看| 一本大道久久a久久精二百| 精品国产91洋老外米糕| 亚洲第一福利一区| 91老司机福利 在线| 日韩精品一区二区三区老鸭窝| 一区二区三区小说| 国产高清视频一区| 久久久久久免费网| 亚洲成va人在线观看| 99久久国产综合色|国产精品| 久久久亚洲综合| 九九视频精品免费| 日韩一区二区电影在线| 亚洲一卡二卡三卡四卡五卡| 99re热视频这里只精品| 中文字幕精品在线不卡| 国产999精品久久| 久久久久久久久蜜桃| 国产呦精品一区二区三区网站| 91精品国产乱码久久蜜臀| 亚瑟在线精品视频| 欧美图片一区二区三区| 亚洲18色成人| 欧美日韩高清一区二区不卡| 亚洲成在线观看| 7777女厕盗摄久久久| 日韩在线一区二区| 91精品国产麻豆国产自产在线 | 韩国视频一区二区| 欧美变态凌虐bdsm| 国产一区免费电影| 精品国产亚洲一区二区三区在线观看 | 国产婷婷精品av在线| 国产激情精品久久久第一区二区| 国产亚洲成aⅴ人片在线观看| 国产伦精品一区二区三区免费| 久久无码av三级| 国产成人免费视频一区| 亚洲色欲色欲www| 欧美日韩一区三区| 美女视频第一区二区三区免费观看网站 | 日本欧美韩国一区三区| 欧美变态tickling挠脚心| 成人精品在线视频观看| 一区二区三区四区在线免费观看 | 成人中文字幕合集| 亚洲精品国产一区二区精华液| 欧美日韩一本到| 卡一卡二国产精品| 国产精品美女久久福利网站| 色综合天天综合狠狠| 日韩精品电影在线| 午夜精品影院在线观看| 国产成人精品免费| 日韩视频123| gogogo免费视频观看亚洲一| 免费亚洲电影在线| 亚洲品质自拍视频网站| 国产亚洲一区二区三区| 欧美精品视频www在线观看| av在线免费不卡| 国产成人免费av在线| 欧美aⅴ一区二区三区视频| 一区二区三区在线免费观看| 国产亚洲欧美日韩俺去了| 欧美一级在线视频| 在线观看区一区二| 色哟哟日韩精品| heyzo一本久久综合| 国产成人av一区| 狠狠色狠狠色综合日日91app| 日韩电影在线一区二区三区| 一区二区三区电影在线播| 最新中文字幕一区二区三区 | 亚洲成人免费视频| 一区二区三区欧美激情| 亚洲三级电影全部在线观看高清| 亚洲国产成人私人影院tom| 欧美不卡在线视频| 精品久久久久久久一区二区蜜臀| 欧美日韩夫妻久久| 国产欧美精品日韩区二区麻豆天美| 欧美mv日韩mv亚洲| 欧美电影免费观看高清完整版在线观看 | 精品亚洲aⅴ乱码一区二区三区| 日韩精品成人一区二区在线| 午夜激情综合网| 男人的天堂亚洲一区| 麻豆成人免费电影| 精品一区二区三区蜜桃| 激情六月婷婷综合| 国产精品一区二区在线播放| 国产九色sp调教91| 成人永久aaa| 91色九色蝌蚪| 欧美日韩精品专区| 欧美电影免费观看高清完整版在 | 国产一区二三区好的| 国产麻豆精品视频| 成人精品gif动图一区| 91麻豆高清视频| 欧美剧情电影在线观看完整版免费励志电影| 欧美午夜精品久久久| 欧美一卡二卡三卡四卡| 久久众筹精品私拍模特| 中文字幕欧美激情| 夜夜揉揉日日人人青青一国产精品| 天涯成人国产亚洲精品一区av| 老色鬼精品视频在线观看播放| 成人晚上爱看视频| 亚洲国产成人午夜在线一区| 亚洲日韩欧美一区二区在线| 性欧美疯狂xxxxbbbb| 久草中文综合在线| 成人h版在线观看| 欧美三级蜜桃2在线观看| 2023国产精品自拍| 一区二区三区中文字幕精品精品 | 国产一区在线精品| 99国产一区二区三精品乱码| 欧美放荡的少妇| 中文字幕第一页久久| 亚洲大型综合色站| 国产91富婆露脸刺激对白| 欧美日韩在线三级| 国产日本欧美一区二区| 亚洲第一主播视频| 国产69精品久久99不卡| 欧美日本一区二区三区四区| 国产亚洲欧美日韩在线一区| 亚洲一二三四在线观看| 国产精品综合av一区二区国产馆| 在线观看亚洲一区| 国产欧美精品区一区二区三区 | 另类人妖一区二区av| 色婷婷国产精品综合在线观看| 日韩视频一区二区三区在线播放| 亚洲人一二三区| 国产中文字幕一区| 欧美一区二区三区白人| 亚洲三级在线观看| 国产成人日日夜夜| 精品国产乱码久久久久久夜甘婷婷| 一区二区三区波多野结衣在线观看 | 国产精品亚洲综合一区在线观看| 欧美亚洲国产bt| 国产精品毛片大码女人| 久久福利视频一区二区| 欧美日韩亚洲综合一区| 亚洲欧美色一区| 成人h动漫精品一区二| 精品国产免费视频| 日本不卡在线视频| 欧美狂野另类xxxxoooo| 国产**成人网毛片九色| 精品精品欲导航| 日本在线不卡视频| 欧美男人的天堂一二区| 亚洲自拍偷拍九九九| 91丨porny丨户外露出| 国产精品午夜在线观看| 国产精品1区二区.| 2022国产精品视频| 国内精品免费**视频| 欧美精品一区二区三区视频| 另类的小说在线视频另类成人小视频在线| 欧美男男青年gay1069videost| 亚洲国产毛片aaaaa无费看|