It is currently March 28th, 2024, 11:56 pm

New Shape Meter

Changes made during the Rainmeter 4.0 beta cycle.
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: New Shape Meter

Post by jsmorley »

killall-q wrote:The more generic new shape types are, the more widely applicable they will be, at — maybe — the expense of ease of use, depending on the implementation.

I can think of nothing more generic than paths.
We certainly do have plans for something like: Shape=Path | Start 0,0 | LIneTo 50,50 | ArcTo 50,200 | CurveTo 0,200.... and so on. It is our intention to allow paths to be "open" or "closed".

Might take a little while, as it isn't trivial, but it's in the works.
User avatar
WyzzyMoon
Posts: 10
Joined: February 9th, 2016, 8:34 pm

Re: New Shape Meter

Post by WyzzyMoon »

YES !!

This would open a lot of possibility.
And it would make skins like my Pulseweb ( as linked by @killall-q above ) much easier.
Especially a "line"function where a could just add and X and Y of point A and an X and Y of point B to draw a line.
This would allow for rainmeter to be more like Processing, and you could create amazing visuals.
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: New Shape Meter

Post by jsmorley »

Code: Select all

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

[Variables]
Blue=49,106,163
Red=128,43,43
Green=43,128,57
Opacity=150
Scale1=1.0
Scale2=0.8
Scale3=0.9

[MeterShape1]
Meter=Shape
Shape=Rectangle 0,0,100,100,50 | Fill Color #Blue#,#Opacity# | StrokeWidth 0
Shape2=Rectangle (10*#Scale1#),(3*#Scale1#),80,64,40,32 | Fill LinearGradient MyGradient | StrokeWidth 0 | Scale #Scale1#, #Scale1#
MyGradient=270 | 255,255,255,90 ; 0.0 | #Blue#,0 ; 0.7

[MeterShape2]
Meter=Shape
X=120
Y=30
Shape=Rectangle 0,0,100,100,50 | Fill Color #Red#,#Opacity# | StrokeWidth 0 | Scale #Scale2#, #Scale2#
Shape2=Rectangle (10*#Scale2#),(3*#Scale2#),80,64,40,32 | Fill LinearGradient MyGradient | StrokeWidth 0 | Scale #Scale2#, #Scale2#
MyGradient=270 | 255,255,255,90 ; 0.0 | #Red#,0 ; 0.7

[MeterShape3]
Meter=Shape
X=40
Y=110
Shape=Rectangle 0,0,100,100,50 | Fill Color #Green#,#Opacity# | StrokeWidth 0 | Scale #Scale3#, #Scale3#
Shape2=Rectangle (10*#Scale3#),(3*#Scale3#),80,64,40,32 | Fill LinearGradient MyGradient | StrokeWidth 0 | Scale #Scale3#, #Scale3#
MyGradient=270 | 255,255,255,90 ; 0.0 | #Green#,0 ; 0.7
1.jpg
You do not have the required permissions to view the files attached to this post.
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: New Shape Meter

Post by jsmorley »

Quantum Gradients. Jumps from shape to shape without crossing the space between... ;-)

Code: Select all

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

[MeasureLoop]
Measure=Loop
StartValue=0
EndValue=200
InvertMeasure=1
IfCondition=MeasureLoop = 200
IfTrueAction=[!SetOption MeasureLoop InvertMeasure "1"][!UpdateMeasure MeasureLoop]
IfCondition2=MeasureLoop = 0
IfTrueAction2=[!SetOption MeasureLoop InvertMeasure "0"][!UpdateMeasure MeasureLoop]

[MeterExtendGradient]
Meter=Shape
X=1
Y=1
Shape=Rectangle 0,(0+[MeasureLoop]),30,(200-[MeasureLoop]) | Fill LinearGradient MyGradient | StrokeWidth 2
MyGradient=180 | 35,91,150 ; 0.0 | 44,150,35 ; 0.333 | 171,166,31 ; 0.666 | 171,31,31 ; 1.0
Shape2=Rectangle 40,(0+[MeasureLoop]),30,(200-[MeasureLoop])
Shape3=Rectangle 80,(0+[MeasureLoop]),30,(200-[MeasureLoop])
Shape4=Rectangle 120,(0+[MeasureLoop]),30,(200-[MeasureLoop])
Shape5=Rectangle 160,(0+[MeasureLoop]),30,(200-[MeasureLoop])
Shape6=Rectangle 200,(0+[MeasureLoop]),30,(200-[MeasureLoop])
Shape7=Rectangle 240,(0+[MeasureLoop]),30,(200-[MeasureLoop])
Shape8=Rectangle 280,(0+[MeasureLoop]),30,(200-[MeasureLoop])
Shape9=Rectangle 320,(0+[MeasureLoop]),30,(200-[MeasureLoop])
Shape10=Rectangle 360,(0+[MeasureLoop]),30,(200-[MeasureLoop])
Shape11=Rectangle 400,(0+[MeasureLoop]),30,(200-[MeasureLoop])
Shape12=Combine Shape | Union Shape2 | Union Shape3 | Union Shape4 | Union Shape5 | Union Shape6 | Union Shape7 | Union Shape8 | Union Shape9 | Union Shape10 | Union Shape11
DynamicVariables=1

[MeterBottomLine]
Meter=Shape
Shape=Rectangle 0,200,430,2 | StrokeWidth 0 | FillColor 0,0,0,255
Click to animate:
GradBar.gif
GradBar90.gif
You do not have the required permissions to view the files attached to this post.
mak_kawa
Posts: 908
Joined: December 30th, 2015, 9:47 am

Re: New Shape Meter

Post by mak_kawa »

I can't even imagine how I can use these features in my low-level simple skins so far... but really amazing evolution of Rainmeter!! Great work.
User avatar
rbriddickk84
Rainmeter Sage
Posts: 276
Joined: February 17th, 2014, 12:39 pm
Location: Hungary

Re: New Shape Meter

Post by rbriddickk84 »

Wow guys, this is an awesome breaktrough! Congrats for you all! :)

I was thinking that i didn't updated my Rainmeter for a while, so i downloaded it and checked the news about it. I was so excited to find out how it will works. First i thought it uses a different method.

This is just an idea (I know it would be hard to fill the outline shape)

What if you would draw out a shape like from point to point style, like this for example:

Code: Select all


[Shape]
Meter=Shape
Point1 = 0 | 0
Point2 = 50 | 0
Point3 = 50 | 20
Point4 = 0 | 20
#the values are: x | y
Once again, this is just my first idea that i thought this shape works, but then i realised that filling it would be difficult.
Also the rounding would be another hard point with my theory.
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: New Shape Meter

Post by jsmorley »

rbriddickk84 wrote:Wow guys, this is an awesome breaktrough! Congrats for you all! :)

I was thinking that i didn't updated my Rainmeter for a while, so i downloaded it and checked the news about it. I was so excited to find out how it will works. First i thought it uses a different method.

This is just an idea (I know it would be hard to fill the outline shape)

What if you would draw out a shape like from point to point style, like this for example:

Code: Select all


[Shape]
Meter=Shape
Point1 = 0 | 0
Point2 = 50 | 0
Point3 = 50 | 20
Point4 = 0 | 20
#the values are: x | y
Once again, this is just my first idea that i thought this shape works, but then i realised that filling it would be difficult.
Also the rounding would be another hard point with my theory.
It's coming.... It will be more like Shape=Path 0,0 | LineTo 50,0 | ArcTo 50,50 | ..., but yes, you will be able to "put your pen down, draw and pick your pen up", using Lineto, ArcTo and CurveTo. That will create a single "segmented" shape that you can stroke and fill as you like.

First we have some more "stand alone" shapes we will be adding tomorrow. Path is the Big Kahuna, and will take some doing and testing before it is ready.
User avatar
rbriddickk84
Rainmeter Sage
Posts: 276
Joined: February 17th, 2014, 12:39 pm
Location: Hungary

Re: New Shape Meter

Post by rbriddickk84 »

jsmorley wrote:It's coming.... It will be more like Path 0,0 | LineTo 50,0 | ArcTo 50,50 | ..., but yes, you will be able to "put your pen down, draw and pick your pen up", using Lineto, ArcTo and CurveTo. That will create a single "segmented" shape that you can stroke and fill as you like.
Oh my Gosh!!!!!! :o
You guys are incredibly awesome!!!!!! Wish i could support you guys somehow in the development process! :)

Wish you all the best! :D
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: New Shape Meter

Post by jsmorley »

rbriddickk84 wrote:Oh my Gosh!!!!!! :o
You guys are incredibly awesome!!!!!! Wish i could support you guys somehow in the development process! :)

Wish you all the best! :D
Any really clever or nice looking example skins using this stuff are always welcome. I'm not the world's most creative or artistic guy, and the more we demonstrate the capabilities, and how it is done, the better for the whole community.

Every shape I draw ends up looking vaguely like a penis, a swastika, or Kim Kardashian's butt...
User avatar
WyzzyMoon
Posts: 10
Joined: February 9th, 2016, 8:34 pm

Re: New Shape Meter

Post by WyzzyMoon »

jsmorley wrote:It's coming.... It will be more like Shape=Path 0,0 | LineTo 50,0 | ArcTo 50,50 | ..., but yes, you will be able to "put your pen down, draw and pick your pen up", using Lineto, ArcTo and CurveTo. That will create a single "segmented" shape that you can stroke and fill as you like.

First we have some more "stand alone" shapes we will be adding tomorrow. Path is the Big Kahuna, and will take some doing and testing before it is ready.
The shape meter is amazing so far, I've been able to simplify the code in my PulseWeb skin massively. Are you working on triangles as stand-alone shapes or will that be something to create with the upcomming Shape=Path 0,0 | LineTo 50,0 | LineTo 50,50 | ... ?

It would be cool to fill the weird and changing shapes this skin creates