All pastes #416739 Raw Edit

Someone

public text v1 · immutable
#416739 ·published 2007-03-30 12:32 UTC
rendered paste body
static void groupScreenOptionChanged(CompScreen *s, CompOption *opt, GroupScreenOptions num)
{
	GROUP_SCREEN(s);
	GroupSelection *group;

	switch (num)
	{
		case GroupScreenOptionTabBaseColor:
		case GroupScreenOptionTabHighlightColor:
		case GroupScreenOptionTabBorderColor:
		case GroupScreenOptionTabStyle:
		case GroupScreenOptionBorderRadius:
		case GroupScreenOptionBorderWidth:
			for (group = gs->groups; group; group = group->next)
				if (group->tabBar)
					groupRenderTabBarBackground(group);
			break;
		case GroupScreenOptionTabbarFontSize:
		case GroupScreenOptionTabbarFontColor:
			for (group = gs->groups; group; group = group->next)
				groupRenderWindowTitle(group);
			break;
		case GroupScreenOptionThumbSize:
		case GroupScreenOptionThumbSpace:
			for (group = gs->groups; group; group = group->next)
				if (group->tabBar)
					groupRecalcTabBarPos(group, 
										 (group->tabBar->region->extents.x1 +
										 group->tabBar->region->extents.x2) / 2,
										 group->tabBar->region->extents.x1,
										 group->tabBar->region->extents.x2);
			break;
		case GroupScreenOptionGlow:
		case GroupScreenOptionGlowSize:
			{
				CompWindow *w;

				groupRecomputeGlow(s);
				for (w = s->windows; w; w = w->next) {
					GROUP_WINDOW(w);

					if (gw->glowQuads) {
						damageWindowOutputExtents(w);
						updateWindowOutputExtents(w);
						damageWindowOutputExtents(w);
					}
				}
			}
			break;
		case GroupScreenOptionGlowType:
			{
				GROUP_DISPLAY(s->display);
				GroupGlowTypeEnum glowType;
				glowType = groupGetGlowType(s);

				finiTexture(s, &gs->glowTexture);
				initTexture(s, &gs->glowTexture);

				imageDataToTexture(s, &gs->glowTexture,
								   gd->glowTextureProperties[glowType].textureData,
								   gd->glowTextureProperties[glowType].textureSize,
								   gd->glowTextureProperties[glowType].textureSize,
								   GL_RGBA, GL_UNSIGNED_BYTE);

				if (groupGetGlow(s) && gs->groups) {
					groupRecomputeGlow(s);
					damageScreen(s);
				}
			}
			break;
		default:
			break;
	}
}




	groupSetTabHighlightColorNotify(s, groupScreenOptionChanged);
	groupSetTabBaseColorNotify(s, groupScreenOptionChanged);
	groupSetTabBorderColorNotify(s, groupScreenOptionChanged);
	groupSetTabbarFontSizeNotify(s, groupScreenOptionChanged);
	groupSetTabbarFontColorNotify(s, groupScreenOptionChanged);
	groupSetGlowNotify(s, groupScreenOptionChanged);
	groupSetGlowTypeNotify(s, groupScreenOptionChanged);
	groupSetGlowSizeNotify(s, groupScreenOptionChanged);
	groupSetTabStyleNotify(s, groupScreenOptionChanged);
	groupSetThumbSizeNotify(s, groupScreenOptionChanged);
	groupSetThumbSpaceNotify(s, groupScreenOptionChanged);
	groupSetBorderWidthNotify(s, groupScreenOptionChanged);
	groupSetBorderRadiusNotify(s, groupScreenOptionChanged);