From 736ca9ec7ba40ac989f990c5ccc58fd2eca171ea Mon Sep 17 00:00:00 2001 From: mertz Date: Tue, 28 May 2002 11:00:55 +0000 Subject: correction des types -priority ajout d'une section sur l'API C d'extension de zinc --- doc/refman.tex | 98 ++++++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 78 insertions(+), 20 deletions(-) diff --git a/doc/refman.tex b/doc/refman.tex index 852bb57..07266c8 100644 --- a/doc/refman.tex +++ b/doc/refman.tex @@ -199,9 +199,9 @@ \setlength{\marginparwidth}{20pt} \setlength{\textwidth}{480pt} -\title{Zinc, an advanced scriptable Canvas.\\The 3.2.4 Reference Manual.} +\title{Zinc, an advanced scriptable Canvas.\\The 3.2.6 Reference Manual.} \author{Patrick Lecoanet} -\date{2 May 2002} +\date{27 May 2002} \begin{document} @@ -229,7 +229,9 @@ Canvas, Zinc can structure the items in a hierarchy (with the use of group items), has support for affine 2D transforms (i.e. translation, scaling, and rotation), clipping can be set for sub-trees of the item hierarchy, the item set is quite more powerful including field specific items for Air Traffic systems and -new rendering techniques such as transparency and gradients. +new rendering techniques such as transparency and gradients. If needed, it is also +possible to extend the item set in an additionnal dynamic library through the use +of a C api. Since the 3.2.2 version, Zinc also offers as a runtime option, the support for openGL rendering, giving access to features such as antialiasing, transparency, @@ -402,7 +404,7 @@ subscribe, please consult the site \anurl{http://www.openatc.org/zinc}. \begin{itemize} \item The very first way to contribute is to use Zinc and to report any bug or problem you may experiment. Of course, if you send a script that -exhibit the problem or even better a patch, your problem will have more +exhibits the problem or even better a patch, your problem will have more chance to find a solution. \item The second way to contribute is by commenting on and proposing enhancement to this reference manual. As it has been written by french writers, english readers may @@ -413,6 +415,10 @@ of demos (see chapter \conceptref{Other resources provided by the widget}{otherresources}). Feel free to send us your productions. They may be simple but demonstrative or more complex. It is up to you! They will be integrated in the next release of Zinc if they are worth it. +\item The fourth way to contribute, and may be the most difficult, is to enrich the set +of items (see section \conceptref{C api for adding new items}{Capi}) in an separate +dynamic library. Then send us source code (with appropriate copyright and licence) +if you want them to be integrated in a future release of Zinc. \end{itemize} @@ -2249,13 +2255,16 @@ the group. Most items can be used here but notable exceptions are the \objectref \objectref{map} items. The default value is {\tt ""} which means that no clipping will be performed.} +\attribute{group}{composealpha}{boolean}{Specifies if the \attributeref{group}{alpha} attribute +of the group of this group must be composed with this group. The default value is {\tt true}.} + \attribute{group}{composerotation}{boolean}{Specifies if the current rotation should be composed with the local transform. The default value is {\tt true}.} \attribute{group}{composescale}{boolean}{Specifies if the current scale should be composed with the local transform. The default value is {\tt true}.} -\attribute{group}{priority}{integer}{The absolute position in the stacking order among +\attribute{group}{priority}{priority}{The absolute position in the stacking order among siblings of the same parent group. The default value is {\tt 6}.} \attribute{group}{sensitive}{boolean}{Specifies if the item and all its children should @@ -2331,6 +2340,9 @@ Applicable attributes for \ident{track} are : \attribute{track}{circlehistory}{boolean}{If set to true the track history will be plotted as circles otherwise it will be plotted as squares. The default value is {\tt false}.} +\attribute{track}{composealpha}{boolean}{Specifies if the \attributeref{group}{alpha} attribute +of the group of this item must be composed with this item. The default value is {\tt true}.} + \attribute{track}{composerotation}{boolean}{Specifies if the current rotation should be composed with the local transform. The default value is {\tt true}.} @@ -2449,7 +2461,7 @@ label. This attribute is read only.} \attribute{track}{position}{point}{The current location of the track. The default value is {\tt "0 0"}.} -\attribute{track}{priority}{integer}{The absolute position in the stacking order among +\attribute{track}{priority}{priority}{The absolute position in the stacking order among siblings of the same parent group. The default value is {\tt 5}.} \attribute{track}{sensitive}{boolean}{Specifies if the item should react to events. The @@ -2529,6 +2541,9 @@ borders} Applicable attributes for \ident{waypoint} are: +\attribute{waypoint}{composealpha}{boolean}{Specifies if the \attributeref{group}{alpha} attribute +of the group of this item must be composed with this item. The default value is {\tt true}.} + \attribute{waypoint}{composerotation}{boolean}{Specifies if the current rotation should be composed with the local transform. The default value is {\tt true}. } @@ -2624,7 +2639,7 @@ label. This attribute is read only.} \attribute{waypoint}{position}{point}{The current location of the way point. The default value is {\tt "0 0"}.} -\attribute{waypoint}{priority}{integer}{The absolute position in the stacking order among +\attribute{waypoint}{priority}{priority}{The absolute position in the stacking order among siblings of the same parent group. The default value is {\tt 4}.} \attribute{waypoint}{sensitive}{boolean}{Specifies if the item should react to events. @@ -2665,6 +2680,9 @@ Applicable attributes for \ident{tabular} are: \attribute{tabular}{anchor}{anchor}{The anchor used in positionning the item. The default value is {\tt nw}.} +\attribute{tabular}{composealpha}{boolean}{Specifies if the \attributeref{group}{alpha} attribute +of the group of this item must be composed with this item. The default value is {\tt true}.} + \attribute{tabular}{composerotation}{boolean}{Specifies if the current rotation should be composed with the local transform. The default value is {\tt true}.} @@ -2686,7 +2704,7 @@ label. This attribute is read only.} \attribute{tabular}{position}{point}{The item's position relative to the anchor (if no connected item specified). The default value is {\tt "0 0"}.} -\attribute{tabular}{priority}{integer}{The absolute position in the stacking order among +\attribute{tabular}{priority}{priority}{The absolute position in the stacking order among siblings of the same parent group. The default value is {\tt 3}. } \attribute{tabular}{sensitive}{boolean}{Specifies if the item should react to events. The @@ -2720,6 +2738,9 @@ value is {\tt nw}.} characters, the overstrike and underline lines. The default value is the current value of the widget option \optref{forecolor}.} +\attribute{text}{composealpha}{boolean}{Specifies if the \attributeref{group}{alpha} attribute +of the group of this item must be composed with this item. The default value is {\tt true}.} + \attribute{text}{composerotation}{boolean}{Specifies if the current rotation should be composed with the local transform. The default value is {\tt true}.} @@ -2744,7 +2765,7 @@ across the text characters. The default value is {\tt false}.} \attribute{text}{position}{point}{The item's position relative to the anchor (if no connected item specified). The default value is {\tt "0 0"} (Tcl/Tk) or {\tt [0,0]} (Perl/Tk).} -\attribute{text}{priority}{integer}{The absolute position in the stacking order among +\attribute{text}{priority}{priority}{The absolute position in the stacking order among siblings of the same parent group. The default value is {\tt 2}.} \attribute{text}{sensitive}{boolean}{Specifies if the item should react to events. The @@ -2785,6 +2806,9 @@ value is {\tt nw}.} \attribute{icon}{color}{gradient}{Specifies the fill color used for drawing the bitmap. The default value is the current value of the widget option \optref{forecolor}.} +\attribute{icon}{composealpha}{boolean}{Specifies if the \attributeref{group}{alpha} attribute +of the group of this item must be composed with this item. The default value is {\tt true}.} + \attribute{icon}{composerotation}{boolean}{Specifies if the current rotation should be composed with the local transform. The default value is {\tt true}.} @@ -2810,7 +2834,7 @@ The default value is {\tt ""}.} \attribute{icon}{position}{point}{The item's position relative to the anchor (if no connected item specified). The default value is {\tt "0 0"} (Tcl/Tk) or {\tt [0,0]} (Perl/Tk.} -\attribute{icon}{priority}{integer}{The absolute position in the stacking order among +\attribute{icon}{priority}{priority}{The absolute position in the stacking order among siblings of the same parent group. The default value is {\tt 2}.} \attribute{icon}{sensitive}{boolean}{Specifies if the item should react to events. The @@ -2836,6 +2860,9 @@ circles. The default value is the current value of the widget option \optref{for \attribute{reticle}{brightlinestyle}{linestyle}{This is the line style of the highlighted circles. The default value is {\tt simple}.} +\attribute{reticle}{composealpha}{boolean}{Specifies if the \attributeref{group}{alpha} attribute +of the group of this item must be composed with this item. The default value is {\tt true}.} + \attribute{reticle}{composerotation}{boolean}{Specifies if the current rotation should be composed with the local transform. The default value is {\tt true}.} @@ -2865,7 +2892,7 @@ the regulars. The default value is {\tt 5} which means that a bright circle is d \attribute{reticle}{position}{point}{Location of the center of the reticle. The default value is {\tt "0 0"}.} -\attribute{reticle}{priority}{integer}{The absolute position in the stacking order among +\attribute{reticle}{priority}{priority}{The absolute position in the stacking order among siblings of the same parent group. The default value is {\tt 2}.} \attribute{reticle}{sensitive}{boolean}{Specifies if the item should react to events. The @@ -2893,6 +2920,9 @@ Map items are used for XXX. map. The texts and symbols that are part of the map are also drawn in this color. The default value is the current value of the widget option \optref{forecolor}.} +\attribute{map}{composealpha}{boolean}{Specifies if the \attributeref{group}{alpha} attribute +of the group of this item must be composed with this item. The default value is {\tt true}.} + \attribute{map}{composerotation}{boolean}{Specifies if the current rotation should be composed with the local transform. The default value is {\tt true}.} @@ -2914,7 +2944,7 @@ components will share the graphical attributes (color, font, etc) of the item an coordinate system. The default value is {\tt ""} which means that nothing will be displayed by the map.} -\attribute{map}{priority}{integer}{The absolute position in the stacking order among +\attribute{map}{priority}{priority}{The absolute position in the stacking order among siblings of the same parent group. The default value is {\tt 1}.} \attribute{map}{sensitive}{boolean}{Specifies if the item should react to events. The @@ -2945,6 +2975,9 @@ value is {\tt ""}.} Applicable attributes for \ident{rectangle} are: +\attribute{rectangle}{composealpha}{boolean}{Specifies if the \attributeref{group}{alpha} attribute +of the group of this item must be composed with this item. The default value is {\tt true}.} + \attribute{rectangle}{composerotation}{boolean}{Specifies if the current rotation should be composed with the local transform. The default value is {\tt true}.} @@ -2974,7 +3007,7 @@ the outline. The default value is {\tt simple}.} \attribute{rectangle}{linewidth}{dimension}{Specifies the width of the item outline (not scalable). The default value is {\tt 1}.} -\attribute{rectangle}{priority}{integer}{The absolute position in the stacking order among +\attribute{rectangle}{priority}{priority}{The absolute position in the stacking order among siblings of the same parent group. The default value is {\tt 2}.} \attribute{rectangle}{relief}{relief}{Specifies the relief used to drawn the rectangle @@ -3018,6 +3051,9 @@ value is {\tt true}.} closed. This is only pertinent if the arc extent is less than 360 degrees. The default value is {\tt false}.} +\attribute{arc}{composealpha}{boolean}{Specifies if the \attributeref{group}{alpha} attribute +of the group of this item must be composed with this item. The default value is {\tt true}.} + \attribute{arc}{composerotation}{boolean}{Specifies if the current rotation should be composed with the local transform. The default value is {\tt true}.} @@ -3063,7 +3099,7 @@ scalable). The default value is {\tt 1}.} less than 360 degrees. If this attribute is true the arc open end will be drawn as a pie slice otherwise it will be drawn as a chord. The default value is {\tt false}.} -\attribute{arc}{priority}{integer}{The absolute position in the stacking order among +\attribute{arc}{priority}{priority}{The absolute position in the stacking order among siblings of the same parent group. The default value is {\tt 2}.} \attribute{arc}{sensitive}{boolean}{Specifies if the item should react to events. The @@ -3111,6 +3147,9 @@ flat. The default value is {\tt round}.} \attribute{curve}{closed}{boolean}{Specifies if the curve outline should be drawn between the first and last vertex or not. The default value is {\tt true}.} +\attribute{curve}{composealpha}{boolean}{Specifies if the \attributeref{group}{alpha} attribute +of the group of this item must be composed with this item. The default value is {\tt true}.} + \attribute{curve}{composerotation}{boolean}{Specifies if the current rotation should be composed with the local transform. The default value is {\tt true}.} @@ -3159,7 +3198,7 @@ flat. The default value is {\tt ""} which means do not draw markers.} \attribute{curve}{markercolor}{gradient}{Specifies the color of the markers. The default value is the current value of the widget option \optref{forecolor}.} -\attribute{curve}{priority}{integer}{The absolute position in the stacking order among +\attribute{curve}{priority}{priority}{The absolute position in the stacking order among siblings of the same parent group. The default value is {\tt 2}.} \attribute{curve}{relief}{relief}{Specifies the relief used to drawn the curve @@ -3208,6 +3247,9 @@ Applicable attributes for \ident{bezier} are: attribute is only applicable if the bezier is not closed and the outline relief is flat. The default value is {\tt round}.} +\attribute{bezier}{composealpha}{boolean}{Specifies if the \attributeref{group}{alpha} attribute +of the group of this item must be composed with this item. The default value is {\tt true}.} + \attribute{bezier}{composerotation}{boolean}{Specifies if the current rotation should be composed with the local transform. The default value is {\tt true}.} @@ -3245,7 +3287,7 @@ outline. The default value is {\tt simple}.} \attribute{bezier}{linewidth}{dimension}{Specifies the with of the item outline (not scalable). The default value is {\tt 1}.} -\attribute{bezier}{priority}{integer}{The absolute position in the stacking order among +\attribute{bezier}{priority}{priority}{The absolute position in the stacking order among siblings of the same parent group. The default value is {\tt 2}.} \attribute{bezier}{relief}{relief}{Specifies the relief used to drawn the bezier @@ -3283,6 +3325,9 @@ XXX A relire et reprendre \attribute{triangles}{colors}{gradientlist}{Specifies the colors of each vertex of the triangles XXX.} +\attribute{triangles}{composealpha}{boolean}{Specifies if the \attributeref{group}{alpha} attribute +of the group of this item must be composed with this item. The default value is {\tt true}.} + \attribute{triangles}{composerotation}{boolean}{Specifies if the current rotation should be composed with the local transform. The default value is {\tt true}.} @@ -3292,7 +3337,7 @@ composed with the local transform. The default value is {\tt true}.} \attribute{triangles}{fan}{boolean}{ If true, triangles are created with a fan like layout. Otherwise triangles are arranged like a strip. The default value is {\tt true}.} -\attribute{triangles}{priority}{integer}{The absolute position in the stacking order among +\attribute{triangles}{priority}{priority}{The absolute position in the stacking order among siblings of the same parent group. The default value is {\tt 2}.} \attribute{triangles}{sensitive}{boolean}{Specifies if the item should react to events. @@ -3331,6 +3376,9 @@ Applicable attributes for \ident{window} items are: \attribute{window}{anchor}{anchor}{The anchor used in positionning the item. The default value is {\tt nw}.} +\attribute{window}{composealpha}{boolean}{Specifies if the \attributeref{group}{alpha} attribute +of the group of this item must be composed with this item. The default value is {\tt true}.} + \attribute{window}{composerotation}{boolean}{Specifies if the current rotation should be composed with the local transform. The default value is {\tt true}.} @@ -3349,7 +3397,7 @@ units. The default value is {\tt 0}.} \attribute{window}{position}{point}{The item's position relative to the anchor (if no connected item specified). The default value is {\tt "0 0"} (Tcl/Tk) or {\tt [0,0]} (Perl/Tk).} -\attribute{window}{priority}{integer}{Constraints of the underlying window sytem dictate +\attribute{window}{priority}{priority}{Constraints of the underlying window sytem dictate the stacking order of window items. They can't be lowered under the other items. Additionally, to manipulate their stacking order, you must use the raise and lower Tk commands on the associated Tk window. The value of this attribute is meaningless.} @@ -3698,9 +3746,9 @@ by any new user of Zinc: \attrtyperef{gradient} and \attrtyperef{labelformat}.} others popular formats are added including JPEG, XPM and PNG. \end{blockindent} -\attrtype{integer} +\attrtype{priority} \begin{blockindent} - Describes a signed integer value. + A strictly positive integer value for the display priority. \end{blockindent} \attrtype{item} @@ -4058,6 +4106,16 @@ useful for newcomers and as starting points for developing real applications. This perl module offers some text input fonctionalities... To be detailed! +\section{C api for adding new items} +\concept{Capi} + +The C function AddItemClass provided with the source code of Zinc, can be used to extent +the default set of items in TkZinc in an additionnal dynamic library. The AddItemClass C +function is extensively used for implementing the core item set. So please refer to the source +code for examples or send email for more information on precise problems. + +We will try to further document this feature in the future. + %\listoftables \listoffigures -- cgit v1.1