示例#1
0
static void unifb_fillrect(struct fb_info *info,
		const struct fb_fillrect *region)
{
	struct fb_fillrect modded;
	int vxres, vyres;

	if (info->flags & FBINFO_HWACCEL_DISABLED) {
		sys_fillrect(info, region);
		return;
	}

	vxres = info->var.xres_virtual;
	vyres = info->var.yres_virtual;

	memcpy(&modded, region, sizeof(struct fb_fillrect));

	if (!modded.width || !modded.height ||
	    modded.dx >= vxres || modded.dy >= vyres)
		return;

	if (modded.dx + modded.width > vxres)
		modded.width = vxres - modded.dx;
	if (modded.dy + modded.height > vyres)
		modded.height = vyres - modded.dy;

	unifb_prim_fillrect(info, &modded);
}
示例#2
0
void st7735fb_fillrect(struct fb_info *info, const struct fb_fillrect *rect)
{
	struct st7735fb_par *par = info->par;

	sys_fillrect(info, rect);

	st7735fb_update_display(par);
}
示例#3
0
void st7586fb_fillrect(struct fb_info *info, const struct fb_fillrect *rect)
{
	struct st7586fb_par *par = info->par;

	sys_fillrect(info, rect);

	schedule_delayed_work(&par->dwork, FB_ST7586_UPDATE_DELAY);
}
static void hecubafb_fillrect(struct fb_info *info,
				   const struct fb_fillrect *rect)
{
	struct hecubafb_par *par = info->par;

	sys_fillrect(info, rect);

	hecubafb_dpy_update(par);
}
示例#5
0
void ws_eink_fb_fillrect(struct fb_info *info, const struct fb_fillrect *rect)
{
	int ret;
	struct ws_eink_fb_par *par = info->par;
	sys_fillrect(info, rect);
	ret = ws_eink_update_display(par);
	if (ret)
		dev_err(info->device, "%s: failed to update display", __func__);
}
示例#6
0
static void evdi_fb_fillrect(struct fb_info *info,
			     const struct fb_fillrect *rect)
{
	struct evdi_fbdev *ufbdev = info->par;

	EVDI_CHECKPT();
	sys_fillrect(info, rect);
	evdi_handle_damage(&ufbdev->ufb, rect->dx, rect->dy, rect->width,
			   rect->height);
}
示例#7
0
static void sh_mobile_lcdc_fillrect(struct fb_info *info,
				    const struct fb_fillrect *rect)
{
	sys_fillrect(info, rect);
	sh_mobile_lcdc_deferred_io_touch(info);
}
示例#8
0
static void st7585_fillrect(struct fb_info *info, const struct fb_fillrect *rect)
{
	sys_fillrect(info, rect);
	st7585fb_schedule_refresh(info, rect);
}
示例#9
0
static void ls027b7dh01_fillrect(struct fb_info *p, const struct fb_fillrect *rect)
{
	sys_fillrect(p, rect);
	ls027b7dh01_invalidate(p, rect->dx, rect->dy, rect->width, rect->height);
}
示例#10
0
static void ili9341_fillrect(struct fb_info *p, const struct fb_fillrect *rect) 
{
	sys_fillrect(p, rect);
	ili9341_touch(p, rect->dx, rect->dy, rect->width, rect->height);
}