On Mon, Jul 17, 2000 at 12:31:10PM +0100, Edward Betts wrote: > Branden Robinson <[EMAIL PROTECTED]> wrote: > > Our Xaw-replacement handling is seriously pathological in every sense of > > the term. > > > > This will no longer be a concern in woody. With XFree86 4.0.1, libXaw is > > coming out of xlib6g and can be handled with the normal > > Conflicts/Replaces/Provides mechanism. > > Conflicts? But what if I want two versions of xaw installed at once?
You mean two versions with the same soname? Well, that's the same old problem. But Xaw 7.0 has a solution: DISPLAY LISTS All the Xaw widgets have now the additional resource dis- playList. This resource allows drawing the widget decora- tions with commands embedded in the resource string. The displayList resource has the syntax: [class-name:]function-name arguments[[{;\n}]...] Class-name is any registered set of functions to draw in the widget. Currently the only existing class is xlib. Function-name is the drawing or configuration function to be called, described bellow. Arguments may be anything suitable to the displayList function being called. When the function requires a coor- dinate, the syntax is {+-}<integer> or <integer>/<inte- ger>. Examples: +0,+0 top, left -0,-0 bottom, right -+10,-+10 bottom+10, right+10 +0,1/2 left, vertical-center arc-mode mode Sets the arc mode. Accepted parameters are "pies- lice" and "chord", that sets the arc to ArcPieS- lice or ArcChord, respectively. Example: arc-mode chord bg color-spec background color-spec Sets the background color. Argument must as valid color specification. Example: background red cap-style style Sets the cap style. Accepted parameters are "not- last", "butt", "round", and "projecting", that sets the cap style to CapNotLast, CapBut, CapRound or CapProjecting, respectively. Example: cap-style round clip-mask pixmap-spec Sets the pixmap for the clip mask. Requires a pixmap parameter, as described in the PIXMAPS sec- tion of this man page. Example: clip-mask xlogo11 clip-origin x,y Sets the clip x and y origin. Requires two argu- ments, a x and y coordinate. Example: clip-origin 10,10 clip-rects x1,y1,x2,y2 [...,xn,yn] clip-rectangles x1,y1,x2,y2 [...,xn,yn] Sets a list of rectangles to the clip mask. The number of arguments must be a multiple of four. The arguments are coordinates. The parser calcu- lates the width and height of the rectangles. Example: clip-rects 0,0,10,20, 20,10,30,30 coord-mode mode Changes the coord mode for fill-polygon, draw-lines, and draw-points. Accepted parameters are "modeorigin" and "previous", that sets the coord mode to CoordModeOrigin or CoordModePrevi- ous, respectively. Example: coord-mode previous copy-area {pixmap-spec|.},dstx,dsty[,x2,y2,srcx,srcy] Calls XCopyArea. The character . means copy the window contents, pixmap-spec is as defined in the PIXMAPS sction of this manual page. X2, and y2 are coordinates of the end copy, not the width and height; if not defined, the parser calculates it. Src_x and src_y defaults to zero. Example: copy-area Term,10,10 copy-plane {pixmap- spec|.},dstx,dsty[,x2,y2,srcx,srcy,plane] Calls XCopyPlane. The character . means copy the window contents, pixmap-spec is as defined in the PIXMAPS sction of this manual page. X2, and y2 are coordinates of the end copy, not the width and height; if not defined, the parser calculates it. Src_x and src_y defaults to zero. Plane defaults to one. Example: copy-plane star,10,10 dashes i1[...,in] Sets the dashes for line drawing. Accepts up to 127 arguments. Example: dashes 3,7 9,10 draw-arc x1,y1,x2,y2[,start-angle,end-angle] Draws an arc. The four first arguments are the rectangle enclosing the arc. The two remaining arguments, if any, are the start and end angle, in degrees. Example: draw-arc +0,+0,-1,-1,0,90 draw-rect x1,y1,x2,y2 draw-rectangle x1,y1,x2,y2 Draws a rectangle. Requires four arguments, that are the start and end coordinates. Exam- ple: draw-rect +1,+1,-5,-5 draw-string x,y,"string" Draws a text string. Requires three argu- ments, a x coordinate, a y coordinate and a string. Strings that have white spaces can be quoted with the " character, the character \ can also be used, but, you need to escape this char- acter twice. Example: draw-string 10,10, "Hello world!" exposures boolean Sets the graphics exposures in the GC. Allowed parameters are a integer or the strings "true", "false", "on" and "off". Example: exposures true fill-arc x1,y1,x2,y2[,start-angle,end-angle] Like draw-arc, but fills the contents of the arc with the currently selected foreground. Example: fill-arc +0,+0,-1,-1,0,180 fill-poly x1,y1 [...,xn,yn] fill-polygon x1,y1 [...,xn,yn] Like draw-lines, but fills the enclosed polygon and joins the first and last point, if they are not at the same position. Example: fill-poly +0,+10, +10,+20, +30,+0 fill-rect x1,y1,x2,y2 fill-rectangle x1,y1,x2,y2 Like draw-rect, but fills the contents of the rectangle with the selected foreground color. Example: fill-rect +10,+10,-20,-20 fill-rule rule Sets the fill rule. Accepted parameters are "evenodd" and "winding", that sets the fill rule to EvenOddRule or WindingRule, respectively. Exam- ple: fill-rule winding fill-style style Sets the fill style. Allowed parameters are "solid", "tiled", "stippled" and "opaquestippled", that sets the fill style to FillSolid, FillTiled, FillStippled or FillOpaqueStippled, respectively. Example: fill-style tiled font font-spec Sets the font for text functions. Example: font -*-*-*-R-*-*-*-120-*-*-*-*-ISO8859-1 fg color-spec foreground color-spec Like background, but sets the current foreground color. Example: foreground blue mask This command is useful when you want to draw only in the region that really needs to be repainted. Requires no arguments. function function-spec Sets the specific GC function. Allowed parameters are "set", "clear", "and", "andreverse", "copy", "andinverted", "noop", "xor", "or", "nor", "equiv", "invert", "orreverse", "copyinverted" and "nand", that set the function to GXset, GXclear, GXand, GXandReverse, GXcopy, GXandInverted, GXnoop, GXxor, GXor, GXnor, GXequiv, GXinvert, GXorReverse, GXcopyInverted or GXnand, respec- tively. Example: function xor join-style style Sets the join style. Allowed parameters are "miter", "round" and "bevel", that sets the join style to JoinMiter, JoinRound and JoinBevel, respectively. Example: join-style round image {pixmap-spec},xs,ys,[xe,ye] This function is implemented as a way to quickly compose complex decorations in widgets. Pixmap- spec is as defined in the PIXMAPS section of this manual page, xs and ys are the coodinates from where start copying the pixmap, xe and ye are optional (defaults to xs + pixmap.width and ys + pixmap.height respectively). If the pixmap has a mask, the copy is masked accordingly. Example: image pixmap.xpm,0,0,20,20 line x1,y1,x2,y2 draw-line x1,y1,x2,y2 Draws a line with the current foreground color. Require four arguments. Example: line +0,+0, -1,-1 line-width integer Allow selecting a different line width for the drawing. Example: line-width 2 line-style style Sets the line style. Accepted parameters are "solid", "onoffdash" and "doubledash", that sets the line style to LineSolid, LineOnOff- Dash or LineDoubleDash, respectively. Example: line-style onoffdash lines x1,y1,x2,y2 [...,xn,yn] draw-lines x1,y1,x2,y2 [...,xn,yn] Draws a list of lines. Any number of arguments may be supplied. Example: lines +0,-1, -1,-1, -1,+0 paint-string x,y,"string" Identical to draw-string, but also uses the back- ground color. Example: paint-string 10,20, "Sample text" point x,y draw-point x,y Draws a point. Requires two arguments. Example: point +10,+10 plane-mask integer Allows setting the plane mask. Requires a integer parameter. Example: plane-mask -1 points x1,y1 [...,xn,yn] draw-points x1,y1 [...,xn,yn] Draws a list of points at the specified coordi- nates. Example: points +1,+2, +1,+4, +1,+6 segments x1,y1,x2,y2 [...,xn,yn] draw-segments x1,y1,x2,y2 [...,xn,yn] Draws a list of segment lines. Number of parame- ters must be multiple of 4. Example: segments +1,+2,+1,-3, +2,-2,-3,-2 shape-mode mode Allows setting the shape mode used in fill-polygon. Accepted parameters are "complex", "convex" or "nonconvex", that sets the shape mode to Complex, Convex or Nonconvex, accordingly. Example: shape-mode convex stipple pixmap-spec Sets the pixmap for the stipple. Requires a pixmap parameter, as described in the PIXMAPS section of this man page. Example: stipple plaid subwindow-mode mode Sets the subwindow mode in the GC. Accepted parameters are "includeinferiors" and "clipbychildren", that sets the subwindow mode to IncludeInferiors or ClipByChildren, respec- tively. Example: subwindow-mode includeinferiors tile pixmap-spec Sets the pixmap for the tile. Requires a pixmap parameter, as described in the PIXMAPS section of this man page. Example: tile xlogo11?foreground=red&background=gray80 ts-origin x,y Sets the tile stipple x and y origin. Requires two arguments, a x and y coordinate. Example: ts-origin 10,10 umask Disables the gc mask, when it was set with the command mask. Requires no arguments. Example for drawing a shadow effect in a widget: foreground gray30;\ draw-lines +1,-1,-1,-1,-1,+1;\ foreground gray85;\ draw-lines -1,+0,+0,+0,+0,-1 What does all this mean? Xaw 7.0 is themeable. So let's get those Athena apps ported to 7.0... :) -- G. Branden Robinson | I suspect Linus wrote that in a Debian GNU/Linux | complicated way only to be able to have [EMAIL PROTECTED] | that comment in there. http://www.debian.org/~branden/ | -- Lars Wirzenius
pgpAOLuPYEDg0.pgp
Description: PGP signature