jsmorley wrote: ↑December 3rd, 2018, 2:39 am
We are going to take a look at using TransformationMatrix with Container, as it clearly has issues now. I'm not confident that we will be able to make it work perfectly without raising backwards compatibility issues, but at a minimum I'd like to understand the limitations in a clear and unambiguous way, so I can document them.
Stay tuned... Everyone is pretty busy with family and school and holidays and all the rest.
I created a test skin that you can use which demonstrates the behavior perfectly:
containerscaling.gif
Key:
Teal - Representation of the original container size at 1x scaling
Yellow - Representation of the container at current scale (with
TransformationMatrix applied)
Green - The area that is covered by both aforementioned container states
Purple - Content within the scaled container that does not have
TransformationMatrix applied to it
Red - Content within the scaled container that has
TransformationMatrix applied to it
As far as I can tell, content within a container that is using
TransformationMatrix has to be located in the green area in order to show up. In other words, the container will only draw content that is located both within the original container's mask before the application of
TransformationMatrix, as well as within the new mask created after
TransformationMatrix is applied.
ContainerScaling.ini:
Code: Select all
[Rainmeter]
MiddleMouseUpAction=[!Refresh]
AccurateText=1
DynamicWindowSize=1
[Variables]
scale=1
transformationMatrix=#scale#;0;0;#scale#;#scale#;#scale#
[MeterBackground]
Meter=Shape
Shape=Rectangle 0,0,98,60,3 | Fill Color 15,15,15 | StrokeWidth 0 | Scale #scale#,#scale#,0,0 | Offset #scale#,#scale#,0,0
MouseScrollUpAction=[!WriteKeyValue Variables scale "(clamp((#scale# + 0.5),1,3))"][!Refresh]
MouseScrollDownAction=[!WriteKeyValue Variables scale "(clamp((#scale# - 0.5),1,3))"][!Refresh]
[MeterContainerVisible-NoTransform]
Meter=Shape
Shape=Rectangle 0,0,88,50,3 | StrokeWidth 0 | Fill Color 0,255,255,50
X=5
Y=5
[MeterContainerVisible-Transform]
Meter=Shape
Shape=Rectangle 0,0,88,50,3 | StrokeWidth 0 | Fill Color 255,255,0,50
X=5
Y=5
TransformationMatrix=#transformationMatrix#
[MeterContainer]
Meter=Shape
Shape=Rectangle 0,0,88,50,3 | StrokeWidth 0
X=5
Y=5
TransformationMatrix=#transformationMatrix#
[MeterContainerContent-NoTransform]
Meter=Shape
Shape=Ellipse 15,15,10,10 | StrokeWidth 0 | Fill Color 255,0,255,50
Container=MeterContainer
[MeterContainerContent-Transform]
Meter=Shape
Shape=Ellipse 15,15,10,10 | StrokeWidth 0 | Fill Color 255,0,0,50
Container=MeterContainer
TransformationMatrix=#transformationMatrix#
You do not have the required permissions to view the files attached to this post.