Thanks.
That's a great addition! Using TransformationMatrix is something I just don't understand how to use.
I originally started trying to use Arcs for the quarter circles, but I couldn't quite figure it out. I didn't think to try using just 2 half circles. Thanks for the alternative.
Using my initial code and implementing your ActionTimer routine to Rotate vs. TransformationMatrix, here is how I got it working. I've also added some scaling, if someone wanted to adjust it's size.
Code: Select all
[Rainmeter]
BackgroundMode=2
SolidColor=0,0,0,1
LeftMouseUpAction=[!CommandMeasure "MeasureAngle" "Execute 1"]
[Metadata]
Name=Circle Line Gradient
Author=ChicknwitNoName
Information=Fake it 'til they make it.
Version=1.0
License=Creative Commons Attribution-NonCommercial-ShareAlike 4.0
[Variables]
Size=1.5
Angle=0
U=[!UpdateMeasure "MeasureAngle"][!UpdateMeter "Circle"][!Redraw]
[MeasureAngle]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat Rotate,30,36
Rotate=[!SetVariable Angle "(Clamp((#Angle#+10),0,360))"]#U#
IfCondition=(#Angle#>=360)
IfTrueAction=[!CommandMeasure "MeasureAngle" "Stop 1"][!SetVariable Angle "0"]#U#
DynamicVariables=1
[Circle]
Meter=Shape
Shape =Path Path1 | StrokeWidth 0 | Fill LinearGradient NW | Extend ExtraNW
Shape2=Path Path2 | StrokeWidth 0 | Fill LinearGradient NE | Extend ExtraNE
Shape3=Path Path3 | StrokeWidth 0 | Fill LinearGradient SE | Extend ExtraSE
Shape4=Path Path4 | StrokeWidth 0 | Fill LinearGradient SW | Extend ExtraSW
Path1=50,3 | CurveTo 3,50,24.06,3,3,24.06 | LineTo 0,50 | CurveTo 50,0,0,22.404,22.404,0 | LineTo 50,3 | ClosePath 1
Path2=50.323,0.001 | CurveTo 100,50,77.77,0.175,100,22.512 | LineTo 97,50 | CurveTo 50,3,97,24.06,75.94,3 | LineTo 50,0 | LineTo 50.323,0.001 | ClosePath 1
Path3=100,50 | CurveTo 50,100,100,77.596,77.596,100 | LineTo 50,97 | CurveTo 97,50,75.94,97,97,75.94 | LineTo 100,50 | ClosePath 1
Path4=3,50 | CurveTo 50,97,3,75.94,24.06,97 | LineTo 50,100 | CurveTo 0,50,22.404,100,0,77.596 | LineTo 3,50 | ClosePath 1
NW=90 | 255,255,255,200 ; 0.0 | 255,255,255,150 ; 1.0
NE=-90 | 255,255,255,150 ; 0.0 | 255,255,255,100 ; 1.0
SE=0 | 255,255,255,100 ; 0.0 | 255,255,255,50 ; 1.0
SW=0 | 255,255,255,50 ; 0.0 | 255,255,255,0 ; 1.0
ExtraNW=Rotate #Angle#,50,50 | Scale #Size#,#Size#,0,0
ExtraNE=Rotate #Angle#,0,50 | Scale #Size#,#Size#,-50,0
ExtraSE=Rotate #Angle#,0,0 | Scale #Size#,#Size#,-50,-50
ExtraSW=Rotate #Angle#,50,0 | Scale #Size#,#Size#,0,-50
DynamicVariables=1
half-circles meter.