NAME
canvas - Créer et manipuler le widget canvas
SYNOPSIS
canvas nom_du_canvas ?options?
OPTIONS STANDARDS
-background ou -bg, background, Background
-borderwidth ou -bd, borderWidth, BorderWidth
-cursor, cursor, Cursor
-highlightbackground, highlightBackground, HighlightBackground
-highlightcolor, highlightColor, HighlightColor
-highlightthickness, highlightThickness, HighlightThickness
-insertbackground, insertBackground, Foreground
-insertborderwidth, insertBorderWidth, BorderWidth
-insertofftime, insertOffTime, OffTime
-insertontime, insertOnTime, OnTime
-insertwidth, insertWidth, InsertWidth
-relief, relief, Relief
-selectbackground, selectBackground, Foreground
-selectborderwidth, selectBorderWidth, BorderWidth
-selectforeground, selectForeground, Background
-state
-takefocus, takeFocus, TakeFocus
-xscrollcommand, xScrollCommand, ScrollCommand
-yscrollcommand, yScrollCommand, ScrollCommand
OPTIONS SPECIFIQUES AU WIDGET
-closeenough, closeEnough, CloseEnough
-confine, confine, Confine
-height, height, Height
-scrollregion, scrollRegion, ScrollRegion
-state, state, State
-width, width, width
-xscrollincrement, xScrollIncrement, ScrollIncrement
-yscrollincrement, yScrollIncrement, ScrollIncrement
INTRODUCTION
LISTE D'AFFICHAGE
IDENTIFIANTS DES OBJETS ET TAGS
COORDONNEES
TRANSFORMATIONS
INDICES
nombre
end
insert
sel.first
sel.last
@x,y
MOTIFS EN POINTILLES
COMMANDES ASSOCIEES AU WIDGET
nom_du_canvas addtag tag spécification_de_recherche ?arg arg ...?
above tagOùId
all
below tagOùId
closest x y ?halo? ?en_premier?
enclosed x1 y1 x2 y2
overlapping x1 y1 x2 y2
withtag tagOùId
nom_du_canvas bbox tagOùId ?tagOùId tagOùId ...?
nom_du_canvas bind tagOùId ?séquence? ?commande?
nom_du_canvas canvasx screenx ?espacement_de_la_grille?
nom_du_canvas canvasy screeny ?espacement_de_la_grille?
nom_du_canvas cget option
nom_du_canvas configure ?option? ?valeur? ?option valeur ...?
nom_du_canvas coords tagOùId ?x0 y0 ...?
nom_du_canvas coords tagOùId ?liste_des_coordonnées?
nom_du_canvas create type x y ?x y ...? ?option valeur...?
nom_du_canvas create type liste_des_coordonnées ?option valeur ...?
nom_du_canvas dchars tagOùId premier ?dernier?
nom_du_canvas delete ?tagOùId tagOùId ...?
nom_du_canvas dtag tagOùId ?tag à supprimer?
nom_du_canvas find commande_de_recherche ?arg arg ...?
nom_du_canvas focus ?tagOùId?
nom_du_canvas gettags tagOùId
nom_du_canvas icursor tagOùId index
nom_du_canvas index tagOùId index
nom_du_canvas insert tagOùId avant_ceci chaîne
nom_du_canvas itemcget tagOùId option
nom_du_canvas itemconfigure tagOùId ?option? ?valeur? ?option valeur ...?
nom_du_canvas lower tagOùId ?en_dessous_de_celui-ci?
nom_du_canvas move tagOùId x_à_ajouter y_à_ajouter
nom_du_canvas postscript ?option valeur option valeur ...?
-colormap nom_de_variable
-colormode mode
-file nom_de_fichier
-fontmap nom_de_variable
-height taille
-pageanchor ancre
-pageheight taille
-pagewidth taille
-pagex position
-pagey position
-rotate booléen
-width taille
-x position
-y position
nom_du_canvas raise tagOùId ?au_dessus_de_celui-ci?
nom_du_canvas scale tagOùId xOrigine yOrigine xEchelle yEchelle
nom_du_canvas scan option args
nom_du_canvas scan mark x y
nom_du_canvas scan dragto x y ?gain?.
nom_du_canvas select option ?tagOùId arg?
nom_du_canvas select adjust tagOùId index
nom_du_canvas select clear
nom_du_canvas select from tagOùId index
nom_du_canvas select item
nom_du_canvas select to tagOùId index
nom_du_canvas type tagOùId
nom_du_canvas xview ?args?
nom_du_canvas xview
nom_du_canvas xview moveto fraction
nom_du_canvas xview scroll nombre quoi
nom_du_canvas yview ?args?
nom_du_canvas yview
nom_du_canvas yview moveto fraction
nom_du_canvas yview scroll nombre quoi
PRESENTATION DES DIFFERENTS TYPES D'OBJETS
OPTIONS COMMUNES A TOUS LES OBJETS
-dash motif
-activedash motif
-disableddash motif
-dashoffset offset
-fill couleur
-activefill couleur
-disabledfill couleur
-outline couleur
-activeoutline couleur
-disabledoutline couleur
-offset offset
-outlinestipple bitmap
-activeoutlinestipple bitmap
-disabledoutlinestipple bitmap
-stipple bitmap
-activestipple bitmap
-disabledstipple bitmap
-state état
-tags liste_de_tags
-width largeur_du_contour
-activewidth largeur_du_contour
-disabledwidth largeur_du_contour
OBJETS DE TYPE ARC
-extent degrees
-start degrees
-style type
OBJETS DE TYPE BITMAP
-anchor position_de_l'ancre
-background couleur
-activebackground bitmap
-disabledbackground bitmap
-bitmap bitmap
-activebitmap bitmap
-disabledbitmap bitmap
-foreground couleur
-activeforeground bitmap
-disabledforeground bitmap
OBJETS DE TYPE IMAGE
-anchor position_de_l'ancre
-image nom
-activeimage nom
-disabledimage nom
OBJETS DE TYPE LIGNE
-arrow
-arrowshape forme
-capstyle style
-joinstyle style
-smooth booléen
-splinesteps nombre
OBJETS DE TYPE OVALE
OBJETS DE TYPE POLYGONE
-joinstyle style
-smooth booléen
-splinesteps nombre
OBJETS DE TYPE RECTANGLE
OBJETS DE TYPE TEXTE
-anchor position_de_l'ancre
-font nom_de_la_fonte
-justify comment
-text chaîne
-width longeur_de_la_ligne
OBJETS DE TYPE WINDOW
-anchor position_de_l'ancre
-height pixels
-width pixels
-window nom_du_canvas
DEFINITION DE NOUVEAUX TYPES D'OBJETS
BINDINGS
CREDITS
MOTS CLES

NAME

canvas - Créer et manipuler des widgets canvas

SYNOPSIS

canvas nom_du_canvas ?options?

OPTIONS STANDARDS

-background ou -bg, background, Background
-borderwidth ou -bd, borderWidth, BorderWidth
-cursor, cursor, Cursor
-highlightbackground, highlightBackground, HighlightBackground
-highlightcolor, highlightColor, HighlightColor
-highlightthickness, highlightThickness, HighlightThickness
-insertbackground, insertBackground, Foreground
-insertborderwidth, insertBorderWidth, BorderWidth
-insertofftime, insertOffTime, OffTime
-insertontime, insertOnTime, OnTime
-insertwidth, insertWidth, InsertWidth
-relief, relief, Relief
-selectbackground, selectBackground, Foreground
-selectborderwidth, selectBorderWidth, BorderWidth
-selectforeground, selectForeground, Background
-state
-takefocus, takeFocus, TakeFocus
-xscrollcommand, xScrollCommand, ScrollCommand
-yscrollcommand, yScrollCommand, ScrollCommand

OPTIONS SPECIFIQUES AU WIDGET

Ligne de commande Nom : -closeenough
Base de données Nom : closeEnough
Base de données Classe : CloseEnough
Spécifit un nombre décimal indiquant à quelle distance d'un objet, doit se trouver le pointeur de la souris, pour être considéré à l'intérieur de l'objet. La valeur par défaut est 1.0.

Ligne de commande Nom : -confine
Base de données Nom : confine
Base de données Classe : Confine
Spécifit une valeur booléenne indiquant s'il est autorisé ou non, de fixer la vue du canvas en dehors de la région définie par l'argument scrollRegion. La valeur par défaut est true (vrai), ce qui signifie que la vue est contrainte à l'intérieur de la région de scroll.

Ligne de commande Nom : -height
Base de données Nom : height
Base de données Classe : Height
Spécifit la hauteur de la fenêtre que le widget canvas doit avoir lors de sa création, sous réserve que ceci soit possible. La hauteur peut être indiquée dans n'importe laquelle des formes décrites dans las section COORDONNEES, ci-dessous.

Ligne de commande Nom : -scrollregion
Base de données Nom : scrollRegion
Base de données Classe : ScrollRegion
Spécifit une liste contenant quatre coordonnées définissant une région rectangulaire. Cette région est utilisée par la fonction de scrolling et définit la zone dans laquelle il est possible d'avoir des informations. Chacune des coordonnées peut être spécifiée dans n'importe lequel des formats décrits dans la section COORDONNEES ci-dessous.

Ligne de commande Nom : -state
Base de données Nom : state
Base de données Classe : State
Modifit l'état par défaut du canvas. Cet état peut être : normal, disabled (désactivé), ou hidden (caché). Chaque objet d'un canvas peut être dans un état qui lui est propre, et qui peut être différent de l'état par défaut. Beaucoup d'options peuvent prendre plusieurs valeurs, permettant aux objets du canvas, d'avoir un aspect particulier selon les différentes situations. Les options qui commencent avec active (actif), contrôlent l'apparence de l'objet quand le pointeur de la souris passe dessus, tandis que les options commençant par disabled (désactivé) contrôlent l'apparence quand l'état est désactivé. Les objets du canvas qui sont désactivés, ne réagissent pas aux bindings.

Ligne de commande Nom : -width
Base de données Nom : width
Base de données Classe : width
Spécifit la largeur de la fenêtre que le widget canvas doit avoir lors de sa création, sous réserve que ceci soit possible. La largeur peut être indiquée dans n'importe laquelle des formes décrites dans las section COORDONNEES, ci-dessous.

Ligne de commande Nom : -xscrollincrement
Base de données Nom : xScrollIncrement
Base de données Classe : ScrollIncrement
Spécifit l'incrément pour le scrolling horizontal, la valeur peut être indiquée dans n'importe laquelle des unités autorisées pour définir les distances à l'écran. Si cette valeur est plus grande que zéro, la vue horizontale de la fenêtre sera contrainte telle que la coordonnée en x du canvas, sur la partie gauche de la fenêtre, soit toujours un multiple pair de xScrollIncrement ; de plus, le pas du scrolling (i. e. le changement de vue quand les flèches gauche et droite de la barre de scrolling sont séléctionnées) a exactement la valeur xScrollIncrement. Si la valeur de cette option est inférieure ou égale à zéro, alors le scrolling horizontal n'est pas contraint.

Ligne de commande Nom : -yscrollincrement
Base de données Nom : yScrollIncrement
Base de données Classe : ScrollIncrement
Spécifit l'incrément pour le scrolling vertical, la valeur peut être indiquée dans n'importe laquelle des unités autorisées pour définir les distances à l'écran. Si cette valeur est plus grande que zéro, la vue verticale de la fenêtre sera contrainte telle que la coordonnée en y du canvas, sur la partie haute de la fenêtre, soit toujours un multiple pair de yScrollIncrement ; de plus, le pas du scrolling (i. e. le changement de vue quand les flèches du haut et du bas, de la barre de scrolling sont séléctionnées) a exactement la valeur yScrollIncrement. Si la valeur de cette option est inférieure ou égale à zéro, alors le scrolling vertical n'est pas contraint.

INTRODUCTION

La commande canvas crée une nouvelle fenêtre (donnée par l'argument nom_du_canvas) et en fait un widget canvas. Des options supplémentaires, décrites ci-dessus, peuvent être spécifiées sur la ligne de commande ou dans la base de données des options. Ces options permettent de configurer l'aspect du canvas, telles que ses couleurs ou le relief 3-D. La commande canvas retourne la valeur de l'argument nom_du_canvas. Au moment où la commande est invoquée, il ne doit pas exister de fenêtre du même nom, par contre le parent de la fenêtre, doit exister.

Les widgets canvas implémentent des graphiques structurés. Un canvas permet d'afficher n'importe quel nombre d'objets ; ces objets peuvent être des rectangles, des cercles, des lignes ou du texte. Ces objets peuvent être manipulés (i.e. déplacés ou re-colorés) et des commandes peuvent être associées aux objets, de la même façon que la commande bind permet de lier des actions aux widgets. Par exemple, une commande particulière peut être associée à l'événement <Button-1>, telle que la commande soit invoquée quand le boutton 1 de la souris est pressé, le curseur de la souris étant sur un objet. Ceci signifit que les objets du canvas peuvent avoir un comportement défini par les scriptes Tcl qui leur sont liés.

LISTE D'AFFICHAGE

Les objets d'un canvas ont un ordre d'affichage. Le premier objet de la liste d'affichage est affiché en premier, puis le prochain de la liste, et ainsi de suite. Les objets apparaissant en dernier peuvent cacher leur prédécesseurs. Il est parfois dit, qu'ils sont par-desssus les objets précédents. Quand un nouvel objet est créé, il est placé à la fin de la liste d'affichage, par dessus tous les autres. Certaines commandes peuvent être utilisées pour modifier l'ordre de la liste d'affichage.

Les objets fenêtre sont une exception à la règle précédente. Le gestionnaire de fenêtres sous-jacent impose qu'elles soient toujours dessinées par dessus les autres objets. De plus, l'ordre d'empilement des fenêtres n'est pas affecté par les commandes du canvas ; vous devez utiliser la commande Tk raise and lower à la place.

IDENTIFIANT DES OBJETS ET TAGS

Les objets d'un widget canvas peuvent être nommés de deux façons : par un id (identifiant) ou par un tag. Chaque objet a un identifiant unique qui lui est affecté lors de sa création. L'id d'un objet ne change jamais, d'autre part cet id n'est jamais réutilisé durant toute la durée de vie du canvas.

Chaque objet peut être associé à un certain nombre de tags. Un tag n'est rien d'autre qu'une chaîne de caractères. Cette chaîne peut être un mélange de caractères alphabétiques et numériques mais ne peut - en aucun cas - être purement numérique. Par exemple, ``x123'' est autorisé mais ``123'' est interdit. Le même tag peut être associé à différents objets. Ceci est utilisé en pratique, pour grouper les objets. Par exemple, tous les objets sélectionnés peuvent avoir le tag ``selection''.

Le tag all est implicitement associé à chaque objet du canvas ; ce tag est utilisé pour invoquer des opérations affectant tous les objets du canvas.

Le tag current est géré automatiquement par Tk; il s'applique à l'objet courant, i.e. l'objet le plus en avant dans la liste d'affichage, se trouvant sous le pointeur de la souris. Si le pointeur de la souris n'est pas dans le canvas, ou s'il ne pointe pas un objet, alors aucun objet n'a le tag current.

Quand un objet est spécifié comme argument dans une commande du canvas, si le spécifiant est un entier, alors il est supposé se référer au seul objet qui possède cet id. Si le spécifiant n'est pas un entier, alors il est supposé se référer à tous les objets du canvas qui sont associés à ce tag. Le symbol tagOùId est utilisé ci-dessous pour indiquer qu'un argument spécifie un seul objet ou un tag qui regroupe zéro ou plusieurs objets.

tagOùId peut contenir des expressions logiques de tags, utilisant les opérateurs : '&&', '||', '^' '!', et des paranthèses regroupant des sous-expressions. Par exemple :

.c find withtag {(a&&!b)||(!a&&b)}
ou de façon équivalente :
.c find withtag {a^b}
Cette dernière expression trouvera tous les objets qui ont un tag "a" ou un tag "b", mais elle rejetera les objets qui possèdent les deux tags.

Certaines commandes des widgets ne peuvent opérer que sur un seul objet à la fois ; si tagOùId est spécifié de façon à se référer à plusieurs objets, alors le comportement normal de cette commande est d'utiliser le premier (le plus bas) de ces objets dans la liste d'affichage, sur lequel la commande peut s'appliquer. Des exceptions sont à noter et sont données dans la description des commandes ci-dessous.

COORDONNEES

Toutes les coordonnées relatives aux canvas, sont stockées dans des nombres décimaux. Les coordonnées et les distances sont spécifiées en unité d'écran, ces valeurs sont aussi des nombres décimaux, optionnellement suivis de une ou plusieurs lettres. Si aucune lettre n'est ajoutée alors la distance est indiquée en nombre de pixels. Si cette lettre est m alors la distance est indiquée en millimètres mesurés sur l'écran ; s'il s'agit d'un c alors la distance est en centimètres : i signifie des pouces, et p signifie des points d'impression (1/72 de pouce). Les plus grandes valeurs de la coordonnée en y, se refèrent aux points les plus bas sur l'écran ; les plus grandes valeurs de la coordonnée en x, se refèrent aux points les plus à droite de l'écran. Les coordonnées peuvent être spécifiées par un nombre pair de paramètres, où par une seule liste de paramètres contenant un nombre pair de coordonnées x et y.

TRANSFORMATIONS

Normalement l'origine du système de coordonnées d'un canvas est le coin supérieur gauche de la fenêtre contenant le canvas. Il est possible d'ajuster cette origine en utilisant les commandes xview et yview du widget ; ceci est typiquement utilisé pour le scrolling. Il n'est pas possible d'appliquer un changement d'échelle ou une rotation, sur le système de coordonnées d'un canvas.

Individuellement, les objets peuvent être déplacés ou subir une dilatation , en utilisant des commandes décrites ci-dessous. En revanche, ils ne peuvent pas subir de rotation.

INDICES

Les objets texte supportent la notion d'index permettant d'identifier des positions particulières à l'intérieur du texte. De manière similaire, lignes et polygones supportent aussi cette notion d'index pour identifier, insérer et supprimer des sous-ensembles de leur coordonnées. Les indices sont utilisés par des commandes telles que l'insertion ou la suppression de tout un ensemble de caractères ou de coordonnées, et pour préciser la position du curseur d'insertion. Un index peut être spécifié de différentes manières, et différents types d'objets peuvent supporter différentes formes de spécification des indices. Les objets texte supportent les formes suivantes d'indexes ; si vous définissez de nouveaux objets ressemblants ou dérivés des objets texte, il sera judicieux que chacune de ces formes soit implémentée. Noter qu'il est possible de se référer à un caractère juste après le dernier de l'objet texte ; ceci est nécessaire pour permettre l'insertion de caractères à la fin du texte. Les lignes et les polygones ne supportent pas le curseur d'insertion et la sélection. Leur indices sont supposés être en nombre pair, car les coordonnées apparaissent toujours en nombre pair.

nombre
La position d'un caractère, dans le texte, est donnée par un nombre décimal. La valeur 0 se réfère au premier caractère, 1 au suivant, et ainsi de suite. Dans le cas des lignes et des polygones, si les indexes ont des valeurs impaires, ils seront automatiquement décrémentés de la valeur 1. Un nombre inférieur à zéro est traité comme s'il était nul. Pour les polygones, les nombres inférieurs à 0 ou plus grands que la longueur de la liste des coordonnées, seront ajustés en ajoutant ou soustrayant la longueur, jusqu'à obtenir un résultat entre zéro et la longueur (incluse).

end
Indique le caractère ou la coordonnée juste après la dernière de l'objet (il s'agit aussi du nombre de caractères ou de coordonnées dans l'objet).

insert
Indique le caractère juste avant la position du curseur d'insertion de l'objet. Ceci n'est pas valable pour les lignes et les polygones.

sel.first
Indique le premier caractère sélectionné dans l'objet. Si la sélection n'est pas dans l'objet, alors cette forme est illégale.

sel.last
Indique le dernier caractère sélectionné dans l'objet. Si la sélection n'est pas dans l'objet, alors cette forme est illégale.

@x,y
Indique le caractère ou la coordonnée au point repéré par x et y, où x et y sont spécifiés dans le système de coordonnées du canvas. Si x et y sont en-dehors de la zone recouverte par l'objet texte, alors elles se réfèrent au premier ou au dernier caractère de la ligne la plus proche du point donné.

MOTIFS EN POINTILLES

Beaucoup d'objets supportent la notion de contours en pointillés.

La première syntaxe possible est une liste d'entiers. Chaque élément représente le nombre de pixels d'un segment de la ligne. Seuls les segments impairs sont dessinés avec la couleur du contour. Les autres segments sont transparents.

La seconde syntaxe possible est une liste de caractères contenant seulement 5 caractères possibles [.,-_ ]. Le caractère d'espacement peut être utilisé pour agrandir l'espace entre les éléments de la ligne, et ne peut pas apparaître comme premier caractère d'une chaîne. Voici quelques exemples : -dash . = -dash {2 4} -dash - = -dash {6 4} -dash -. = -dash {6 4 2 4} -dash -.. = -dash {6 4 2 4 2 4} -dash {. } = -dash {2 8} -dash , = -dash {4 4}

La principale différence de syntaxe avec la précédente, est que la forme est conservée. Ceci signifie que toutes les valeurs de la liste dash seront multipliées par la largeur de la ligne avant l'affichage. Cette opération assure que le "." sera toujours affiché comme un point et que le "-" apparaîtra toujours comme un pointillé, indépendamment de la largeur de la ligne.

Sur les systèmes qui ne supportent qu'un nombre limité de motifs en pointillés, le motif choisi sera le plus proche de celui demandé, parmi ceux qui sont possibles. Par exemple, sur Windows, seuls les 4 premiers exemples ci-dessus sont valables. Si l'un des deux derniers motifs est demandé, c'est le premier motif qui sera affiché.

COMMANDES ASSOCIEES AU WIDGET

La commande canvas crée une nouvelle commande Tcl dont le nom est nom_du_canvas. Cette commande peut être utilisée pour invoquer différentes opérations sur le widget. Elle a la forme suivante :
nom_du_canvas option ?arg arg ...?
Option et les args déterminent le comportement exact de la commande ; Les commandes suivantes sont possibles pour le canvas widget :

nom_du_canvas addtag tag spécification_de_recherche ?arg arg ...?
Pour chaque objet vérifiant les contraintes spécifiées par spécification_de_recherche et les args, ajoute tag à la liste des tags associés à l'objet, s'il n'est pas déjà présent. Il est possible qu'aucun objet ne satisfasse les contraintes données par spécification_de_recherche et les args. Dans ce cas, la commande n'a aucun effet. Le résultat retourné par cette commande est une chaîne vide. Spécification_de_recherche et les arg's peuvent prendre les formes suivantes :

above tagOùId
Sélectionne l'objet juste après (au-dessus) celui donné par tagOùId dans la liste d'affichage.

all
Sélectionne tous les objets dans le canvas.

below tagOùId
Sélectionne les objets juste avant (dessous) celui qui est donné par tagOùId dans la liste d'affichage. Si tagOùId correspond à plus d'un objet, alors le premier (le plus bas) des objets de la liste d'affichage, est utilisé.

closest x y ?halo? ?start?
Sélectionne les objets les plus proches du point donné par x et y. Si plus d'un objet est à la distance la plus proche (i. e. deux objets recouvrent le point), alors l'objet le plus haut dans la liste d'affichage (le dernier dans la liste d'affichage), est utilisé. Si halo est spécifié, alors il doit avoir une valeur positive ou nulle. Tout objet plus proche que halo d'un point, est considéré comme recouvrant ce point. Si l'argument start est spécifié, il dénomme un objet utilisant un tag ou un id (si un tag est utilisé, il sélectionne le premier objet de la liste d'affichage correspondant à ce tag). Au lieu de sélectionner l'objet le plus proche du sommet de la liste d'affichage, cette forme sélectionne l'objet le plus proche du sommet et qui est juste en dessous de start dans la liste d'affichage ; si aucun objet n'existe, alors la sélection se comporte comme si l'argument start n'était pas spécifié.

enclosed x1 y1 x2 y2
Sélectionne tous les objets complètement contenus à l'intérieur de la région rectangulaire définie par x1, y1, x2, et y2. X1 ne doit pas être plus grand que x2, et y1 ne doit pas être plus grand que y2.

overlapping x1 y1 x2 y2
Sélectionne tous les objets qui sont complètement ou partiellement contenus dans la zone rectangulaire définie par x1, y1, x2, et y2. X1 ne doit pas être plus grand que x2, et y2 ne doit pas être plus grand que y2.

withtag tagOùId
Sélectionne tous les objets donnés par tagOùId.

nom_du_canvas bbox tagOùId ?tagOùId tagOùId ...?
Retourne une liste de 4 éléments donnant une estimation d'une zone rectangulaire contenant tous les objets dénommés par les arguments tagOùId. La liste à la forme ``x1 y1 x2 y2'', telle que tous les éléments sont contenus dans la région bornée à gauche par x1, x2 à droite, y1 au sommet, et y2 au fond. Les valeurs retournées surestiment de quelques pixels, la plus petite zone de recouvrement. Si aucun objet ne correspond aux arguments tagOùId ou si les objets peuvent être recouverts par une boite de taille nulle (i.e. ils ne sont pas affichés), alors une chaîne vide est retournée.

nom_du_canvas bind tagOùId ?séquence? ?commande?
Cette instruction associe la commande commande à tous les objets donnés par tagOùId telle que dès que la séquence d'événements séquence apparaît pour un des objets, alors la commande commande est invoquée. Cette instruction du widget canvas, est similaire à la commande bind à ceci près qu'elle opère sur les objets du canvas plutot que sur le widget en entier. Vous pouvez vous référer à la page de manuel de bind pour plus de détails sur la syntaxe de sequence et les substitutions réalisées sur commande avant qu'elle ne soit invoquée. Si tous les arguments sont spécifiés alor le nouveau binding est créé, remplacant n'importe quel autre binding correspondant à la même séquence et tagOùId (si le premier caractère de commande est ``+' alors commande s'ajoute au(x) binding(s) existant(s), au lieu de les remplacer). Dans ce cas la valeur retournée est une chaîne vide. Si commande et séquence sont omises alors l'instruction retourne une liste de toutes les séquences correpondant à des bindings définis pour tagOùId.

Les seules événements pour lesquels des bindings peuvent être spécifiés, sont ceux reliés à la souris ou au clavier (tels que Enter, Leave, ButtonPress, Motion, et KeyPress ou des événements virtuels). Le gestion des événements dans les canvas se fait sur l'objet courant défini dans la section IDENTIFIANTS DES OBJETS ET TAGS ci-dessous. Les événements Enter et Leave se déclenchent pour un objet donné quand il devient l'objet courant ou quand il cesse de l'être ; noter que ces événements sont différents des événements Enter et Leave associés aux fenêtres. Tous les événements associés à la souris sont redirigés vers l'objet courant, s'il en existe un. Les événements associés au clavier sont redirigés vers l'objet possédant le focus, s'il en existe un (voir le commande focus ci-dessous pour plus de détails). Si un événement virtuel est utilisé dans un binding, ce binding ne peut se déclencher que si l'événement virtuel est défini par un événement sous-jacent, associé à la souris ou au clavier.

Plusieurs binding peuvent correspondre à un même événement. Ceci peut arriver, par exemple, si un binding est associé à l'id d'un objet et un autre est associé avec le tag de l'objet. Dans ce cas, tous les bindings correspondant sont invoqués. Un binding associé au tag all est toujours invoqué en premier, suivi par les bindings correspondant à chaque tag de l'objet (dans l'ordre), suivi par le binding associé à l'id de l'objet. Si plusieurs bindings correspondent à un même tag, alors seul le plus spécifique est invoqué. Une commande continue dans un scripte exécuté par un binding, termine ce scripte. Une commande break termine ce scripte et saute tous les autres scriptes associés à l'événement. Ces mécanismes sont similaires à ceux de la commande bind.

Si des bindings ont été créés pour un objet canvas, par le commande bind, alors ils sont invoqués en plus des bindings créés pour les objets du canvas, par la commande bind du widget. Les bindings des objets sont invoqués avant ceux associés à la totalité du canvas.

nom_du_canvascanvasx écranx ?espacement_de_la_grille?
Etant donnée une fenêtre d'abscisse écranx dans le repère du canvas, cette commande retourne l'abscisse la plus proche correspondant à la grille du canvas. Si espacement_de_la_grille est spécifié, alors la coordonnée est arrondie au multiple le plus proche de l'unité de la grille.

nom_du_canvas canvasy écrany ?espacement_de_la_grille?
Etant donnée une fenêtre d'ordonnée écrany dans le repère du canvas, cette commande retourne l'ordonnée la plus proche correspondant à la grille du canvas. Si espacement_de_la_grille est spécifié, alors la coordonnée est arrondie au multiple le plus proche de l'unité de la grille.

nom_du_canvas cget option
Retourne la valeur courante de l'option option.

nom_du_canvas configure ?option? ?valeur? ?option valeur ...?
Questionne ou modifie la configuration des options du widget. Si aucune option n'est spécifiée, retourne une liste décrivant tous les options valables pour nom_du_canvas (voir Tk_ConfigureInfo pour des informations sur le format de la liste). Si une ou plus des paires option-value sont spécifiées, alors la commande modifie la(les) valeur(s) de(des) option(s) pour la(les) valeur(s) donnée(s) ; dans ce cas, la commande retourne une chaîne vide. Option peut avoir n'importe laquelle des valeurs acceptées par la commande canvas.

nom_du_canvas coords tagOùId ?x0 y0 ...?

nom_du_canvas coords tagOùId ?liste_de_coordonnées?
Questionne ou modifie les coordonnées qui définissent un objet. Si aucune coordonnée n'est spécifiée, cette commande retourne une liste dont les éléments sont les coordonnées de l'objet désigné par tagOùId. Si des coordonnées sont spécifiées, cette commande retourne une liste dont les éléments sont les coordonnées de l'objet désigné par tagOùId. Si les coordonnées sont spécifiées, alors elles se substituent aux coordonnées courantes de l'objet désigné. Si tagOùId désigne plusieurs objets, alors le premier de la liste d'affichage est utilisé.

nom_du_canvas create type x y ?x y ...? ?option valeur ...?

nom_du_canvas create type liste_de_coordonnées ?option valeur ...?
Crée un nouvel objet dans nom_du_canvas de type type. Le format exact des arguments figurant après type, dépend de type, mais généralement ils correspondent aux coordonnées de un ou plusieurs points, suivis par les spécifications de zéro ou plusieurs options des objets. Voir la sous-section correspondant à chaque type d'objet, pour plus d'informations sur la syntaxe de cette commande. La commande retourne l'id du nouvel objet.

nom_du_canvas dchars tagOùId premier ?dernier?
Pour chaque objet donné par tagOùId, efface les caractères, ou les coordonnées, dans le rang défini par premier et dernier, premier et dernier étant inclus. Si certains objets désignés par tagOùId ne supportent pas l'opération d'indexation, ils ignoreront la commande dchars. Les objets text interprètent premier et dernier comme étant les indices d'un caractère, les objets ligne et polygone interprètent les indices comme étant des coordonnées (sous forme d'un paire x,y). Le format des indices est décrit dans la section INDICES ci-dessus. Si dernier est omis, sa valeur par défaut est premier. Cette commande retourne une chaîne vide.

nom_du_canvas delete ?tagOùId tagOùId ...?
Supprime chacun des objets désigné par tagOùId, et retourne une chaine vide.

nom_du_canvas dtag tagOùId ?tag_à_supprimer?
Pour chacun des objets désigné par tagOùId, supprime les tags définis par tag_à_supprimer de la liste de ceux associés avec l'objet. si tag_à_supprimer est omis alors la valeur par défaut est tagOùId. Cette commande retourne une chaîne vide.

nom_du_canvas find commande_de_recherche ?arg arg ...?
Cette commande retourne une liste constituée de tous les objets vérifiant les contraintes définies par commande_de_recherche et arg arg .... Commande_de_recherche et les arg peuvent avoir n'importe laquelle des formes acceptées par la commande addtag. Les objets sont retournés dans l'ordre d'empilement, avec l'objet le plus bas de la pile, en premier.

nom_du_canvas focus ?tagOùId?
Donne le focus clavier à l'objet du canvas désigné par tagOùId. Si tagOùId désigne plusieurs objets, alors le focus est donné au premier objet de la liste d'affichage qui supporte l'insertion d'un curseur. Si tagOùId ne se réfère à aucun objet, ou si aucun des objets ne supporte l'insertion d'un curseur, alors le focus reste inchangé. Si tagOùId est une chaîne vide, alors le focus est remis à zéro i.e. aucun objet n'a le focus. Si tagOùId n'est pas spécifié alors la commande retourne l'id de l'objet qui a le focus, ou une chaîne vide si aucun objet n'a le focus.

Une fois que le focus est donné à un objet, cet objet affiche le curseur d'insertion et tous les événements clavier sont dirigés vers cet objet. Le focus associé à un objet du canvas et le focus associé aux fenêtres de l'écran (fixé avec la commande focus) sont complètement indépendants : un objet donné ne peut pas avoir le focus à moins que (a) le canvas qui lui est associé soit la fenêtre qui a le focus (b) l'objet est celui du canvas, qui a le focus. Dans la plupart des cas, il est judicieux d'utiliser la commande focus pour donner le focus à la fenêtre du canvas (si elle ne l'a pas déjà).

nom_du_canvas gettags tagOùId
Retourne une liste dont les éléments sont les tags associés avec l'objet désigné par tagOùId. Si tagOùId désigne plus d'un objet, alors les tags sont retournés dans l'ordre de la liste d'affichage. Si tagOùId ne désigne aucun objet, ou si l'objet n'est associé à aucun tag, alors une chaîne vide est retournée.

nom_du_canvas icursor tagOùId index
Fixe la position du curseur d'insertion pour le(s) objet(s) désigné(s) par tagOùId, juste avant le caractère positionné à l'index index. Si quelques ou tous les objets désignés par tagOùId ne supportent pas le curseur d'insertion, alors la commande n'a aucun effet sur eux. Voir la section INDICES ci-dessus pour une description du format de index. Note : le curseur d'insertion est seulement affiché dans l'objet qui a le focus du clavier (voir la commande focus ci-dessous), mais la position du curseur peut être fixée quand l'objet n'a pas le focus. Cette commande retourne une chaîne vide.

nom_du_canvas index tagOùId index
Cette commande retourne un nombre décimal donnant l'index numérique correpondant à index pour le widget associé à tagOùId. Index donne une description textuelle de la position désirée, la syntaxe est décrite dans la section INDICES ci-dessus. Les objets text interprètent index comme étant l'index d'un caractère, les objets line et polygone l'interprètent comme étant une coordonnée (i.e. un couple x,y). La valeur retournée est comprise entre 0 et le nombre total de caractères ; s'il s'agit d'une coordonnée, elle appartient nécessairement à l'objet. Si tagOùId désigne plusieurs objets, alors les indexes affichés correspondent aux widgets acceptant l'opération d'indexation (l'ordre de la liste est celui de la liste d'affichage).

nom_du_canvas insert tagOùId avant_ceci chaîne
Pour chacun des objets désignés par tagOùId, si l'objet admet l'insertion de texte ou d'une coordonnée, alors la chaîne est insérée dans le texte de l'objet juste avant le caractère, ou la coordonnée, d'index avant_ceci. Les objets text interprètent avant_ceci comme étant l'index d'un caractère, les objets line et polygone l'interprète comme étant l'index d'une coordonnée (i.e. un couple x,y). Pour les objets line et polygone la chaîne doit être une coordonnée valide. Voir la section INDICES ci-dessus pour plus d'informations sur les formes possibles de avant_ceci. Cette commande retourne une chaîne vide.

nom_du_canvas itemcget tagOùId option
Retourne la valeur courante de l'option de configuration de l'objet désigné par tagOùId. Cette commande est similaire à la commande cget, excepté qu'elle s'applique à un objet particulier plutot qu'au widget dans sa totalité. Option peut avoir n'importe laquelle des valeurs acceptées par la commande create du widget. Si tagOùId est un tag désignant plus d'un objet, le premier (le plus bas dans la liste d'affichage) est utilisé.

nom_du_canvas itemconfigure tagOùId ?option? ?valeur? ?option valeur ...?
Cette commande est similaire à la commande configure, à ceci près qu'elle modifie une option spécifique pour tous les objets désignés par tagOùId au lieu de modifier les options pour la totalité du widget canvas. Si aucune option n'est spécifiée, la commande retourne une liste décrivant tous les options valables pour le premier objet donné par tagOùId (voir Tk_ConfigureInfo pour plus d'informations sur le format de cette liste). Si option est spécifiée sans aucune valeur associée, alors la commande retourne une liste décrivant cette option (cette liste est identique à la sous-liste correspondant à l'option retournée par la commande si aucune option n'est spécifiée). Si au moins une paire option-value est spécifiée, alors la commande modifie l'(les) option(s) pour la(les) valeur(s) donnée(s), pour chacun des objets désignés par tagOùId ; dans ce cas la commande retourne une chaîne vide. Les option et valeur sont les mêmes que celles autorisées par la commande create ; voir les sections décrivant les objets correspondants pour plus de détails sur les options possibles.

nom_du_canvas lower tagOùId ?avant_ceci?
Déplace tous les objets désignés par tagOùId à une nouvelle position dans la liste d'affichage, juste avant celle de l'objet désigné par avant_ceci. Si tagOùId désigne plus d'un objet, ils sont tous déplacés en conservant leur ordre relatif. Avant_ceci est un tag ou un id ; s'il désigne plus d'un objet, alors le premier (le plus bas dans la liste d'affichage) est utilisé. Note : cette commande n'a pas d'effet sur les objets de type fenêtre. Les objets de type fenêtre cachent toujours les objets des autres types, et l'ordre d'empilement des objets de type fenêtre est déterminé par les commandes raise et lower, et non par les commandes raise et lower du widget canvas. Cette commande retourne une chaîne vide.

nom_du_canvas move tagOùId xAjouté yAjouté
Déplace chacun des objets désigné par tagOùId dans l'espace des coordonnées du canvas, en ajoutant xAjouté et yAjouté, respectivement à l'abscisse et à l'ordonnée de chacun des points associés à l'objet. Cette commande retourne une chaîne vide.

nom_du_canvas postscript ?option valeur option valeur ...?
Génère une représentation Postscript pour une partie ou la totalité du canvas. Si l'option -file est spécifiée, alors le Postcript est écrit dans un ficher et une chaîne vide est retournée par la commande. Si l'interpréteur auquel appartient le canvas, est marqué comme safe, l'opération échouera car un interpréteur safe n'est pas autorisé à écrire un fichier. Si l'option -channel est spécifiée, l'argument indique le nom du canal déjà ouvert pour l'écriture. Le Postscript est écrit sur ce channel, et -à la fin de l'opération- le channel est laissé ouvert pour d'autres opérations d'écriture. Le Postscript généré est du Postscript encapsulé utilisant la version 3.0 de la Convention des Documents Structurés (Document Structuring Conventions). Note : Par défaut, le Postscript ne contient que les informations qui apparaissent dans la fenêtre du canvas. Si le canvas vient juste d'être créé, il a une taille initiale de 1x1 pixel, ainsi rien n'apparaitra dans le Postscript. Pour contourner ce problème, il est possible d'invoquer la commande update pour attendre que la fenêre du canvas atteigne sa taille finale. Il est aussi possible d'utiliser les options -width et -height pour spécifier la surface du canvas à imprimer. Les paires option-valeur fournissent des informations supplémentaires pour contrôler la génération du Postscript. Les opérations suivantes sont supportées :

-colormap nom_de_variable
Nom_de_variable doit être le nom d'un tableau qui contient la palette de couleur à utiliser pour le Postscript. Chaque élément de nom_de_variable consiste en un code Postscript qui détermine une couleur particulière (i.e. ``1.0 1.0 0.0 strgbcolor''). Lors de la génération du Postscript, Quand des informations sur les couleurs sont nécessaires, Tk contrôle s'il existe un élément de nom_de_variable de même nom que la couleur. Si cette option n'a pas été spécifiée, ou s'il n'existe pas d'entrée dans nom_de_variable pour une couleur donnée, alors Tk utilise les intensités de rouge, vert, et bleu des couleurs de X-Windows.

-colormode mode
Spécifie comment sortir les informations sur la couleur. Mode peut prendre les valeurs color (pour une sortie couleur), gray (convertit toutes les couleurs dans leur équivalent sur une échelle des gris) ou mono (convertit toutes les couleurs en noir et blanc).

-file nom_de_fichier
Spécifie le nom du fichier dans lequel écrire le Postscript. Si cette option n'est pas spécifiée alors le Postscript est retourné comme résultat de la commande au lieu d'être envoyé dans un fichier.

-fontmap nom_de_variable
Nom_de_variable doit être le nom d'un tableau qui spécifie la carte des fontes à utiliser pour le Postscript. Chaque élément de nom_de_variable consiste en une liste Tcl composée de deux éléments, qui correspondent au nom et à la taille de point de la fonte Postscript. Lors de la génération du Postscript, si une commande concernant une fonte particulière est rencontrée, Tk contrôle si nom_de_variable contient un élément de même nom que la fonte. Si un tel élément existe, alors les informations sur la fonte, contenues dans le tableau, sont utilisées. Autrement Tk tente de deviner la fonte Postscript à utiliser. Généralement Tk n'identifie que des fontes bien connues telles que Times, Helvetica et Courier, et seulement si les noms des fontes X n'omettent aucun trait d'union entre les tailles de points. Par exemple, -*-Courier-Bold-R-Normal--*-120-* fonctionnera tandis que *Courier-Bold-R-Normal*120* ne fonctionnera pas ; Tk a besoin des traits d'union pour pouvoir parser le nom de la fonte.

-height taille
Spécifie la hauteur de la surface du canvas à imprimer. La valeur par défaut est la hauteur de la fenêtre du canvas.

-pageanchor ancre
Spécifie quel point de la zone du canvas à imprimer doit apparaître sur le point de positionnement de la page (celui-ci est défini par les options -pagex et -pagey). Par exemple, -pageanchor n signifit que le centre de la partie supérieure de la zone du canvas devant être imprimée, doit être sur le point de positionnement. La valeur par défaut est center.

-pageheight taille
Indique que le Postscript doit être dilaté à la fois en x et en y tel que la zone imprimée est la hauteur taille sur la page Postscript. Taille est une valeur décimale suivie de c pour des centimètres, i pour des pouces, m pour des millimètres, p ou rien du tout pour des points d'impression (1/72 de pouce). La hauteur par défaut est celle de la zone telle qu'elle apparait à l'écran. Si les options -pageheight et -pagewidth sont toutes deux spécifiées, alors le facteur d'échelle indiqué par -pagewidth est utilisé (la dilation selon des valeurs différentes pour les deux axes, n'est pas implémentée).

-pagewidth taille
Indique que le Postscript doit être dilaté à la fois en x et en y tel que la zone imprimée est la largeur taille sur la page Postscript. La largeur par défaut est celle de la zone telle qu'elle apparait à l'écran. Taille a la même forme que pour l'option -pageheight. Si les options -pageheight et -pagewidth sont toutes deux spécifiées, alors le facteur d'échelle indiqué par -pagewidth est utilisé (la dilation selon des valeurs différentes pour les deux axes, n'est pas implémentée).

-pagex position
Position donne l'abscisse du point de positionnement de la page Postscript. Cette valeur peut prendre n'importe laquelle des formes autorisées par l'option -pageheight. A utiliser en conjonction avec les options -pagey et -pageanchor pour déterminer où la zone à imprimer apparait sur la page Postscript. La valeur par défaut correspond au centre de la page.

-pagey position
Position donne l'ordonnée du point de positionnement de la page Postscript. Cette valeur peut prendre n'importe laquelle des formes autorisées par l'option -pageheight. A utiliser en conjonction avec les options -pagex et -pageanchor pour déterminer où la zone à imprimer apparait sur la page Postscript. La valeur par défaut correspond au centre de la page.

-rotate booléen
Booléen spécifie si la zone à imprimer doit être tournée de 90 degrés. Si la zone n'est pas tournée, l'axe des x correspond au coté le plus court de la page (orientation ``portrait'') ; si la zone est tournée, l'axe des x correspond au côté le plus long de la page (orientation ``paysage''). La valeur par défaut est non-tourné.

-width taille
Spécifie la largeur de la zone à imprimer. La valeur par défaut est la largeur de la fenêtre du canvas.

-x position
Spécifie la coordonnée en x de l'arrête gauche de la zone du canvas à imprimer, dans le système de coordonnées du canvas, et non dans celui de la fenêtre. La valeur par défaut est la coordonnée de l'arrête gauche de la fenêtre.

-y position
Spécifie la coordonnée en y de l'arrête haute de la zone du canvas à imprimer, dans le système de coordonnées du canvas, et non dans celui de la fenêtre. La valeur par défaut est la coordonnée de l'arrête haute de la fenêtre.

nom_du_canvas raise tagOùId ?au_dessus_de_ceci?
Déplace tous les objets désignés par tagOùId vers une nouvelle position dans la liste d'affichage, juste après l'objet définit par au_dessus_de_ceci. Si tagOùId désigne plusieurs objets, alors ils sont déplacés tels que leur ordre relatif soit conservé. Au_dessus_de_ceci est un tag ou un id ; s'il désigne plusieurs objets, c'est le dernier de la liste d'affichage qui est utilisé pour déterminer la nouvelle position des objets déplacés. Note : cette commande n'a aucun effet sur les objets de type fenêtre. Les objets de type fenêtre cachent toujours les objets des autres types, et l'ordre d'empilement des objets de type fenêtre est déterminé par les commandes raise et lower, et non par les commandes raise et lower du widget canvas. Cette commande retourne une chaîne vide.

nom_du_canvas scale tagOùId xOrigine yOrigine xCoefficient yCoefficient
Dilate tous les objets désignés par tagOùId dans le système de coordonnées du canvas. XOrigines et yOrigine définissent l'origine pour l'opération de dilatation, xCoefficient et yCoefficient définissent les coefficients de dilatation, respectivement le long de l'abscisse et de l'ordonnée (un facteur de dilatation égale à 1.0 implique qu'il n'y pas de dilatation le long d'un axe). Pour chacun des points de chaque objet, la coordonnée en x est modifiée telle que la distance de xOrigine soit multipliée par le facteur xCoefficient. De même, pour chacun des points de chaque objet, la coordonnée en y est modifiée telle que la distance de yOrigine soit multipliée par le facteur yCoefficient. Cette commande retourne une chaîne vide.

nom_du_canvas scan option args
Cette commande est utilisée pour implémenter le balayage de tout un canvas. Elle a deux formes, selon la valeur de l'option :

nom_du_canvas scan mark x y
Enregistre x et y ainsi que la vue courante du canvas ; cette commande est utilisée en conjonction avec la commande scan dragto (voir ci-dessous). Typiquement, cette commande est associée avec l'action de presser un bouton de la souris, dans le widget ; x et y sont alors les coordonnées du pointeur de la souris. Cette commande retourne une chaîne vide.

nom_du_canvas scan dragto x y ?gain?.
Cette commande calcule la différence entre les valeurs des arguments x et y (lesquels sont typiquements les coordonnées du pointeur de la souris), et les valeurs de x et y fixées par la dernière commande scan mark (voir ci-dessus). La vue est alors ajustée de gain fois la différence entre les coordonnées. La valeur par défaut de gain est 10. Cette commande est typiquement associée à l'événement ``déplacer la souris'', pour produire l'effet de tirer le canvas à travers la fenêtre. La commande retourne une chaîne vide.

nom_du_canvas select option ?tagOùId arg?
Agit sur la sélection de une ou plusieurs façons, selon la valeur de l'option. La commande peut prendre n'importe laquelle des formes décrites ci-dessous. Dans toutes les descriptions ci-dessous, tagOùId doit désigner un objet qui supporte les opérations d'indexation et de sélection ; si le tag désigne plusieurs objets, alors le premier qui supporte ces opérations, est utilisé. Index est une description textuelle de la position dans tagOùId, comme décrit dans la section INDICES ci-dessus.

pathName select adjust tagOùId index
Dans le widget désigné par tagOùId, localise la fin de la sélection la plus proche du caractère donnée par index, et ajuste la sélection telle qu'elle se finisse à l'index index (i.e. incluant mais n'allant pas au-delà de index). L'autre fin de sélection est utilisée comme point d'ancrage pour une future commande select to. La commande retourne une chaîne vide.

nom_du_canvas select clear
Vide la sélection si elle est dans ce widget. Si la sélection n'est pas dans ce widget, alors la commande n'a aucun effet. Cette commande retourne une chaîne vide.

nom_du_canvas select from tagOùId index
Fixe le point d'ancrage de la sélection pour le widget, tel qu'il soit juste avant le caractère localisé à la position index, pour l'objet désigné par tagOùId. Cette commande ne modifie pas la sélection ; elle fixe juste la fin de la sélection pour une future commande select to. Cette commande retourne une chaîne vide.

nom_du_canvas select item
Retourne l'id de l'objet sélectionné, si la sélection est dans l'objet du canvas. Si la sélection n'est pas dans le canvas, alors une chaîne vide est retournée.

nom_du_canvas select to tagOùId index
Fixe la sélection telle qu'elle corresponde aux caractères de tagOùId compris entre le point d'ancrage et index. La nouvelle sélection inclut le caractère donné par index ; elle inclut le caractère donné par le point d'ancrage, seulement si index est plus grand ou égal à l'index du point d'ancrage. Le point d'ancrage est déterminé par la commande select adjust ou select from la plus récente. Si le point d'ancrage de la sélection n'est pas dans tagOùId, alors il est défini comme étant celui donné par index. Cette commande retourne une chaîne vide.

nom_du_canvas type tagOùId
Retourne le type de l'objet donné par tagOùId, par exemple rectangle ou text. Si tagOùId désigne plus d'un objet, alors le type du premier objet de la liste d'affichage est retourné. Si tagOùId ne désigne aucun objet, alors une chaîne vide est retournée.

nom_du_canvas xview ?args?
Cette commande est utilisée pour questionner ou modifier la position horizontale des informations affichées dans la fenêtre du canvas. Elle peut prendre les formes suivantes :

nom_du_canvas xview
Retourne une liste de deux éléments. Chaque élément est un nombre réel compris entre 0 et 1 ; chacun d'eux décrit le pan horizontal visible dans la fenêtre. Par exemple, si le premier élément est 0.2 et le second 0.6, 20% de la surface du canvas (comme défini par l'option -scrollregion) est hors de l'écran par la gauche, et 40% du centre est visible. Ce sont les mêmes valeurs que celles passées via l'option -xscrollcommande.

nom_du_canvas xview moveto fraction
Ajuste la vue dans la fenêtre telle que la fraction de la largeur totale du canvas, soit hors de l'écran à gauche. Fraction doit être compris entre 0 et 1.

nom_du_canvas xview scroll nombre quoi
Cette commande déplace la vue de la fenêtre vers la gauche ou la droite selon les valeurs de nombre et quoi. Nombre doit être un entier. Quoi peut être soit units ou pages ou une abréviation de ces deux valeurs. Si quoi a la valeur units, la vue est ajustée vers la gauche ou la droite en unités de l'option xScrollIncrement, si la valeur est plus grande que zéro, sinon en unités d'un dixième de la largeur de la fenêtre. Si quoi a la valeur pages alors la vue est ajustée en unités de neuf dixièmes de la hauteur de la fenêtre. Si nombre est négatif alors les informations plus loin que la gauche deviennent visibles ; si nombre est positif les information plus loin que la droite deviennent visibles.

nom_du_canvas yview ?args?
Cette commande est utilisée pour questionner ou modifier la position verticale de l'information affichée dans la fenêtre du canvas. Elle peut prendre les formes suivantes :

nom_du_canvas xview
Retourne une liste de deux éléments. Chaque élément est un nombre réel compris entre 0 et 1 ; chacun d'eux décrit le pan vertical visible dans la fenêtre. Par exemple, si le premier élément est 0.6 et le second 1, 40% de la surface inférieure du canvas (comme défini par l'option -scrollregion) est visible. Ce sont les mêmes valeurs que celles passées via l'option -yscrollcommande.

nom_du_canvas yview moveto fraction
Ajuste la vue dans la fenêtre telle que la fraction de la largeur totale du canvas, soit hors de l'écran vers le haut. Fraction doit être compris entre 0 et 1.

nom_du_canvas yview scroll nombre quoi
Cette commande déplace la vue de la fenêtre vers le haut ou le bas selon les valeurs de nombre et quoi. Nombre doit être un entier. Quoi peut être soit units ou pages ou une abréviation de ces deux valeurs. Si quoi a la valeur units, la vue est ajustée vers le haut ou le bas en unités de l'option yScrollIncrement, si la valeur est plus grande que zéro, sinon en unités d'un dixième de la hauteur de la fenêtre. Si quoi a la valeur pages alors la vue est ajustée en unités de neuf dixièmes de la hauteur de la fenêtre. Si nombre est négatif alors les informations plus loin que le haut deviennent visibles ; si nombre est positif les information plus loin que le bas deviennent visibles.

PRESENTATION DES DIFFERENTS TYPES D'OBJETS

Les sections ci-dessous décrivent les différents types d'objets supportés par le widget canvas. Chaque type d'objet est caractérisé par deux choses : premièrement, la forme de la commande create utilisée pour créer une instance de ce type ; et deuxièmement, l'ensemble des options de configuration pour les objets de ce type, lesquelles doivent être utilisées avec les commandes create ou itemconfigure du widget. La plupart des objets ne supportent pas les opérations d'indexation ou de sélection, ainsi que les commandes qui leur sont reliées telles que index et insert. Les objets qui supportent ces opérations sont les objets de type text, line ou polygon. Pour les objets de type line et polygon, les opérations d'indexation sont utilisées pour manipuler les coordonnées de l'objet.

OPTIONS COMMUNES A TOUS LES OBJETS

Certains objets partagent un ensemble commun d'options. Ces options sont décrites ici, elles sont valides pour tous les types d'objets.

-dash pattern

-activedash pattern

-disableddash pattern
Cette option spécifie les motifs en pointillés pour les différents états d'un objet : normal, actif et désactivé. Pattern peut avoir n'importe laquelle des formes acceptées par Tk_GetDash. Si l'option -dash n'est pas précisée, alors le motif par défaut est une ligne solide. Voir "MOTIFS EN POINTILLES" pour plus d'informations.

-dashoffset offset
L'offset en pixels, au début du motif défini par l'option -dash. -dashoffset est ignoré si l'option -dash n'est pas utilisée. L'offset peut avoir n'importe laquelle des formes décrites dans la section COORDONNEES ci-dessus.

-fill couleur

-activefill couleur

-disabledfill couleur
Spécifie la couleur utilisée pour remplir la surface de l'objet pour ses différents états possibles : normal, actif, et désactivé. Couleur peut avoir n'importe laquelle des formes acceptées par Tk_GetColor. Si couleur est une chaîne vide (valeur par défaut), alors l'objet n'est pas rempli. Pour les objets de type line, cette option spécifie la couleur de la ligne. Pour les objets de type text, cette option spécifie la couleur du texte.

-outline couleur

-activeoutline couleur

-disabledoutline couleur
Cette option spécifie la couleur qui doit être utilisée pour dessiner le contour d'un objet pour ses différents états possibles : normal, actif, et désactivé. Couleur peut avoir n'importe laquelle des formes acceptées par Tk_GetColor. La valeur par défaut de l'option est black (noir). Si couleur est une chaîne vide, alors le contour n'est pas dessiné.

-offset offset
Spécifie l'offset du motif en pointillés. La valeur de l'offset peut être donnée sous la forme x,y ou en précisant une face, telle que n, ne, e, se, s, sw, w ou center (centre). Dans le premier cas, l'origine est celle du toplevel de la fenêtre courante. Pour le canvas et les objets du canvas, l'origine est celle du canvas, mais ajouter un # devant la paire de coordonnées, indique qu'il faut utiliser l'origine du toplevel. Pour les objets canvas, l'option -offset est aussi utilisée pour les motifs en pointillés. Pour les objets de type line (ligne) et polygon (polygone), il est possible de spécifier un index comme argument, qui connecte l'origine du motif en pointillés à un des points de la ligne ou du polygone.

-outlinestipple bitmap

-activeoutlinestipple bitmap

-disabledoutlinestipple bitmap
Cette option spécifie le motif en pointillés qui doit être utilisé pour dessiner le contour d'un objet pour les différents états possibles : normal, actif, et désactivé. Indique que le contour de l'objet doit être dessiné avec un motif en pointillés ; bitmap spécifie le motif à utiliser, n'importe laquelle des formes acceptées par Tk_GetBitmap peut être utilisée. Si l'option -outline n'a pas été spécifiée, alors cette option n'a aucun effet. Si bitmap est une chaîne vide (la valeur par défaut), alors le contour est une ligne solide.

-stipple bitmap

-activestipple bitmap

-disabledstipple bitmap
Cette option spécifie le motif en pointillés qui doit être utilisé pour remplir l'objet dans ses différents états possibles : normal, actif et désactivé. Bitmap spécifie le motif à utiliser, n'importe laquelle des formes acceptées par Tk_GetBitmap peut être utilisée. Si l'option -fill n'a pas été spécifiée, alors cette option n'a aucun effet. Si bitmap est une chaîne vide (la valeur par défaut), alors le remplissage est uniforme, sans motif. Pour les objets de type text, cette option modifit l'affichage du texte.

-state state
Cette option permet à un objet d'être dans un état différent de l'état global du canvas, défini par l'option state. Les valeurs possibles sont : normal, disabled (désactivé), hidden (caché).

-tags liste_de_tags
Spécifie un ensemble de tags à appliquer sur un objet. Liste_de_tags est une liste de tags, qui remplace les tags courants de l'objet. Liste_de_tags peut être une liste vide.

-width largeur_du_contour

-activewidth largeur_du_contour

-disabledwidth largeur_du_contour
Spécifie la largeur du contour de l'objet pour ses différents états possibles : normal, actif, et désactivé. Largeur_du_contour peut prendre n'importe laquelle des formes décrites dans la section COORDONNEES ci-dessus. Si l'option -outline est une chaîne vide, alors l'option n'a aucun effet. La valeur par défaut est 1.0. Pour les objets de type arc, le contour est dessiné, centré sur les arrêtes de la région définie par l'arc.

OBJETS DE TYPE ARC

Un arc est la section d'un ovale délimitée par deux angles (spécifiés par les options -start et extent) et affichée dans une des différentes façons définie par l'option -style. Les arcs sont créés grace aux commandes suivantes :
nom_du_canvas create arc x1 y1 x2 y2 ?option valeur option valeur ...?
nom_du_canvas create arc liste_de_coordonnées ?option valeur option valeur ...?
Les arguments x1, y1, x2 et y2 ou liste_de_coordonnées donnent les coordonnées des deux coins diagonalement opposés de la région rectangulaire enfermant l'oval définissant l'arc. Après les coordonnées, il peut suivre un certain nombre de paires option-value, chacune d'elles correspondant aux options de configuration de l'objet. Les mêmes paires option-valeur peuvent être utilisées avec la commande itemconfigure du widget, pour changer sa configuration.
Les options standards suivantes sont supportées par les objets de type arc :
-dash
-activedash
-disableddash
-dashoffset
-fill
-activefill
-disabledfill
-offset
-outline
-activeoutline
-disabledoutline
-outlinestipple
-activeoutlinestipple
-disabledoutlinestipple
-stipple
-activestipple
-disabledstipple
-state
-tags
-width
-activewidth
-disabledwidth
Plus les options particulières aux arcs :

-extent degrés
Spécifie l'extension de l'angle d'ouverture de l'arc. Cette extension est indiquée en degrés comptés dans le sens horaire, à partir de l'angle de départ donné par l'option -start. La valeur degrés peut être négative. Si la valeur est plus grande que 360 ou inférieure à -360, la valeur module 360 est alors utilisée.

-start degrés
Spécifie l'angle de départ de l'arc. Degrés est donné en degrés mesurés dans le sens horaire à partir de la position 3 heures. Cette valeur peut être positive ou négative.

-style type
Indique comment l'arc doit être dessiné. Si type est pieslice (la valeur par défaut) alors la région associée à l'arc est délimitée par le périmètre de l'ovale plus deux segments droits, chacun d'eux reliant le centre aux deux extrémités de l'arc. Si type est chord alors la région associée à l'arc est une section du périmètre de l'ovale plus un segment connectant les deux extrémités de l'arc. Si type est arc alors la région associée à l'arc se réduit au périmètre de l'ovale. Dans ce dernier cas, l'option -fill est ignorée.

OBJETS BITMAP

Les objets de type bitmap apparaissent à l'affichage comme des images composées de deux couleurs, plan avant et arrière plan. Les bitmaps sont créés par les commandes suivantes :
pathName create bitmap x y ?option valeur option valeur ...?
pathName create bitmap liste_des_coordonnées ?option valeur option valeur ...?
Les arguments x et y ou liste_de_coordonnées spécifient les coordonnées d'un point utilisé pour positionner le bitmap (voir l'option -anchor ci-dessous pour plus d'informations sur la façon dont sont affichés les bitmaps). Après les coordonnées, peuvent suivre différentes paires option-valeur, chacune d'elle appartient à l'ensemble des options de configuration de l'objet. Les mêmes paires option-valeur peuvent être utilisées avec la commande itemconfigure du widget pour modifier la configuration de l'objet.
Les options standards suivantes sont supportées par les objets de type bitmap :
-state
-tags
Les options supplémentaires suivantes sont supportées par les objets de type bitmap :

-anchor position_de_l'ancre
position_de_l'ancre indique comment positionner le bitmap relativement aux points de positionnement de l'objet ; il peut avoir n'importe laquelle des formes acceptées par Tk_GetAnchor. Par exemple, si position_de_l'ancre est center alors le bitmap est centré sur le point ; si position_de_l'ancre est n alors le bitmap sera dessiné tel que le centre de son sommet soit sur ce point. La valeur par défaut de l'option est center.

-background couleur

-activebackground bitmap

-disabledbackground bitmap
Spécifie la couleur utilisée pour chaque pixel du bitmap, de valeur '0', pour les différents états possibles : normal, actif, et désactivé. Couleur peut avoir n'importe laquelle des formes acceptées par Tk_GetColor. Si cette option n'est pas spécifiée, ou si elle est spécifiée par une chaîne vide, alors les pixels de valeur '0' ne sont pas affichés ; ce qui produit un effet de transparence.

-bitmap bitmap

-activebitmap bitmap

-disabledbitmap bitmap
Spécifie les bitmaps à afficher dans l'objets pour ses différents états possibles : normal, actif et désactivé. Bitmap peut avoir n'importe laquelle des formes acceptées par Tk_GetBitmap.

-foreground couleur

-activeforeground bitmap

-disabledforeground bitmap
Spécifie la couleur à utiliser pour chaque pixel du bitmap, de valeur '1', pour les différents états possibles : normal, actif, désactivé. Couleur peut avoir n'importe laquelle des formes acceptées par Tk_GetColor et la valeur par défaut est black (noir).

OBJETS DE TYPE IMAGE

Les objets de type image sont utilisés pour afficher des images sur le canvas. Les images sont créées par les commandes suivantes :
nom_du_canvas create image x y ?option valeur option valeur ...?
nom_du_canvas create image liste_de_coordonnées ?option valeur option valeur ...?
Les arguments x et y ou liste_de_coordonnées spécifient les coordonnées d'un point utilisé pour positionner l'image (voir l'option -anchor ci-dessous pour plus d'informations). Après les coordonnées, n'importe quel nombre de paires option-valeur peuvent suivre, chacune d'elle appartenant à l'ensemble des options de configuration de l'objet. Les mêmes paires option-valeur peuvent être utilisées avec la commande itemconfigure du widget, pour modifier sa configuration.
Les options standards suivantes sont supportées par les objets de type image :
-state
-tags
Les options supplémentaires suivantes sont supportées par les objets de type image :

-anchor position_de_l'ancre
Position_de_l'ancre indique comment positionner l'image relativement au point de positionnement de l'objet ; il peut prendre n'importe laquelle des formes acceptées par Tk_GetAnchor. Par exemple, si position_de_l'ancre est center alors l'image est centrée sur le point ; si position_de_l'ancre est n alors l'image est dessinée telle que le centre du sommet soit sur ce point. La valeur par défaut de l'option est center.

-image nom

-activeimage nom

-disabledimage nom
Spécifie le nom des images à afficher dans l'objet, pour ses différents états possibles : normal, actif, et désactivé. Cette image doit avoir été créée précedemment par la commande image create.

LES OBJETS DE TYPE LIGNE

Les objets de type line (ligne) correspondent à un ou plusieurs segments ou courbes connectés entre eux. Les objets de type line supportent les opérations d'indexation sur les coordonnées, appelées par les commandes : dchars, index, insert. Les lignes sont créées par les commandes suivantes :
nom_du_canvas create line x1 y1... xn yn ?option valeur option valeur ...?
nom_du_canvas create line liste_de_coordonnees ?option valeur option valeur ...?
Les arguments x1...yn ou liste_de_coordonnees donnent les coordonnées de la série de points qui décrivent les segments de la ligne. Après les coordonnées, il peut y avoir un nombre quelconque de paires option-valeur, appartenant à l'ensemble des options de configuration de l'objet. Les mêmes paires option-valeur peuvent être utilisées avec la commande itemconfigure du widget, pour changer la configuration de l'objet.
Les options standard suivantes sont supportées par les objets de type ligne :
-dash
-activedash
-disableddash
-dashoffset
-fill
-activefill
-disabledfill
-stipple
-activestipple
-disabledstipple
-state
-tags
-width
-activewidth
-disabledwidth
Les options supplémentaires suivantes sont supportées par les objets de type ligne :

-arrow
Indique si une flèche doit ou non être dessinée à une ou aux deux extrêmités de la ligne. doit avoir une des valeurs suivantes : none (pas de flèche), first (pour une flèche sur le premier point de la ligne), last (pour une flèche sur le dernier point de la ligne), both (pour une flèche aux deux extrêmités). La valeur par défaut de l'option est none.

-arrowshape forme
Cette option indique comment les têtes de flèche doivent être dessinées. L'argument forme doit être une liste de trois éléments, chacun spécifiant une distance, dans n'importe laquelle des formes décrites dans la section COORDONNEES ci-dessus. Le premier élément de la liste donne la distance le long de la ligne reliant la base à la pointe de la flèche. Le second élément donne la distance le long de la ligne reliant la pointe de la flèche à l'une de ces deux autres extrêmités, et le troisième est la distance le long de la ligne reliant ces deux dernières extrêmités. Si cette option n'est pas spécifiée alors Tk utilise une forme ``raisonnable''.

-capstyle style
Spécifie la façon dont les extrêmités de la ligne doivent être dessinées. Style peut avoir n'importe laquelle des formes acceptées par Tk_GetCapStyle (butt, projecting, ou round). Cette option est ignorée par les extrêmités possédant une flèche.

-joinstyle style
Spécifie comment dessiner les jointures entre les segments de la ligne. Style peut avoir n'importe laquelle des formes acceptées par Tk_GetCapStyle (bevel, miter, round). Si cette option n'est pas spécifiée, la valeur par défaut est miter. Si la ligne ne contient que deux points, cette option est ignorée.

-smooth booléen
Booléen doit avoir une des valeurs acceptées par Tk_GetBoolean. Indique si la ligne doit être tracée comme une courbe. Si c'est le cas, les points sont reliées par des splines paraboliques : un spline est dessiné entre le premier et le second point, un autre entre le second et le troisième point, et ainsi de suite. Des segments droits peuvent être tracés à l'intérieur de la courbe en dupliquant les extrêmités du segment voulu.

-splinesteps nombre
Spécifie le degré de lissage désiré pour les courbes : chaque spline est approximé par nombre segments. Cette option est ignorée à moins que l'option -smooth est la valeur true (vrai).

OBJETS DE TYPE OVALE

Les objets de type oval sont des régions de forme circulaire ou ovale. Chaque ovale a un contour ou/et un remplissage. Les ovales sont créés par les commandes suivantes :
nom_du_canvas create oval x1 y1 x2 y2 ?option valeur option valeur ...?
nom_du_canvas create oval liste_de_coordonnées ?option valeur option valeur ...?
Les arguments x1, y1, x2, et y2 ou liste_de_coordonnées donnent les coordonnées de deux coins diagonalement opposés de la région rectangulaire enfermant l'ovale. L'ovale inclut les bords supérieur et gauche du rectangle mais pas les bords inférieur et droit. Si la région est carrée alors l'ovale résultant est un cercle ; autrement, il a une forme allongée. Après les coordonnées, il peut y avoir un nombre quelconque de paires option-valeur, chacune appartient à l'ensemble des options de configuration de l'objet. Les mêmes paires option-valeur peuvent être utilisées avec la commande itemconfigure du widget, afin de changer sa configuration.
Les options standards suivantes sont supportées par les objets de type ovale :
-dash
-activedash
-disableddash
-dashoffset
-fill
-activefill
-disabledfill
-offset
-outline
-activeoutline
-disabledoutline
-outlinestipple
-activeoutlinestipple
-disabledoutlinestipple
-stipple
-activestipple
-disabledstipple
-state
-tags
-width
-activewidth
-disabledwidth

OBJETS DE TYPE POLYGONE

Les objets de type polygone supportent les opérations d'indexation utilisant les commandes du widget canvas : dchars, index, insert. Les polygones sont créés par les commandes suivantes :
nom_du_canvas create polygon x1 y1 ... xn yn ?option valeur option valeur ...?
nom_du_canvas create polygon liste_de_coordonnées ?option valeur option valeur ...?
Les arguments x1...yn ou liste_de_coordonnées spécifient les coordonnées d'au moins 3 points définissant le polygone. Le premier point n'a pas à être répété à la fin de la séquence, pour fermer le polygone ; Tk relie automatiquement le dernier point et le premier. Après les coordonnées, il peut y avoir un nombre quelconque de paire option-valeur, chacune d'elle appartenant à l'ensemble des options de configuration de l'objet. Les mêmes paires option-valeur peuvent être utilisées avec la commande itemconfigure du widget, pour modifier sa configuration.
Les options standard suivantes sont supportées par les objets de type polygone :
-dash
-activedash
-disableddash
-dashoffset
-fill
-activefill
-disabledfill
-offset
-outline
-activeoutline
-disabledoutline
-outlinestipple
-activeoutlinestipple
-disabledoutlinestipple
-stipple
-activestipple
-disabledstipple
-state
-tags
-width
-activewidth
-disabledwidth
Les options supplémentaires suivantes sont supportées par les objets de type polygone :

-joinstyle style
Spécifie comment les jointures entre les segments, doivent être dessinées. Style peut avoir n'importe laquelle des formes acceptées par Tk_GetCapStyle (bevel, miter, ou round). Si l'option n'est pas spécifiée, la valeur par défaut est miter.

-smooth booléen
Booléen doit avoir une des formes acceptées par Tk_GetBoolean. Elle indique si le polygone doit être dessiné avec un périmètre courbe. Dans ce cas, la bordure est un ensemble de spline paraboliques, un spline relie le premier et le second point, un autre relie le deuxième et le troisième point, et ainsi de suite. Des segments droits peuvent être ajoutés au périmètre, en dupliquant les extrêmités de segment désiré.

-splinesteps nombre
Spécifie le degré de lissage désiré pour les courbes : chaque spline est approximé par nombre segments. Cette option est ignorée à moins que l'option -smooth est la valeur true (vrai).

Les polygones sont des objets différents des autres tels que les rectangles, ovales et les arcs car les points interieurs sont considérés comme étant dans le polygone (ceci concerne les commandes du widget find closest et find overlapping) même s'il n'est pas rempli. Pour la plupart des autres objets, un point intérieur est considéré comme étant dans l'objet seulement si l'objet est rempli ou s'il n'a ni remplissage ni bordure. Si vous désirez un polygone non rempli dont les points intérieurs ne soient pas considérés à l'intérieur du polygone, alors utilisez un objet de type ligne à la place.

OBJETS DE TYPE RECTANGLE

Chaque objet de type rectangle peut avoir une bordure, un remplissage ou les deux. Les rectangles sont créés par les commandes suivantes :
nom_du_canvas create rectangle x1 y1 x2 y2 ?option valeur option valeur ...?
nom_du_canvas create rectangle liste_des_coordonnées ?option valeur option valeur ...?
Les arguments x1, y1, x2, et y2 ou liste_de_coordonnées donnent les coordonnées des deux coins diagonalement opposés du rectangle (le rectangle inclut les arrêtes supérieure et gauche mais pas les arrêtes inférieure et droite). Après les coordonnées, il peut y avoir un nombre quelconque de paires option-valeur, chacune d'elles appartenant à l'ensemble des options de configuration de l'objet. Les mêmes paires option-valeur peuvent être utilisées avec la commande itemconfigure du widget, pour modifier sa configuration.
Les options standards suivantes sont supportées par les objets de type rectangle :
-dash
-activedash
-disableddash
-dashoffset
-fill
-activefill
-disabledfill
-offset
-outline
-activeoutline
-disabledoutline
-outlinestipple
-activeoutlinestipple
-disabledoutlinestipple
-stipple
-activestipple
-disabledstipple
-state
-tags
-width
-activewidth
-disabledwidth

LES OBJETS DE TYPE TEXTE

Un objet de type texte affiche une chaîne de caractères sur une ou plusieurs lignes. Les objets de type texte supportent les opérations d'indexation et de sélection appelées par les commandes suivantes : dchars, focus, icursor, index, insert, select. Les objets de type texte sont créés par les commandes suivantes :
nom_du_canvas create text x y ?option valeur option valeur ...?
nom_du_canvas create text liste_de_coordonnées ?option valeur option valeur ...?
Les arguments x et y ou liste_de_coordonnées spécifient les coordonnées d'un point utilisé pour positionner le texte (voir les options ci-dessous pour plus d'information sur les différentes manières d'afficher du texte). Après les coordonnées, il peut y avoir un nombre quelconque de paires option-valeur, chacune appartient à l'ensemble des options de configuration de l'objet. Les mêmes paires option-valeur peuvent être utilisées avec la commande itemconfigure du widget, afin de changer sa configuration.
Les options standards suivantes sont supportées par les objets de type texte :
-fill
-activefill
-disabledfill
-stipple
-activestipple
-disabledstipple
-state
-tags
Les options suplémentaires suivantes sont supportées par les objets de type texte :

-anchor position_de_l'ancre
Position_de_l'ancre indique comme positionner le texte relativement au point de positionnement du texte ; il peut prendre n'importe laquelle des formes acceptées par Tk_GetAnchor. Par exemple, si position_de_l'ancre est center (centre) alors le texte est centré sur le point ; si position de l'ancre est n alors le texte est dessiné tel que le centre du sommet du rectangle contenant le texte, soit positionné sur ce point. La valeur par défaut de l'option est center.

-font nom_de_la_police
Indique la police de caractère à utiliser. Nom_de_la_police est n'importe laquelle des chaînes de caractères acceptées par Tk_GetFont. Si cette option n'est pas spécifiée, la valeur par défaut dépend du système utilisé.

-justify comment
Spécifie comment le texte doit être justifié. Comment doit avoir une des valeurs suivantes : left, right ou center. Cette option n'a de sens que si le texte est sur plusieurs lignes. Si cette option n'est pas utilisée, la valeur par défaut est left.

-text chaîne_de_caractères
Chaîne_de_caractères spécifie les caractères à afficher dans l'objet texte. Les caractères ``nouvelle ligne'' provoquent un retour à la ligne. Les caractères affichés peuvent aussi être modifiés en utilisant les commandes insert et delete du widget. La valeur par défaut de cette option, est la chaîne vide.

-width longueur_de_la_ligne
Spécifie la longueur maximum d'une ligne. N'importe laquelle des formes décrites dans la section COORDONNEES ci-dessus, peut être utilisée. Si la valeur de cette option est zéro (valeur par défaut) alors le retour à ligne ne se fait que si un caractère ``nouvelle ligne'' est rencontré. Si la valeur de cette option est non-nulle alors toute ligne plus grande que longueur_de_la_ligne est cassée juste avant un caractère ``espace'' qui fait la ligne plus petite que longueur_de_la_ligne ; le caractère ``espace'' est alors traité comme un caractère de type ``nouvelle ligne''.

LES OBJETS DE TYPE FENETRE

Les objets de type window (fenêtre), permettent d'afficher une fenêtre dans un canvas; à une position donnée. Les objets de type window sont créés par les commandes suivantes :
nom_du_canvas create window x y ?option valeur option valeur ...?
nom_du_canvas create window liste_de_coordonnées ?option valeur option valeur ...?
Les arguments x et y ou liste_des_coordonnées spécifient les coordonnées d'un point utilisé pour positionner la fenêtre (voir l'option -anchor ci-dessous pour plus d'informations). Après les coordonnées, il peut y avoir un nombre quelconque de paire option-valeur, chacune d'elle appartenant à l'ensemble des options de configuration de l'objet. Les mêmes paires option-valeur peuvent être utilisées avec la commande itemconfigure du widget, pour modifier sa configuration.
Les options standards suivantes sont supportées par les objets de type fenêtre :
-state
-tags
Les options supplémentaires suivantes sont supportées par les objets de type fenêtre :

-anchor position_de_l'ancre
Position_de_l'ancre indique comment positionner la fenêtre relativement au point de positionnement de l'objet ; il peut avoir n'importe laquelle des formes acceptées par Tk_GetAnchor. Par exemple, si position_de_l'ancre est center alors la fenêtre est centrée sur ce point : si position_de_l'ancre est n alors la fenêtre sera dessinée telle que le centre du sommet soit sur ce point. La valeur par défaut est center.

-height pixels
Spécifie la hauteur de l'objet fenêtre. Pixels peut avoir n'importe laquelle des formes décrites dans la section COORDONNEES ci-dessus. Si cette option n'est pas spécifiée, ou si elle est spécifiée par une chaîne vide, alors la hauteur de la fenêtre est fixée par une requête interne.

-width pixels
Spécifie la larguer de l'objet fenêtre. Pixels peut avoir n'importe laquelle des formes décrites dans la section COORDONNEES ci-dessus. Si cette option n'est pas spécifiée, ou si elle est spécifié par une chaîne vide, alors la largeur de la fenêtre est fixée par une requête interne.

-window chemin
Spécifie la fenêtre à associer avec l'objet. La fenêtre spécifiée par chemin doit être une fille du widget canvas ou une fille d'un des ancêtres du widget canvas. Chemin doit se référer à un toplevel.

Note : dû aux restrictions liées à la façon dont les fenêtres sont gérées, il n'est pas possible de dessiner d'autres objets graphiques (tels que des lignes ou des images) sur ces fenêtre. Un objet fenêtre peut cacher un graphique qui le chevauche, sans tenir compte de l'ordre dans la liste d'affichage.

DEFINITION DE NOUVEAUX TYPES D'OBJETS

Il est possible, pour des applications individuelles, de définir de nouveaux types d'objets pour le widget canvas, en utilisant du code C. Voir la documentation Tk_CreateItemType.

BINDINGS

Dans l'implémentation courante, les nouveaux canvas ne possèdent pas de comportement par défaut : vous devez exécuter explicitement les commandes Tcl définissant le comportement de l'objet.

CREDITS

Le widget canvas est très fortement inspiré du programme ezd de Joel Bartlett. Ezd définit des structures graphiques dans un environnement Scheme et a précédé le widget canvas d'une année ou deux. Ses mécanismes très simples pour placer et animer les objets graphiques ont inspiré les différentes fonctions du canvas.

KEYWORDS

canvas, widget
Copyright © 1992-1994 The Regents of the University of California.
Copyright © 1994-1996 Sun Microsystems, Inc.
Copyright © 1997-1999 Scriptics Corporation.
Copyright © 1995-1997 Roger E. Critchlow Jr.

Copyright © 2003 - Le Portail Tcl/Tk Francophone.