Why: I am making very heavy use of theAzack9's VectorConverter skin to create dozens of icons out of shape meters. Ideally, I would like to be able to call a specific icon with a MeterStyle, then be able to adjust its attribute and transform modifiers separately. While I can easily do this for the attribute modifiers (since those are defined on the parent shape in a combine), this is impossible to do with transform modifiers. If I wish to make an instance of the icon slightly larger or smaller, or rotate/pan it in any way, I have to completely redefine the combine shape:
Code: Select all
[Rainmeter]
MiddleMouseUpAction=[!Refresh]
AccurateText=1
[StyleBookIcon]
Shape = Path Path1 | StrokeWidth 0 | Extend Fill
Shape2 = Path Path2 | StrokeWidth 0
Shape3 = Path Path3 | StrokeWidth 0
Shape4 = Path Path4 | StrokeWidth 0
Shape5 = Combine Shape | XOR Shape2 | XOR Shape3 | XOR Shape4
Path1=448, 360 | LineTo 448, 24 | CurveTo 424, 0, 448, 10.7, 437.3, 0 | LineTo 96, 0 | CurveTo 0, 96, 43, 0, 0, 43 | LineTo 0, 416 | CurveTo 96, 512, 0, 469, 43, 512 | LineTo 424, 512 | CurveTo 448, 488, 437.3, 512, 448, 501.3 | LineTo 448, 472 | CurveTo 439.1, 453.3, 448, 464.5, 444.5, 457.7 | CurveTo 439.1, 378.6, 434.9, 437.9, 434.9, 394 | CurveTo 448, 360, 444.5, 374.3, 448, 367.5 | ClosePath 1
Path2=128, 134 | CurveTo 134, 128, 128, 130.7, 130.7, 128 | LineTo 346, 128 | CurveTo 352, 134, 349.3, 128, 352, 130.7 | LineTo 352, 154 | CurveTo 346, 160, 352, 157.3, 349.3, 160 | LineTo 134, 160 | CurveTo 128, 154, 130.7, 160, 128, 157.3 | LineTo 128, 134 | ClosePath 1
Path3=128, 198 | CurveTo 134, 192, 128, 194.7, 130.7, 192 | LineTo 346, 192 | CurveTo 352, 198, 349.3, 192, 352, 194.7 | LineTo 352, 218 | CurveTo 346, 224, 352, 221.3, 349.3, 224 | LineTo 134, 224 | CurveTo 128, 218, 130.7, 224, 128, 221.3 | LineTo 128, 198 | ClosePath 1
Path4=381.4, 448 | LineTo 96, 448 | CurveTo 64, 416, 78.3, 448, 64, 433.7 | CurveTo 96, 384, 64, 398.4, 78.4, 384 | LineTo 381.4, 384 | CurveTo 381.4, 448, 379.5, 401.1, 379.5, 430.9 | ClosePath 1
X=5R
Y=8
[MeterBackground]
Meter=Shape
Shape=Rectangle 1,1,380,150,5 | Fill Color 15,15,15 | Stroke Color 50,50,50 | StrokeWidth 1
[MeterBook_1/4]
Meter=Shape
MeterStyle=StyleBookIcon
Shape5=Combine Shape | XOR Shape2 | XOR Shape3 | XOR Shape4 | Scale (1/4),(1/4),0,0
Fill=Fill Color 181,43,43
X=8
[MeterBook_1/6]
Meter=Shape
MeterStyle=StyleBookIcon
Shape5=Combine Shape | XOR Shape2 | XOR Shape3 | XOR Shape4 | Scale (1/6),(1/6),0,0
Fill=Fill Color 176,181,43
[MeterBook_1/8]
Meter=Shape
MeterStyle=StyleBookIcon
Shape5=Combine Shape | XOR Shape2 | XOR Shape3 | XOR Shape4 | Scale (1/8),(1/8),0,0 | Rotate 90 | Offset 4,0
Fill=Fill Color 61,181,43
[MeterBook_1/10]
Meter=Shape
MeterStyle=StyleBookIcon
Shape5=Combine Shape | XOR Shape2 | XOR Shape3 | XOR Shape4 | Scale (1/10),(1/10),0,0 | Rotate 180 | Skew 9,10,20,20 | Offset 3,5
Fill=Fill Color 43,179,181
[MeterBook_1/12]
Meter=Shape
MeterStyle=StyleBookIcon
Shape5=Combine Shape | XOR Shape2 | XOR Shape3 | XOR Shape4 | Scale (1/12),(1/12),0,0
Fill=Fill Color 43,49,181
However, if one were able to use the extend modifier on the combine shape, the code could look like this:
Code: Select all
[Rainmeter]
MiddleMouseUpAction=[!Refresh]
AccurateText=1
[StyleBookIcon]
Shape = Path Path1 | StrokeWidth 0 | Extend Fill
Shape2 = Path Path2 | StrokeWidth 0
Shape3 = Path Path3 | StrokeWidth 0
Shape4 = Path Path4 | StrokeWidth 0
Shape5 = Combine Shape | XOR Shape2 | XOR Shape3 | XOR Shape4 | Extend Transform
Path1=448, 360 | LineTo 448, 24 | CurveTo 424, 0, 448, 10.7, 437.3, 0 | LineTo 96, 0 | CurveTo 0, 96, 43, 0, 0, 43 | LineTo 0, 416 | CurveTo 96, 512, 0, 469, 43, 512 | LineTo 424, 512 | CurveTo 448, 488, 437.3, 512, 448, 501.3 | LineTo 448, 472 | CurveTo 439.1, 453.3, 448, 464.5, 444.5, 457.7 | CurveTo 439.1, 378.6, 434.9, 437.9, 434.9, 394 | CurveTo 448, 360, 444.5, 374.3, 448, 367.5 | ClosePath 1
Path2=128, 134 | CurveTo 134, 128, 128, 130.7, 130.7, 128 | LineTo 346, 128 | CurveTo 352, 134, 349.3, 128, 352, 130.7 | LineTo 352, 154 | CurveTo 346, 160, 352, 157.3, 349.3, 160 | LineTo 134, 160 | CurveTo 128, 154, 130.7, 160, 128, 157.3 | LineTo 128, 134 | ClosePath 1
Path3=128, 198 | CurveTo 134, 192, 128, 194.7, 130.7, 192 | LineTo 346, 192 | CurveTo 352, 198, 349.3, 192, 352, 194.7 | LineTo 352, 218 | CurveTo 346, 224, 352, 221.3, 349.3, 224 | LineTo 134, 224 | CurveTo 128, 218, 130.7, 224, 128, 221.3 | LineTo 128, 198 | ClosePath 1
Path4=381.4, 448 | LineTo 96, 448 | CurveTo 64, 416, 78.3, 448, 64, 433.7 | CurveTo 96, 384, 64, 398.4, 78.4, 384 | LineTo 381.4, 384 | CurveTo 381.4, 448, 379.5, 401.1, 379.5, 430.9 | ClosePath 1
X=5R
Y=8
[MeterBackground]
Meter=Shape
Shape=Rectangle 1,1,380,150,5 | Fill Color 15,15,15 | Stroke Color 50,50,50 | StrokeWidth 1
[MeterBook_1/4]
Meter=Shape
MeterStyle=StyleBookIcon
Transform=Scale (1/4),(1/4),0,0
Fill=Fill Color 181,43,43
X=8
[MeterBook_1/6]
Meter=Shape
MeterStyle=StyleBookIcon
Transform=Scale (1/6),(1/6),0,0
Fill=Fill Color 176,181,43
[MeterBook_1/8]
Meter=Shape
MeterStyle=StyleBookIcon
Transform=Scale (1/8),(1/8),0,0 | Rotate 90 | Offset 4,0
Fill=Fill Color 61,181,43
[MeterBook_1/10]
Meter=Shape
MeterStyle=StyleBookIcon
Transform=Scale (1/10),(1/10),0,0 | Rotate 180 | Skew 9,10,20,20 | Offset 3,5
Fill=Fill Color 43,179,181
[MeterBook_1/12]
Meter=Shape
MeterStyle=StyleBookIcon
Transform=Scale (1/12),(1/12),0,0
Fill=Fill Color 43,49,181
It is my knowledge that adding this would be pretty trivial, since this function is intentionally excluded from the combine shape. IIRC, the reason given was to avoid confusion with attribute modifiers not working on combine shapes. In other words, the only reason this DOESN'T work is to avoid a bunch of Rainmeter newcomers asking why they can't change a combine shape's color if they happen to be using the extend modifier on a combined shape.
Here is an example of how I am making heavy use of shape meters in my suite. Absolutely every icon you see is a shape meter:
This is a very good example of why I want this feature: For every icon in the gadget manager I had to redefine the same scale for every individual icon. If I could use the extend modifier on combine shapes, I could set the scale in the global icon meterstyle, allowing me to change all of the icon sizes by the same amount with only one code change.
Thank you for your time!