[UNDOCUMENTED CG] CGSSetWindowListBrightness() : luminosité d'une fenêtre

BruBru Membre
void CGSSetWindowListBrightness(int cid, int *wids, float *lums, int nombre)

La fonction CGSSetWindowListBrightness de l'api Core Graphics permet de récupérer de faire varier la luminosité d'une liste de fenêtres.

  • cid : id de connexion au window-server
  • wids : pointeur sur un tableau de wids des fenêtres visées
  • lums : pointeur sur un tableau de float donnant la luminosité de la fenêtre associée (voir tableau précédent)
  • nombre : nombre de wids (et de float) dans les 2 tableaux précédents


La luminosité est un float variant de -1 à  +1.
Les valeurs négatives assombrissent la fenêtre, tandis que les positives l'éclaircissent.
La valeur 0 est la luminosité normale.

Cette fonction travaille sur une liste de fenêtres (second argument). Une liste de valeur de luminosité doit aussi être fournie, de même taille que la liste de fenêtres : chaque index du tableau des fenêtres utilise la valeur du tableau de luminosité au même index.

Exemple pour faire varier la luminosité d'une seule fenêtre :
<br />{<br />&nbsp; &nbsp; int cid, wid;<br />&nbsp; &nbsp; float lum;<br /><br />&nbsp; &nbsp; cid=[NSApp contextID];<br />&nbsp; &nbsp; wid=[maFenetre windowNumber];<br />&nbsp; &nbsp; lum=0.8;<br /><br />&nbsp; &nbsp; CGSSetWindowListBrightness(cid, &amp;wid, &amp;lum, 1);<br />}<br />

Réponses

  • 03:00 modifié #2
    C'est rigolo mais dans quel cas c'est utilisé ?

    Salut et bonne année à  tous,
  • Eddy58Eddy58 Membre
    03:00 modifié #3
    Par Exposé je pense. :o
  • BruBru Membre
    janvier 2007 modifié #4
    dans 1167652904:

    C'est rigolo mais dans quel cas c'est utilisé ?


    dans 1167654882:

    Par Exposé je pense.


    A priori, non.
    Par contre, c'est utilisé par Quartz Debug pour faire pulser la fenêtre qui est sélectionnée dans la liste des fenêtres.
    C'est aussi utilisé par IB quand plusieurs nibs sont ouverts. Les nibs qui sont en arrière-plan voient toutes leurs fenêtres assombries.

    .
  • Eddy58Eddy58 Membre
    03:00 modifié #5
    dans 1167730188:

    A priori, non.

    Pourtant, le fond d'écran et les icônes s'assombrissent quand on passe en mode exposé. ???
    Et quand on passe la souris sur les fenêtres, il me semble qu'elles s'éclaircissent mais je me trompe peut-être. ;)
  • AliGatorAliGator Membre, Modérateur
    03:00 modifié #6
    Pour le bureau je pense que tu as raison, en mode exposé il s'assombrit, donc ça doit sans doute utiliser la méthode exposée par Bru.
    Pour quand tu passes la souris sur une fenêtre en mode exposé par contre j'ai plutôt l'impression que ça dessine par dessus la fenêtre un rectangle rempli de la couleur de sélection (bleu clair), avec une couche alpha proche du transparent. Ce qui fait que ça rajoute un peu une coloration bleu clair sur la totalité de la surface de la fenêtre : donc pour moi ce n'est pas un effet de luminosité (elle s'éclaircit/s'assombrit) mais une surimpression d'un bleu translucide.

    C'est d'ailleurs exactement le même effet qui est appliqué quand tu prends une photo d'une fenêtre (Pomme-Maj-4 puis Barre d'espace pour passer en mode capture de fenêtre)
Connectez-vous ou Inscrivez-vous pour répondre.