NSImage, NSTimer, drawRect

muqaddarmuqaddar Administrateur
18:46 modifié dans API AppKit #1
Salut,

Je voulais savoir s'il est possible et efficace d'appeller la méthode drawRect depuis un timer dans le @selector de la méthode scheduledTimerWithTimeInterval.... Apparemment il faut obligatoirement appeler une fonction qui prend timer en argument... Or j'ai besoin de rafraichir drawRect à  chaque appel du timer...

Une idée ?

EDIT : parce que j'ai essayé d'appeller une fonction avec le time ren argument qui elle même appelle drawRect au début, mais sans succès, ou alors je sais pas appeler drawRect.

Réponses

  • mpergandmpergand Membre
    18:46 modifié #2
    A essayer dans l'ordre:

    - setNeedDisplay: YES
    - display
    - la même chose à  la main:
        lockFocus
        drawRect
        unlockFocus

    Regarde la doc de ces méthodes de NSView
  • muqaddarmuqaddar Administrateur
    18:46 modifié #3
    Merci.
    Je m'en suis sorti avec une NSImageView à  la place d'une vue pour faire ce que je voulais faire.
  • muqaddarmuqaddar Administrateur
    18:46 modifié #4
    Re.

    Finalement, j'ai besoin d'une Vue et non d'une ImageView.
    J'ai des problèmes de rafraà®chissement d'image.

    Je n'arrive pas à  rafraichir correctement mon drawRect dans ma vue.
    Pourtant setNeedDisplay est fait pour ça non ?

    Je rappelle que j'ai un timer qui appelle une fonction, dans laquelle je calcule le numéro d'image en cours. Puis je cherche à  rafraichir drawRect.

    La méthode qui envoie la nouvelle image est :
    ;merci de votre aide.
  • muqaddarmuqaddar Administrateur
    18:46 modifié #5
    C'est bon j'ai trouvé.
    Une erreur entre variable d'instance et de méthode toute bête que m'a pas signalée le compilo.
Connectez-vous ou Inscrivez-vous pour répondre.