Forcer la réactualisation de l'ombre d'un texte ?
ClicCool
Membre
Bonjour,
Comment peut-on forcer la mise à jour de l'ombre d'un texte d'une NSTextView transparente dans une fenêtre sans fond (mais barre de titre apparente) ?
En effet au changement du texte affiché il reste l'ancienne ombre portée avec l'empreinte blanche de l'ancien texte. Cela est particulièrement disgracieux si le nouveau texte est nettement plus court et on peut alors lire en blanc sur l'ancienne ombre le reste du texte précédent.
J'ai essayé de virer l'ombre, retracer la fenetre puis remettre l'ombre mais si cela résout le pb de l'ombre cela est aussi fort disgrcieux car on voit alors nettement la fenêtre tressauter à chaque modification de son texte.
Comment peut-on forcer la mise à jour de l'ombre d'un texte d'une NSTextView transparente dans une fenêtre sans fond (mais barre de titre apparente) ?
En effet au changement du texte affiché il reste l'ancienne ombre portée avec l'empreinte blanche de l'ancien texte. Cela est particulièrement disgracieux si le nouveau texte est nettement plus court et on peut alors lire en blanc sur l'ancienne ombre le reste du texte précédent.
J'ai essayé de virer l'ombre, retracer la fenetre puis remettre l'ombre mais si cela résout le pb de l'ombre cela est aussi fort disgrcieux car on voit alors nettement la fenêtre tressauter à chaque modification de son texte.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
[window invalidateShadow];
Va forcer le recalcul de l'ombre de la fenêtre ET de son contenu.
J'ignorais l'existance de cette méthode, je pensait que ça se faisait tout seul ???
Je suis finalement oobligé d'écrire un display avant et après:
Avec un seul display après ça marche pas ???
Avec un setNeedsDisplay on voit encore apparaà®tre une fraction de seconde l'empreinte blanche du texte précédent
Et encore comme ça on voit toujours apparaà®tre une fraction de fraction de seconde l'empreinte blanche du texte précédent !
Y'a pas mieux ?
J'ai loupé un truc ?
Juste une idée en passant
textView superview] setNeedsDisplayInRect:[textView frame;
Merci mpergand
J'ai bien cru que ton idée allait tout résoudre simplement ...
... Mais pas vraiment
Ceci dit elle donne les meilleurs résultats, mais Je suis quand même contraindre d'écrire:
??? Je comprend pas ce binz ! ?
C'est un attribut du texte, ou l'ombre de la fenêtre?
C'est l'ombre de la fenêtre (et de son texte) mais pas le style "texte ombré", en effet j'ai peut-être manqué de clarté en oubliant la confusion possible avec un texte "ombré"
En fait, je ne sais pas, je n'ai jamais eu l'occasion de voir ce que donnait du texte ombré dans une fenêtre transparente, c'était juste une suggestion comme ça, car en général OS X est bien foutu sur ce plan là .