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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gfx_drawcontrol.c.svn-base

?? sigmadesign smp8623 gui source code ,bingo
?? SVN-BASE
?? 第 1 頁 / 共 5 頁
字號:
	blend_param.Src1Y = 0;	blend_param.Src2X = x; // X	blend_param.Src2Y = y;	blend_param.DstX = x;	blend_param.DstY = y;	blend_param.Width = width;	blend_param.Height = height;	blend_param.SaturateAlpha = FALSE;	status = GFXBlendRectanglesProperty(pRua, &blend_param);	return RM_OK;}RMstatus DrawBitmappedButton(struct RUA *pRua, RMButtonObject *obj, RMuint8 bmpindex, RMbool loadingPage){	RMstatus status = RM_OK;	struct GFXEngine_MoveReplaceRectangle_type move_param;	struct GFXEngine_BlendRectangles_type blend_param;	//	GFXLib_rect rect;	RMuint8 bufferindex;	RMuint32 startaddr;	RMuint8 alpha = 0x80;	RMuint32 mainmode, bkmode;	if (obj->state > STATE_DISABLED)		return RM_ERROR;	//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!	// paint background before drawing button if transparent color used	/*	if(obj->usetransparentcolor && g_bitmaps[0].path[0] != 0){	 rect.x = obj->x;	 rect.y = obj->y;	 rect.width = obj->width;	 rect.height = g_bitmaps[bmpindex].bmp.uiHeight;	 DrawBitmapRect(pRua, obj->x, obj->y, &rect, 0, 0, 0);	 }*/	//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!	// set transparency	g_bitmaps[bmpindex].transparentcolor = obj->transparentcolor;	g_bitmaps[bmpindex].usetransparentcolor = obj->usetransparentcolor;	if (g_bitmaps[bmpindex].bmp.uiNbBitPerPixel <= 8)		SetPalette(pRua, alpha, bmpindex, GFX_SURFACE_ID_Y);	// use either bitmap allocated buffer or part(or whole) of extra buffer to draw	if (g_bitmaps[bmpindex].bmp.uiDataSize > gdata.drawBuffer.size / MAX_DRAWING_BUFFER_PARTS)	{		if (g_bitmaps[bmpindex].bmp.uiDataSize > gdata.drawBuffer.size)			bufferindex = 0; // cannot use extra, use bitmap allocated mem		else			bufferindex = GetBitmapBufferIndex(TRUE); // use whole extra buffer	}	else		bufferindex = GetBitmapBufferIndex(FALSE); // use part of extra buffer	//RMDBGLOG((GFXDBG, ">>>>>>>>>>>>>>>>>>>>>>>>>DRAWING %s, index %d\n", g_bitmaps[bmpindex].path, bmpindex));	//RMDBGLOG((GFXDBG, ">>>>>>>>>>>>>>>>>>>>>>>>>BUFFER INDEX %d avail: %ld need: %ld\n", bufferindex, gdata.drawBuffer.size, g_bitmaps[bmpindex].bmp.uiDataSize));	if (bufferindex > 0 && gdata.drawBuffer.pMappedAddr && loadingPage == FALSE)	{		RMuint32 offset = (bufferindex - 1) * (gdata.drawBuffer.size / MAX_DRAWING_BUFFER_PARTS);		RMMemcpy(gdata.drawBuffer.pMappedAddr + offset, g_bitmaps[bmpindex].bmp.pData, g_bitmaps[bmpindex].bmp.uiDataSize);		startaddr = gdata.drawBuffer.baseAddr + offset;	}	else	{		startaddr = g_bitmaps[bmpindex].pBmpAddr;	}	// color format	switch (g_bitmaps[bmpindex].bmp.uiNbBitPerPixel)	{	case 1:		mainmode = EMhwlibColorMode_LUT_1BPP;		break;	case 2:		mainmode = EMhwlibColorMode_LUT_2BPP;		break;	case 4:		mainmode = EMhwlibColorMode_LUT_4BPP;		break;	case 8:		mainmode = EMhwlibColorMode_LUT_8BPP;		break;	default:		mainmode = EMhwlibColorMode_TrueColor;		break;	}	if (g_bitmaps[0].pBmpAddr == 0)	{		RMASSERT(g_bitmaps[bmpindex].pBmpAddr != 0);		// setup Y surface		status = SetInputSurface(pRua, mainmode, startaddr, g_bitmaps[bmpindex].bmp.uiWidth, GFX_SURFACE_ID_Y);		if (RMFAILED(status))			RMDBGLOG((GFXDBG, "Error setting surface parameters\n"));		move_param.SrcX = obj->state * obj->width;// [RC] should check this param!!!!!!		move_param.SrcY = 0;		move_param.AlphaX = 0;		move_param.AlphaY = 0;		move_param.DstX = obj->x;		move_param.DstY = obj->y;		move_param.Width = obj->width;		move_param.Height = g_bitmaps[bmpindex].bmp.uiHeight;		move_param.Merge = FALSE;		status = GFXReplaceRectangleProperty(pRua, &move_param);		return RM_OK;	}	// setup X surface	// color format	switch (g_bitmaps[0].bmp.uiNbBitPerPixel)	{	case 1:		bkmode = EMhwlibColorMode_LUT_1BPP;		break;	case 2:		bkmode = EMhwlibColorMode_LUT_2BPP;		break;	case 4:		bkmode = EMhwlibColorMode_LUT_4BPP;		break;	case 8:		bkmode = EMhwlibColorMode_LUT_8BPP;		break;	default:		bkmode = EMhwlibColorMode_TrueColor;		break;	}	status = SetInputSurface(pRua, bkmode, g_bitmaps[0].pBmpAddr, g_bitmaps[0].bmp.uiWidth, GFX_SURFACE_ID_X);	if (RMFAILED(status))		RMDBGLOG((GFXDBG, "Error setting surface parameters\n"));	// setup Y surface	// color mode from above	status = SetInputSurface(pRua, mainmode, startaddr, g_bitmaps[bmpindex].bmp.uiWidth, GFX_SURFACE_ID_Y);	if (RMFAILED(status))		RMDBGLOG((GFXDBG, "Error setting surface parameters\n"));	blend_param.Src1X = obj->state * obj->width; // Src1 YZ surface	blend_param.Src1Y = 0;	blend_param.Src2X = obj->x; // Src2 X surface	blend_param.Src2Y = obj->y;	blend_param.DstX = obj->x;	blend_param.DstY = obj->y;	blend_param.Width = obj->width;	blend_param.Height = g_bitmaps[bmpindex].bmp.uiHeight;	blend_param.SaturateAlpha = FALSE;	status = GFXBlendRectanglesProperty(pRua, &blend_param);	return RM_OK;}RMstatus DrawButton(struct RUA *pRua, RMuint16 xOrigen, RMuint16 yOrigen, RMButtonObject *obj, RMuint8 parentindex){	RMstatus status;	RMuint8 bmpindex;	GFXLib_rect rect;	RMuint32 color;	//	GFXLib_textdata txt;	Prop prop;	prop.trunc = TRUNC_NONE;	//	sub_data* data;	//	RMuint32 i,j;	if (obj->visible == FALSE)		return RM_OK;	//	status = SetOutputSurfaceBuffer(pRua, gdata.backBuffer.baseAddr, gdata.osdWidth);	//	if(RMFAILED(status))	//		return status;	// check if bitmapped	if (obj->file != 0)	{		// check if it is three-state		if (obj->selectedFile == 0 && obj->selectOverlay == 0)		{			status = GetBitmapIndex(pRua, obj->file, &bmpindex, TRUE);			if (RMFAILED(status))				return status;			DrawBitmappedButton(pRua, obj, bmpindex, FALSE);			return BitBlt(pRua);		}		else		{			if (obj->selectOverlay)			{				if (obj->state == STATE_SELECTED)				{					status = GetBitmapIndex(pRua, obj->selectOverlay, &bmpindex, TRUE);					if (RMFAILED(status))						return status;					DrawBitmapBlendBack(pRua, obj->x, obj->y, obj->transparentcolor, obj->usetransparentcolor, 0x80, bmpindex, TRUE, 0);					status = GetBitmapIndex(pRua, obj->file, &bmpindex, TRUE);					if (RMFAILED(status))						return status;					DrawBitmapBlendBack(pRua, obj->x, obj->y, obj->transparentcolor, obj->usetransparentcolor, 0x80, bmpindex, TRUE, 0);					return RM_OK;//BitBlt(pRua);				}				else				{					status = GetBitmapIndex(pRua, obj->file, &bmpindex, TRUE);					if (RMFAILED(status))						return status;					DrawBitmapBlendBack(pRua, obj->x, obj->y, obj->transparentcolor, obj->usetransparentcolor, 0x80, bmpindex, TRUE, 0);					return RM_OK;// BitBlt(pRua);				}			}			else			{				if (obj->state == STATE_SELECTED)					status = GetBitmapIndex(pRua, obj->selectedFile, &bmpindex, TRUE);				else					status = GetBitmapIndex(pRua, obj->file, &bmpindex, TRUE);				if (RMFAILED(status))					return status;				DrawBitmap(pRua, obj->x, obj->y, obj->transparentcolor, obj->usetransparentcolor, 0x80, bmpindex, TRUE, parentindex);				return RM_OK;// BitBlt(pRua);			}		}	}	// text button	rect.x = obj->x + xOrigen;	rect.y = obj->y + yOrigen;	rect.width = obj->width;	rect.height = obj->height;	// check if rectangular -- NEED RECT function!!!!!!!!!!!!!!!!!!	if (obj->rounded == FALSE)		status = Fill(pRua, rect.x, rect.y, rect.width, rect.height, obj->backgroundcolor);	else	{		status = RoundRect(pRua, rect.x, rect.y, rect.width, rect.height, obj->backgroundcolor, TRUE, parentindex);	}	if (RMFAILED(status))		return status;	// draw state	color = (obj->state == STATE_SELECTED ? obj->outlinecolor : obj->backgroundcolor);	RectOutline(pRua, &rect, color, obj->rounded, color == obj->backgroundcolor, parentindex);	//	status = GetFontIndex(pRua, obj->fontfile, obj->charwidth, &bmpindex);	//	if(RMFAILED(status))	//		return status;	RMMemset(&prop, 0, sizeof(Prop));	RMCopyAscii(prop.text, obj->text);	//	txt.foregroundcolor = (obj->state != STATE_DISABLED ? obj->foregroundcolor : DISABLED_FOREGND_COLOR);	//	txt.backgroundcolor = obj->backgroundcolor;	//	txt.transparentbackground = FALSE;	//	txt.alignment = obj->textalign;	// fill the palette and color format	//	SetTextPalette(pRua, obj->foregroundcolor, obj->backgroundcolor, FALSE);	// [RC] assuming 1bpp	//	SetTextColorFormat(pRua);	prop.scale = atoi(obj->fontfile);	prop.bgColor = obj->foregroundcolor;// & 0xFFFFFFFF;	prop.fgColor = obj->backgroundcolor & 0x00FFFFFF;	prop.alignment = obj->textalign;	//	RtkPoint	//	gfxGetTextExtents(pRua, obj->text, &prop, &rctext);	//	point.x = rect.x + ((rect.width - rctext.width) >> 1);	//	point.y = rect.y + ((rect.height - rctext.height) >> 1);	rect.x += 5;	rect.y += 5;	rect.width -= 10;	rect.height -= 10;	gfxTTDrawString(pRua, &rect, &prop, NULL);	return RM_OK;	//	return DrawString(pRua, &rect, &txt, bmpindex);}RMstatus DrawMenu(struct RUA *pRua, GFXLib_rect *rect, GFXLib_menudata *menudata, RMuint32 fcolor, RMuint32 bcolor, RMuint8 fontindex){	RMint32 i;	RMuint8 itemheight;	GFXLib_rect rc, rcText;	RMuint32 color;	//	GFXLib_textdata txt;	Prop prop;	prop.trunc = TRUNC_NONE;	if (menudata->redraw)	{		// first draw menu area and (outside) outline -- rounded		// repaint area occupied by string		RoundRect(pRua, rect->x, rect->y, rect->width, rect->height, bcolor, TRUE, 0);		if (menudata->menuoutlinecolor != 0)		{			rc.x = rect->x - 2;			rc.y = rect->y - 2;			rc.width = rect->width + 4;			rc.height = rect->height + 4;			RectOutline(pRua, &rc, menudata->menuoutlinecolor, FALSE, FALSE, 0); // rounded as well		}	}	// now draw items	RMMemset(&prop, 0, sizeof(Prop));	RMCopyAscii(prop.text, "ABC");	prop.scale = fontindex;	prop.fgColor = bcolor & 0x00FFFFFF;	prop.bgColor = fcolor | 0xFF000000;	prop.alignment = ALIGN_LEFT;	gfxGetTextExtents(pRua, &prop, &rcText);	itemheight = rcText.height * 3 / 2; //1 1/2 font height	// fill the palette and set color format	SetTextPalette(pRua, fcolor, bcolor, FALSE); // [RC] assuming 1bpp	SetTextColorFormat(pRua);	for (i = 0; i < menudata->count; i++)	{		// add text		if (menudata->redraw)		{			rc.x = rect->x + 10;			rc.y = rect->y + itemheight * i;			rc.width = rect->width - 20;			rc.height = itemheight;			RMCopyAscii(prop.text, menudata->items[i]);			//			txt.foregroundcolor = (menudata->state[i] != STATE_DISABLED ? fcolor : DISABLED_FOREGND_COLOR);			//			txt.backgroundcolor = bcolor;			//			txt.transparentbackground = FALSE;// TRUE;			//			txt.alignment = ALIGN_LEFT;			prop.alignment = ALIGN_LEFT;			gfxTTDrawString(pRua, &rc, &prop, NULL);			//			DrawString(pRua, &rc, &txt, fontindex);			if (menudata->textvalues[i] != (RMascii *) NULL)			{				//				RMuint32 rc_width = rc.width;				//				rc.width -= 10;				RMCopyAscii(prop.text, menudata->textvalues[i]);				//				txt.alignment = ALIGN_RIGHT;				//				prop.scale = 18;				prop.alignment = ALIGN_RIGHT;				gfxTTDrawString(pRua, &rc, &prop, NULL);				//				rc.width = rc_width;				//				DrawString(pRua, &rc, &txt, fontindex);			}		}		rc.x = rect->x;		rc.y = rect->y + itemheight * i;		rc.width = rect->width;		rc.height = itemheight;		// draw state		if (menudata->hasfocus)			color = (i == menudata->selecteditem ? menudata->outlinecolor : bcolor);		else			color = bcolor;		RectOutline(pRua, &rc, color, FALSE, color == bcolor, 0); // rounded as well	}	return RM_OK;}RMstatus DrawBitmapRect(struct RUA *pRua, RMuint16 x, RMuint16 y, GFXLib_rect *rect, RMuint32 transparentcolor,		RMbool usetransparentcolor, RMuint8 bmpindex){	RMstatus status = RM_OK;	RMbool hasPalette;	struct GFXEngine_MoveReplaceRectangle_type move_param;	struct GFXEngine_BlendRectangles_type blend_param;	RMuint32 mainmode;	RMuint8 alpha = 0xff;	if (g_bitmaps[bmpindex].path[0] == 0)	{		//		printf("SKIPPING BACKGROUND!!!!!!!!!!!!!!!!!!!!!!\n");		return RM_ERROR;	}	hasPalette = (g_bitmaps[bmpindex].bmp.uiNbBitPerPixel <= 8);	// setup input Y surface	// set transparency	g_bitmaps[bmpindex].transparentcolor = transparentcolor;	g_bitmaps[bmpindex].usetransparentcolor = usetransparentcolor;	// fill the palette	if (hasPalette)		SetPalette(pRua, alpha, bmpindex, GFX_SURFACE_ID_Y);	// color format	switch (g_bitmaps[bmpindex].bmp.uiNbBitPerPixel)	{	case 1:		mainmode = EMhwlibColorMode_LUT_1BPP;		break;	case 2:		mainmode = EMhwlibColorMode_LUT_2BPP;		break;	case 4:		mainmode = EMhwlibColorMode_LUT_4BPP;		break;	case 8:		mainmode = EMhwlibColorMode_LUT_8BPP;		break;	default:		mainmode = EMhwlibColorMode_TrueColor;		break;	}	if (bmpindex == 0 || g_bitmaps[0].pBmpAddr == 0 || usetransparentcolor)	{		RMASSERT(g_bitmaps[bmpindex].pBmpAddr != 0);		status = SetInputSurface(pRua, mainmode, g_bitmaps[bmpindex].pBmpAddr, g_bitmaps[bmpindex].bmp.uiWidth, GFX_SURFACE_ID_Y);		if (RMFAILED(status))			RMDBGLOG((GFXDBG, "Error setting surface parameters\n"));		move_param.SrcX = rect->x;		move_param.SrcY = rect->y;		move_param.AlphaX = 0;		move_param.AlphaY = 0;		move_param.DstX = x;		move_param.DstY = y;		move_param.Width = rect->width;		move_param.Height = rect->height;		move_param.Merge = FALSE;		status = GFXReplaceRectangleProperty(pRua, &move_param);		return RM_OK;	}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级大片在线| 爽好久久久欧美精品| 91麻豆精品91久久久久同性| 欧美日韩在线电影| 欧美久久一二区| 精品久久久久久久久久久久久久久久久 | 亚洲欧美福利一区二区| 一区二区三区四区亚洲| 日韩av网站在线观看| 成人美女在线观看| 欧美精品自拍偷拍动漫精品| 丁香六月综合激情| 中文字幕成人av| 91在线观看地址| 在线观看免费一区| 亚洲一二三级电影| 日韩免费福利电影在线观看| 精品一区二区三区免费毛片爱| 精品国产亚洲在线| 99在线视频精品| 亚洲va欧美va国产va天堂影院| 337p亚洲精品色噜噜噜| 国产高清成人在线| 亚洲精品久久久蜜桃| 日韩精品在线看片z| 99这里都是精品| 丝袜美腿亚洲综合| 国产欧美日韩在线| 欧美丝袜丝nylons| 丁香五精品蜜臀久久久久99网站| 亚洲精品中文在线观看| 欧美精品一区二区三区很污很色的| 国产suv精品一区二区三区| 亚洲电影一级片| 日韩欧美一区二区三区在线| 国产精品12区| 极品美女销魂一区二区三区免费 | 欧美午夜一区二区三区| 韩国毛片一区二区三区| 亚洲午夜免费电影| 中文字幕在线一区二区三区| 精品久久久久久无| 8x8x8国产精品| 欧美亚洲另类激情小说| 成人免费观看av| 日韩电影一区二区三区| 亚洲色图清纯唯美| 国产精品久久久久久久第一福利| 欧美成人精品福利| 欧美精品一区二区三区四区 | 亚洲综合一区二区| 中文字幕不卡在线观看| 国产日韩精品一区二区浪潮av| 日韩三级高清在线| 日韩三级免费观看| 久久综合视频网| 久久久久一区二区三区四区| 欧美日韩国产免费| 91福利在线播放| 欧美色国产精品| 国产91精品在线观看| 亚洲第一激情av| 亚洲精品日日夜夜| 91精品一区二区三区在线观看| 91视视频在线观看入口直接观看www | 国产精品丝袜黑色高跟| 久久婷婷成人综合色| 久久嫩草精品久久久精品| 久久久久久久久蜜桃| 日韩美女啊v在线免费观看| 亚洲人午夜精品天堂一二香蕉| 亚洲成人av一区二区| 国产一区二区在线免费观看| 国产成人av电影在线| 欧美视频一区二区| 久久亚洲春色中文字幕久久久| 亚洲欧美偷拍另类a∨色屁股| 天天综合色天天| 床上的激情91.| 欧美精品在线一区二区| 日韩你懂的在线观看| 国产精品久久久久影视| 免费成人结看片| 欧美日韩免费观看一区二区三区| 9191国产精品| youjizz久久| 日韩精品一区二区三区四区视频 | 在线精品视频一区二区三四| 欧美成va人片在线观看| 午夜日韩在线观看| www.66久久| 国产女人aaa级久久久级| 蜜臀av性久久久久蜜臀aⅴ | 精品国产凹凸成av人导航| 亚洲色图20p| 一本色道**综合亚洲精品蜜桃冫| 久久一留热品黄| 蜜桃在线一区二区三区| 欧美妇女性影城| 男女激情视频一区| 久久夜色精品国产噜噜av| 天天综合色天天| 99久久国产综合精品女不卡| 欧美激情自拍偷拍| 成人高清免费观看| 国产精品污www在线观看| 国产精品91xxx| 精品国产乱码久久久久久图片 | 欧美日韩国产综合一区二区| 国产丝袜在线精品| 免费观看一级欧美片| 在线播放91灌醉迷j高跟美女| 中文字幕精品综合| 视频一区二区三区在线| 在线观看一区二区精品视频| 久久久影院官网| 东方欧美亚洲色图在线| 国产精品美女www爽爽爽| 成人高清视频在线观看| 亚洲视频免费在线观看| 69久久99精品久久久久婷婷 | 日本va欧美va瓶| 国产精品日日摸夜夜摸av| 欧洲av一区二区嗯嗯嗯啊| 日韩成人一级大片| 国产精品妹子av| 欧美日韩成人在线一区| 懂色av一区二区三区免费观看| 一区二区三区美女| 欧美一区日韩一区| 色视频一区二区| 久草精品在线观看| 午夜电影久久久| 国产精品久久久久久久久动漫 | 欧美一区二区三区在线电影| 国产成人av福利| 麻豆精品蜜桃视频网站| 综合色中文字幕| 欧美日韩亚洲国产综合| 亚洲人成影院在线观看| 91电影在线观看| 成人动漫一区二区三区| 国产一区亚洲一区| 蜜臀av一区二区在线免费观看| 亚洲天堂av一区| 国产精品女上位| 国产亚洲女人久久久久毛片| 欧美理论电影在线| eeuss鲁片一区二区三区在线观看| 免费成人性网站| 日韩电影在线观看一区| 婷婷综合久久一区二区三区| 一区二区三区在线观看网站| 最好看的中文字幕久久| 国产精品三级av| 亚洲激情在线激情| 亚洲精品亚洲人成人网| ●精品国产综合乱码久久久久| 国产亚洲成年网址在线观看| 中文字幕久久午夜不卡| 久久精品视频一区二区| 国产精品―色哟哟| 国产精品亲子伦对白| 中文字幕不卡的av| 中文字幕一区二区三区视频| 成人免费一区二区三区在线观看| 国产精品不卡一区二区三区| 亚洲午夜精品在线| 蜜桃一区二区三区四区| 粉嫩av一区二区三区| 色先锋久久av资源部| 欧美电视剧在线看免费| 国产亲近乱来精品视频| 一区二区激情小说| 青青草91视频| 97久久人人超碰| 制服丝袜亚洲精品中文字幕| 国产女人水真多18毛片18精品视频| 国产精品久久久久精k8| 伦理电影国产精品| 色悠久久久久综合欧美99| 精品久久久久久最新网址| 亚洲日本一区二区三区| 国模娜娜一区二区三区| 欧美日韩在线播放三区| 亚洲国产高清不卡| 加勒比av一区二区| 欧美一级在线视频| 亚洲综合久久久| 91首页免费视频| 国产精品久久久久永久免费观看| 裸体一区二区三区| 欧美喷水一区二区| 亚洲综合视频网| 99麻豆久久久国产精品免费| 国产欧美一区二区精品性| 国内精品第一页| 精品裸体舞一区二区三区| 麻豆91在线播放| 久久久天堂av|