terrestrial, i can confirm that $rgb() works and that center column alignment problem is gone! the new features summed by Hamallainen are great .
now i have something new for us. picture:
.
let's move to 2a. it's $alignrel test, 2b has the first line in the code bellow uncommented:
//$alignrel(left,top)
<line1>
$char(10)
<line 2>
$alignrel(center,top)<line 2 center>
$alignrel(right,top)<line 2 right>
$char(10)<line3>
$alignrel(left,top)<line 3 left>
we can see in the first example, that until <line 3 left> it works as one would expect. now if we uncomment the first line with the $alignrel (which is set to default values), things get messy starting from <line 2 center>. my guess is that $alignrel doesn't work correctly with multiline blocks. it does as long as there's no $alignrel before, otherwise it takes that as reference point. i think this is a bug.
example no. 1, is extended one from my previous post. you can see there's no longer that center column alignment problem. there are some interesting observations to note, though.
in the top-left corner, there are two major multiline blocks. one has lines with "left", "l" and "longer left"; the other has 4 lines with one underscore character each. interesting is that the underscore on the second line is not directly alongside that "l" and similarly dark-red "left" to the light one on the first line.
my explanation is that this is rather good feature of multiline blocks. whenever blocks spans over multiple lines, the edge of its longest line (or rather the line with most major "adjustment point"), in this case the third line "longer left", affects neighbours of this block on its every line. it basically creates columns, but only affecting the lines that block spans over (that's why the 4. underscore is directly to the left panel's edge).
another feature demonstrated is the $alignabs. at first please note those two light-blue underscores on the right edge (second sub-block of 5. block in the code). these are part of multiline block positioned with $alignabs, so they do not "flow" with other text there and overwrite "right" and "r". i used the "shortcut" 2-parameter version of $alignabs, as that's basically version of $align without overwriting text check.
the full $alignabs(x,y,width,height,halign,valign) is demonstrated by the rectangles with "absolute" text. in this case, x, y, width and height define rectangle which is used as boundaries for following text, and halign plus valign control this text's positioning inside that rectangle. #SHADE# came handy in here, is it allowed for showing width of these rectangles.
you can see that $alignabs supports negative coordinates and also that it shows even if part of the rectangle is outside panel's boundaries. this is all good news . i have one feature request though: it would be nice if $alignabs(x,y,,,halign,valign) - i.e. without width and/or height specified - substitutes these omitted parameters with values equal to that block's width / height.
there's another thing to mention regarding this example. only text blocks aligned with $align(,top) do not overwrite other text. you can see that capital letters "L", "C" and "R" overwrite "left", "center" and "right" respectively. all these blocks have "middle" vertical alignment.
code:
text$char(10)
// 1. block
$align(left,)$rgb(200,50,50)left$char(10)l$char(10)longer left
$align(center,)$rgb(50,200,50)center$char(10)c
$align(right,)$rgb(50,50,200)right$char(10)r
// has no effect on 2. block
$align(,bottom)
// 2. block
$align(left,)$rgb(100,0,0)left
$align(right,)$rgb(0,0,100)right
$align(center,)$rgb(0,100,0)center
// 3. block
$align(left,middle)$rgb(200,50,50)left
$align(right,middle)$rgb(50,50,200)right
$align(center,middle)$rgb(50,200,50)center
// 4. block
$align(left,middle)$rgb(200,50,50)L
$align(right,middle)$rgb(50,50,200)R
$align(center,middle)$rgb(50,200,50)C
// 5. block
$align(left,top)$rgb(255,100,100)_$char(10)_$char(10)_$char(10)_
$alignabs(right,top)$rgb(100,100,255)_$char(10)_
// 6. block
$alignabs(-30,80,70,16,center,middle)#SHADE#absolute
$alignabs(100,80,70,16,center,middle)#SHADE#absolute
$alignabs(140,80,70,16,center,middle)#SHADE#absolute
$alignabs(260,80,45,15,center,middle)#SHADE#absolute
// 7. block
$alignabs(100,96,200,16,,)"absolute" is
$calcwidth(absolute) x $calcheight(absolute) pixels
[edit] colors and some syntax. my computer went down while i was editing this post, and i wasn't able to get it running until now :/. i should buy new harddrive for my system ...