Les pointeurs
Cette section aborde les pointeurs (curseurs) standard disponibles sous Mac OS X, et fournit des informations pour créer vos propres curseurs. Les pointeurs ont pour but de fournir une rétroaction aux utilisateurs. Vous ne devez les utiliser que pour leur propre objet.
Chaque pointeur a son propre point d'action (hot spot), une portion du pointeur qui doit être positionnée sur un objet de l'écran avant que la souris ne clique, ou que le doigt ne tape. Le point d'action doit être implicite, comme la pointe d'une flèche, ou le centre d'un réticule. Les objets sur l'écran ont une zone d'action (hot zone), la région à l'intérieur de laquelle le foyer doit être positionné pour que les clics aient un effet.
Image | Pointeur | Utilisation | API pour Cocoa |
---|---|---|---|
![]() |
Flèche | Barre de menus, bureau, barre de défilement, contrôle de redimensionnement, boutons de fermeture, de zoom, de minimisation, autres contrôles | arrowCursor |
![]() |
Menu contextuel | Indique que l'utilisateur peut ouvrir un menu contextuel pour l'item. Affiché quand l'utilisateur presse la touche Ctrl quand le pointeur est sur l'item. | Pas disponible |
![]() |
Alias | Indique que la destination du glissement va recevoir un alias de l'objet original ; ce dernier ne sera pas déplacé | Pas disponible |
![]() |
Nuage (Poof) | Indique que l'objet proxy qui est glissé va disparaître sans que l'objet original soit effacé quand le bouton de la souris sera relâché. Ne fonctionne que pour les objets proxy. | disappearingItemCursor |
![]() |
Copie | Indique que la destination du glissement va recevoir un alias de l'objet original ; ce dernier ne sera pas déplacé | Pas disponible |
![]() |
Pas autorisé | Indique que la destination du glissement invalide | Pas disponible |
![]() |
Insertion | Sélection et insertion de texte | IBeamCursor |
![]() |
Croix | Indique une sélection rectangulaire, spécialement utile pour les graphiques | crosshairCursor |
![]() |
Main pointée | Liens URL | pointingHandCursor |
![]() |
Main ouverte | Indique qu'un item peut être manipulé à l'intérieur de la vue qui le contient | openHandCursor |
![]() |
Main fermée | Pousser, glisser, ajuster un objet à l'intérieur de la vue qui le contient. | closedHandCursor |
![]() |
Déplacement à gauche | Déplace ou redimensionne un objet, généralement un séparateur, vers la gauche. N'utiliser que quand l'objet peut être déplacé dans la direction indiquée. | resizeLeftCursor |
![]() | Déplacement à droite | Déplace ou redimensionne un objet, généralement un séparateur, vers la droite. N'utiliser que quand l'objet peut être déplacé dans la direction indiquée. | resizeRightCursor |
![]() |
Déplacement à gauche ou à droite | Déplace ou redimensionne un objet, généralement un séparateur, vers la gauche ou vers la droite | resizeLeftRightCursor |
![]() |
Déplacer vers le haut | Déplace ou redimensionne un objet, généralement un séparateur, vers le haut. N'utiliser que quand l'objet peut être déplacé dans la direction indiquée. | resizeUpCursor |
![]() |
Déplacer vers le bas | Déplace ou redimensionne un objet, généralement un séparateur, vers le bas. N'utiliser que quand l'objet peut être déplacé dans la direction indiquée. | resizeDownCursor |
![]() |
Déplacer vers le haut ou vers le bas | Déplace ou redimensionne un objet, généralement un séparateur de vitres, vers le haut ou vers le bas | resizeUpDownCursor |
Le curseur d'attente à roulette multicolore est affiché automatiquement par le serveur de fenêtres quand une application ne peut pas prendre en compte les évènements qu'elle reçoit. Si elle ne répond pas dans un délai de deux à 4 secondes, la roulette multicolore apparaît. Vous devez essayer d'éviter de telles situations dans votre application. L'application Spin Control, fournie avec Xcode vous aidera à éliminer le code qui provoque ce curseur.
Mac OS X supporte des pointeurs sur 32 bits en RGBA, avec des tailles jusqu'à 64 x 64 pixels. Si vous avez besoin de pointeurs plus grands, vous pouvez les implanter à l'aide d'une fenêtre qui se déplace avec le Pointeur.
Avant de concevoir votre propre pointeur, demandez-vous s'il va améliorer l'interface utilisateur. Pensez qu'en faisant cela, vous allez introduite un nouvel élément d'interface qui peut amener la confusion. Si vous décidez de créer un nouveau pointeur, gardez ces recommandations à l'esprit :
• Il faut indiquer où se trouve le foyer du pointeur.
• Les pointeurs doivent pouvoir travailler sur des vieux Macs, qui peuvent ne pas disposer d'accélération vidéo matérielle.
• Si vous créez une version personnalisée d'un pointeur standard, il vous faut aussi créer de nouvelles versions pour les pointeurs associés. Par exemple, si vous créez un pointeur en flèche plus grand, vous devez aussi créer les pointeurs correspondants pour copier, déplacer, alias, le nuage (poof), et ainsi de suite.
Si la création de pointeurs personnalisés est nécessaire, les applications Carbon et Cocoa doivent utiliser les méthodes NSCursor
.
Compte tenu du fait que Carbon est maintenant un environnement de développement dépassé, je n'ai pas reproduit l'information d'API correspondante, mais vous pouvez toujours la retrouver sur la page originale d'Apple.
Avez-vous déjà imaginé la roulette multicolore comme un pointeur ? C'est pourtant ce qu'elle représente. Apple ferait bien d'utiliser ses propres conseils pour nous en débarrasser !