Of course that causes an issue with:
Code: Select all
Shape=Rectangle 1,1,233,([MeterHiddenContentContainer:Y] + [MeterHiddenContentContainer:H] + 7),2 | Fill Color 15,15,15 | StrokeWidth 2 | Stroke Color 50,50,50
Since the container is a static size, although invisible. You might want to change this to have the size of the background shape not dependent on the size of the container, but perhaps the position of the content.
Like this more or less:
Code: Select all
[Rainmeter]
MiddleMouseUpAction=[!Refresh]
AccurateText=1
[Variables]
hiddenContentScroll=-83
; Moon stuff
moonRadius=20
moonPhase=0.0808
moonIlluminationAngle=218
showMoonAngle=1
moonBgColor=30,30,30
moonColor=200,200,200
[StyleString]
FontFace=Trebuchet MS
FontSize=12
FontColor=230,230,230
Antialias=1
[MeasureSliderAT]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat Increase,16,44
ActionList2=Repeat Decrease,16,44
Increase=[!SetVariable hiddenContentScroll "(#hiddenContentScroll# + 2)"][!UpdateMeterGroup HiddenSection][!UpdateMeter MeterBackground][!UpdateMeasure MeasureSliderAT][!Redraw]
Decrease=[!SetVariable hiddenContentScroll "(#hiddenContentScroll# - 2)"][!UpdateMeterGroup HiddenSection][!UpdateMeter MeterBackground][!UpdateMeasure MeasureSliderAT][!Redraw]
DynamicVariables=1
[MeasureMoonShapePhaseCalc]
Measure=Calc
Formula=clamp(abs((#moonRadius# * 4 * ((#moonPhase# > 0.5) ? (0.5 - (#moonPhase# - 0.5)) : #moonPhase#)) - #moonRadius#),0,#moonRadius#)
DynamicVariables=1
; ----- Background -----
[MeterBackground]
Meter=Shape
Shape=Rectangle 1,1,233,([MeterHiddenImage:Y] + [MeterHiddenImage:H] + 7),2 | Fill Color 15,15,15 | StrokeWidth 2 | Stroke Color 50,50,50
DynamicVariables=1
MouseOverAction=[!CommandMeasure MeasureSliderAT "Execute 1"]
MouseLeaveAction=[!CommandMeasure MeasureSliderAT "Execute 2"]
; ----- 'Static' Content: Always shown -----
[MeterStaticString]
Meter=String
MeterStyle=StyleString
X=9
Y=5
Text=This is a test of static content
[MeterStaticImage]
Meter=Image
ImageName=#@#Images\Abbey.jpg
X=9
Y=3R
W=216
H=50
; ----- 'Hidden' Content: Shown on hover -----
[MeterHiddenContentContainer]
Meter=Image
SolidColor=25,25,25
X=5
Y=5R
W=224
H=110
DynamicVariables=1
Group=HiddenSection
[MeterMoonShape]
Meter=Shape
Shape=Ellipse #moonRadius#,#moonRadius#,#moonRadius#,#moonRadius# | StrokeWidth 1 | Stroke Color #moonBgColor# | Fill Color #moonBgColor#
Shape2=Path MoonArc | StrokeWidth 0 | Stroke Color #moonColor# | Fill Color #moonColor# | Rotate ((#showMoonAngle# = 1) ? (-#moonIlluminationAngle#) : ((#moonPhase# > 0.5) ? -90 : 90)),#moonRadius#,#moonRadius# | StrokeLineJoin Bevel
MoonArc=0,#moonRadius# | ArcTo (#moonRadius# * 2),#moonRadius#,#moonRadius#,[MeasureMoonShapePhaseCalc:],0,(((#moonPhase# > 0.25) && (#moonPhase# < 0.75)) ? 1 : 0) | ArcTo 0,#moonRadius#,#moonRadius#,#moonRadius#,0,1
X=180
Y=#hiddenContentScroll#
DynamicVariables=1
Container=MeterHiddenContentContainer
Group=HiddenSection
[MeterHiddenString]
Meter=String
MeterStyle=StyleString
X=4
Y=5r
Text=This is hidden content
Container=MeterHiddenContentContainer
Group=HiddenSection
[MeterHiddenImage]
Meter=Image
ImageName=#@#Images\Sunset.jpg
X=5
Y=5R
W=100
Container=MeterHiddenContentContainer
Group=HiddenSection
GIF.gif
This does mean that the overall size of the skin is fixed, but in my view, that is how it should be. All in all, I'm all for moving or sliding a "container" in order to move or slide all the content that is in it, but I'm very skeptical of scaling a container in order to simulate sliding it in and out. Aside from the known issues we have with that today, which we will no doubt fix, I'm not convinced it's a good approach. I'm concerned about efficiency and performance with it doing that much work.
In general, I would not have a design view of sliding in a container and all its contents, as since you can't "nest" containers, that means it would have to slide in from outside the overall skin, and that sorta defeats the first purpose of Container. I would have a fixed size container in a fixed position, and have the first "content" meter, which will be relative to it, slide in and out of the container. Then have all subsequent "content" meters be relative to the first one, and each other, and they will tag along as needed.