示例#1
0
static void rna_ImaPaint_canvas_update(Main *bmain, Scene *scene, PointerRNA *UNUSED(ptr))
{
	Object *ob = OBACT;
	bScreen *sc;
	Image *ima = scene->toolsettings->imapaint.canvas;

	for (sc = bmain->screen.first; sc; sc = sc->id.next) {
		ScrArea *sa;
		for (sa = sc->areabase.first; sa; sa = sa->next) {
			SpaceLink *sl;
			for (sl = sa->spacedata.first; sl; sl = sl->next) {
				if (sl->spacetype == SPACE_IMAGE) {
					SpaceImage *sima = (SpaceImage *)sl;

					if (!sima->pin)
						ED_space_image_set(bmain, sima, scene, scene->obedit, ima);
				}
			}
		}
	}

	if (ob && ob->type == OB_MESH) {
		GPU_drawobject_free(ob->derivedFinal);
		BKE_paint_proj_mesh_data_check(scene, ob, NULL, NULL, NULL, NULL);
		WM_main_add_notifier(NC_OBJECT | ND_DRAW, NULL);
	}
}
示例#2
0
static void rna_ImaPaint_canvas_update(Main *bmain, Scene *scene, PointerRNA *UNUSED(ptr))
{
	bScreen *sc;
	Image *ima = scene->toolsettings->imapaint.canvas;
	
	for (sc = bmain->screen.first; sc; sc = sc->id.next) {
		ScrArea *sa;
		for (sa = sc->areabase.first; sa; sa = sa->next) {
			SpaceLink *sl;
			for (sl = sa->spacedata.first; sl; sl = sl->next) {
				if (sl->spacetype == SPACE_IMAGE) {
					SpaceImage *sima = (SpaceImage *)sl;
					ED_space_image_set(sima, scene, scene->obedit, ima);
				}
			}
		}
	}

	WM_main_add_notifier(NC_OBJECT | ND_DRAW, NULL);
}