Container 容器

Define a meter to be used as a "container" for the "content" of this meter.このメーターの「内容」の「コンテナー」として使用されるメーターを定義します。

The intent of this is two-fold:その意図は2つあります。

  • A meter that has a Container option will in effect be put "inside" the container meter. It will be positioned relative to the container, and will be visibly constrained by it. Only the part of the content that is "inside" the container will be drawn.

    Think sliding content, a menu or launcher for instance, into view without needing to start outside the entire skin.コンテナオプションを持つメーターは、実際にはコンテナメーターの「内側」に配置されます。それはコンテナに対して相対的に配置され、それによって視覚的に制約されます。コンテナーの「内側」にあるコンテンツの部分だけが描画されます。

    メニュー全体やランチャーなどのコンテンツをスライドさせて、スキン全体の外側から開始する必要はありません。


  • The content will be "masked" into any solid pixels in the container meter. So only the part of the content that is masked into a solid pixel in the container will be drawn.

    Think masking an image into a String meter, or an image into a Shape meter.内容はコンテナメーター内の任意の塗りつぶされたピクセルに「マスク」されます。そのため、コンテナー内で塗りつぶされたピクセルにマスクされているコンテンツの部分だけが描画されます。

    画像を文字列メーターに、または画像を形状メーターにマスキングすることを検討してください。


Container Any meter name容器 Any meter name

Name of a meter, of any type, to be used as a container for the content of this meterこのメーターのコンテンツのコンテナーとして使用される、任意のタイプのメーターの名前

Example: Container=SomeOtherMeter例: Container=SomeOtherMeter

Usage Notes使用上の注意

Visibility
  • Content is only drawn within the rectangular W and H boundaries of the container meter.
    Content outside the container is truncated, and in effect doesn't exist.コンテンツはコンテナメーターの長方形のWとHの境界内にのみ描画されます。
    コンテナーの外側のコンテンツは切り捨てられ、事実上存在しません。
  • Content is only drawn on solid pixels of the container.
    The container meter itself is not drawn, just the content.コンテンツはコンテナの実線のピクセル上にのみ描画されます。
    コンテナーメーター自体は描かれておらず、内容だけが描かれています。
  • Any transparency of both the container and the content is cumulative.コンテナーとコンテンツの両方の透明度は累積的です。
Relativity
  • The first content meter in a container is automatically relative to the top left of the container.
    "r" is assumed and "R" is ignored.コンテナー内の最初のコンテンツメーターは、自動的にコンテナーの左上からの相対位置になります。
    "r"が想定され、 "R"は無視されます。
  • Subsequent content meters in a container are relative to each other.
    "r" and "R" function normally.コンテナー内の後続のコンテントメーターは互いに相対的です。
    "r"と "R"は正常に機能します。
  • Meters that are not content are relative to the immediately preceding meter that is not content.内容ではないメーターは、内容ではない直前のメーターに対する相対値です。
Other Rules
  • Any meter type can be a container and any meter type can be content.任意のメータータイプをコンテナーにすることができ、任意のメータータイプをコンテンツにすることができます。
  • Containers may not be "nested".コンテナは「入れ子」にすることはできません。

Examples

While the example code here is for two simple skins that demonstrate using Container, you can download a suite of skins demonstrating several ways to use the funtionality.ここのコード例はContainer使い方を説明する2つの単純なスキン用ですが、機能を使用するためのいくつかの方法を示す一連のスキンをダウンロードできます。

Download the .rmskin..rmskinをダウンロードしてください。



Sliding a "content" meter in and out of a "container" meter.「コンテナー」メーターとの間で「コンテント」メーターをスライドさせます。

[Rainmeter]
Update=1000
DynamicWindowSize=1
AccurateText=1

[Variables]
OffSet=130
U=[!UpdateMeasure "MeasureSlideInOut"][!UpdateMeter *][!Redraw]

[MeterSkinBack]
Meter=Shape
Shape=Rectangle 0.5,0.5,169,103,12 | Fill Color 47,47,47,255 | StrokeWidth 1.5 | Stroke Color 150,150,150,255
X=0
Y=0
W=170
H=104

[MeterContainerVisible]
Meter=Shape
; A copy of the container meter, to provide visibility
Shape=Rectangle 0,0,130,84,12 | Fill Color 255,47,47,255 | StrokeWidth 0
X=20
Y=10

[MeterContainer]
Meter=Shape
; Meters used as a container will not be drawn. They are used as a "mask".
; Create a copy of them, as above, to make them visible.
Shape=Rectangle 0,0,130,84,12 | Fill Color 255,47,47,255 | StrokeWidth 0
X=20
Y=10
MouseOverAction=[!CommandMeasure MeasureSlideInOut "Stop 2"][!CommandMeasure MeasureSlideInOut "Execute 1"]
MouseLeaveAction=[!CommandMeasure MeasureSlideInOut "Stop 1"][!CommandMeasure MeasureSlideInOut "Execute 2"]

[MeterString]
Meter=String
; This meter will be relative to the starting X and Y of its container.
X=#OffSet#
Y=33
FontSize=13
FontColor=255,255,255,255
SolidColor=0,0,0,1
FontWeight=400
AntiAlias=1
Text=Hello World!
DynamicVariables=1
MouseOverAction=[!SetOption MeterString FontColor "0,0,0,255"][!UpdateMeter *][!Redraw]
MouseLeaveAction=[!SetOption MeterString FontColor "255,255,255,255"][!UpdateMeter *][!Redraw]
LeftMouseUpAction=[!Log "Clicked me!"]
Container=MeterContainer

[MeasureSlideInOut]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Reset | Wait 1 | Repeat SlideIn, 30, 11
SlideIn=[!SetVariable OffSet "(Clamp(#OffSet#-12,20,130))"]#U#
ActionList2=Repeat SlideOut, 30, 11 | Wait 1 | Reset
SlideOut=[!SetVariable OffSet "(Clamp(#OffSet#-12,-130,20))"]#U#
Reset=[!SetVariable OffSet 130]#U#
IgnoreWarnings=1
DynamicVariables=1



Masking an image "content" meter into a string "container" meter.画像の「コンテンツ」メーターを文字列の「コンテナー」メーターにマスキングします。

[Rainmeter]
Update=1000
DynamicWindowSize=1
AccurateText=1

[Variables]

[MeterWeatherVisible]
Meter=Image
; We want to display the entire image, as well as the part
; masked into the string, so we use this Image meter to
; display our slightly muted image as a background.
ImageName=#@#Images\NiceWeather.jpg
W=400
PreserveAspectRatio=1
ImageTint=180,180,180,255

[MeterTemperatureShadow]
Meter=String
; The actual text of this meter will be overlaid by the
; string we are using as mask, but the shadow will
; be displayed around it.
X=90
Y=50
FontSize=120
FontWeight=700
FontColor=255,255,255,255
InlineSetting=Shadow | 2 | 2 | 3.5 | 0,0,0,255
AntiAlias=1
Text=41°

[MeterTemperatureMask]
Meter=String
X=90
Y=50
FontSize=120
FontWeight=700
; Note that no FontColor is needed, as long as it is fully opaque,
; which the default FontColor for a String meter is.
AntiAlias=1
Text=41°

[MeterWeatherMasked]
Meter=Image
ImageName=#@#Images\NiceWeather.jpg
; Since we set an X and Y on the String meter, and this image
; content will be relative to the start of that, we need to
; move the image up and left so it aligns the result with
; the "visible" Image meter, and masks correctly into the
; String meter.
X=-90
Y=-50
W=400
PreserveAspectRatio=1
Container=MeterTemperatureMask

関連記事

スポンサーリンク

/演算子 割り算

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る