Beispiel #1
0
static Bool
zoomInitScreen(CompPlugin *p,
               CompScreen *s)
{
   ZoomScreen *zs;

   ZOOM_DISPLAY(s->display);

   zs = malloc(sizeof (ZoomScreen));
   if (!zs)
     return FALSE;

   if (!compInitScreenOptionsFromMetadata(s,
                                          &zoomMetadata,
                                          zoomScreenOptionInfo,
                                          zs->opt,
                                          ZOOM_SCREEN_OPTION_NUM))
     {
        free(zs);
        return FALSE;
     }

   zs->grabIndex = 0;
   zs->grab = FALSE;

   zs->velocity = 0.0f;

   zs->zoomOutput = 0;

   zs->zoomed = 0;
   zs->adjust = FALSE;

   zs->panGrabIndex = 0;
   zs->panCursor = XCreateFontCursor(s->display->display, XC_fleur);

   zs->scale = 0.0f;

   memset(&zs->current, 0, sizeof (zs->current));
   memset(&zs->last, 0, sizeof (zs->last));

   WRAP(zs, s, preparePaintScreen, zoomPreparePaintScreen);
   WRAP(zs, s, donePaintScreen, zoomDonePaintScreen);
   WRAP(zs, s, paintOutput, zoomPaintOutput);

   s->base.privates[zd->screenPrivateIndex].ptr = zs;

   return TRUE;
}
Beispiel #2
0
static Bool
fadeInitScreen(CompPlugin *p,
               CompScreen *s)
{
   FadeScreen *fs;

   FADE_DISPLAY(s->display);

   fs = malloc(sizeof (FadeScreen));
   if (!fs)
     return FALSE;

   if (!compInitScreenOptionsFromMetadata(s,
                                          &fadeMetadata,
                                          fadeScreenOptionInfo,
                                          fs->opt,
                                          FADE_SCREEN_OPTION_NUM))
     {
        free(fs);
        return FALSE;
     }

   fs->windowPrivateIndex = allocateWindowPrivateIndex(s);
   if (fs->windowPrivateIndex < 0)
     {
        compFiniScreenOptions(s, fs->opt, FADE_SCREEN_OPTION_NUM);
        free(fs);
        return FALSE;
     }

   fs->fadeTime = 1000.0f / fs->opt[FADE_SCREEN_OPTION_FADE_SPEED].value.f;

   matchInit(&fs->match);

   fadeUpdateWindowFadeMatch(s->display,
                             &fs->opt[FADE_SCREEN_OPTION_WINDOW_MATCH].value,
                             &fs->match);

   WRAP(fs, s, preparePaintScreen, fadePreparePaintScreen);
   WRAP(fs, s, paintWindow, fadePaintWindow);
   WRAP(fs, s, damageWindowRect, fadeDamageWindowRect);
   WRAP(fs, s, focusWindow, fadeFocusWindow);
   WRAP(fs, s, windowResizeNotify, fadeWindowResizeNotify);

   s->base.privates[fd->screenPrivateIndex].ptr = fs;

   return TRUE;
}
Beispiel #3
0
static Bool minInitScreen(CompPlugin * p, CompScreen * s)
{
	MinScreen *ms;

	MIN_DISPLAY(s->display);

	ms = malloc(sizeof(MinScreen));
	if (!ms)
		return FALSE;

	if (!compInitScreenOptionsFromMetadata(s,
					       &minMetadata,
					       minScreenOptionInfo,
					       ms->opt,
					       MIN_SCREEN_OPTION_NUM)) {
		free(ms);
		return FALSE;
	}

	ms->windowPrivateIndex = allocateWindowPrivateIndex(s);
	if (ms->windowPrivateIndex < 0) {
		compFiniScreenOptions(s, ms->opt, MIN_SCREEN_OPTION_NUM);
		free(ms);
		return FALSE;
	}

	ms->moreAdjust = FALSE;
	ms->shadeStep = ms->opt[MIN_SCREEN_OPTION_SHADE_RESISTANCE].rest.i.max -
	    ms->opt[MIN_SCREEN_OPTION_SHADE_RESISTANCE].value.i + 1;

	WRAP(ms, s, preparePaintScreen, minPreparePaintScreen);
	WRAP(ms, s, donePaintScreen, minDonePaintScreen);
	WRAP(ms, s, paintOutput, minPaintOutput);
	WRAP(ms, s, paintWindow, minPaintWindow);
	WRAP(ms, s, damageWindowRect, minDamageWindowRect);
	WRAP(ms, s, focusWindow, minFocusWindow);

	s->base.privates[md->screenPrivateIndex].ptr = ms;

	return TRUE;
}