Example #1
0
static void	screen_paint(LPRECT logrect, LPRECT physrect)
{
	if (!bActive /* || !fullscreen*/)
		return;
	
	if (!IsRectEmpty(logrect))
	{
		u8 	*video_buffer, *orig, *bmp;
		u32	pitch;
		int xbord, ybord;
		
		orig = video_buffer = screen_lock(&pitch);
		if (!orig)
			return;
	
		xbord = (fsx - win_logxsize) / 2;
		ybord = (fsy - win_logysize) / 2;
				
//		log("screen_paint (%d,%d)\n", xbord, ybord);	
	
		if (screen_clearsides)
		{
			for (int idx = 0; idx < ybord; idx++)
			{
				memset(video_buffer + idx*pitch, BG, fsx);
				memset(video_buffer + (fsy-idx-1)*pitch, BG, fsx);
			}
			
			for (int idx = 0; idx < fsy; idx++)
			{
				memset(video_buffer, BG, xbord);
				memset(video_buffer + fsx - xbord, BG, xbord);
				video_buffer += pitch;
			}
			screen_clearsides = false;
		}
	
/*		for (int idx = 0; idx<192; idx++)
		{
			bmp -= 256;
			memcpy(video_buffer + xbord, bmp, win_logxsize);
			video_buffer += pitch;
		}*/

		bmp = win_bitmap + (256 - logrect->top) * 256 + logrect->left;
		video_buffer = orig + (ybord + logrect->top) * pitch + logrect->left + xbord;

		for (int idx = logrect->top; idx < logrect->bottom; idx++)
		{
			bmp -= 256;
			memcpy(video_buffer, bmp, logrect->right - logrect->left);
			video_buffer += pitch;
		}
		
		screen_unlock(orig);
	}
}
Example #2
0
void resume(struct device_info * dev)
{
	if(AT_DBG)
		printf("%s\n",__func__);

	press_pwrkey(dev);
	sleep(2);
	screen_unlock(dev);
	sleep(2);

	system("echo autotest > /sys/power/wake_unlock");
}
Example #3
0
static void screen_resize(u32 newxsize, u32 newysize)
{
	u8	*video_buffer, *orig;
	u32	pitch;
	int xbord,ybord;
	
	orig = video_buffer = screen_lock(&pitch);
	if (!orig)
		return;
	
	xbord = (fsx - newxsize) / 2;
	ybord = (fsy - newysize) / 2;
	
//	log("screen_resize [%d,%d]\n", xbord, ybord);
	video_buffer = orig;
	for (int idx = 0; idx < ybord; idx++)
	{
		memset(video_buffer, BG, fsx);
		video_buffer += pitch;
	}

	video_buffer = orig + (fsy - ybord) * pitch;
	for (int idx = 0; idx < ybord; idx++)
	{
		memset(video_buffer, BG, fsx);
		video_buffer += pitch;
	}
	
	video_buffer = orig + ybord*pitch;
	for (int idx = 0; idx < newysize; idx++)
	{
		memset(video_buffer, BG, xbord);
		memset(video_buffer + fsx - xbord, BG, xbord);
		video_buffer += pitch;
	}
	
	screen_unlock(orig);
}