Commit Graph

34 Commits

Author SHA1 Message Date
04090b232a Make Rainmeter a singleton class
This change is part of making the Libray project more testable. The old g_Rainmeter global pointer has been replaced with a GetRainmeter() function to guarantee that the object exists in some state.
2013-06-13 17:20:27 +03:00
136689bcfb Added ImagePath to all meters with general image options. This deprecates the Path option for Image meters.
Also fixes bug in MeterHistogram that crashes Rainmeter when the PrimaryImage is invalid.
Note: For Histogram the option is called PrimaryImagePath, SecondaryImagePath, and BothImagePath
2013-06-07 13:35:36 -06:00
da9384cfad Remove "C" prefix in class names 2013-05-31 17:18:52 +03:00
59b3dea21c Gfx: Added support for TransformationMatrix and Angle (for String meters) 2013-04-05 02:35:20 -06:00
ef1cf223a7 Change to use Gfx rendering 2013-03-25 17:42:18 +02:00
4bbc372116 Tweaked measure binding 2012-07-17 10:37:53 +03:00
922dd098c9 Cosmetics: Changed "config" to more consistent and descriptive terms 2012-06-01 16:06:36 +03:00
e3d92d354c Cosmetics 2012-05-30 21:53:44 +03:00
6efb485e69 Cosmetics 2012-05-30 21:51:06 +03:00
ba239ffeea Changed all numerical options or numerical parameters of bangs to accept formulas 2012-04-06 15:16:54 +03:00
bb44c29f6c Cosmetic changes to function comment blocks. 2012-02-20 19:10:40 +00:00
3c98527338 Add: Formulas now allowed in the following settings:
LineWidth
LineLength
StartAngle
RotationAngle
Angle
ImageRotate
MinValue
MaxValue
IfAboveValue
IfEqualValue
IfBelowValue
2012-02-19 15:45:43 +00:00
spx
ebec08914a Adjusted copyright notice.
http://www.gnu.org/licenses/gpl-2.0.html
2012-01-23 06:36:15 +00:00
spx
f28ecf6e83 Minor tweaks. 2011-11-28 14:13:20 +00:00
spx
34005f14a4 Switched from std::wstring.compare() to wcscmp(). 2011-11-27 08:30:39 +00:00
spx
a3572f3255 Tweaks. 2011-05-04 18:48:26 +00:00
a92bdd9b18 Cosmetic changes to code. 2011-03-29 19:21:57 +00:00
spx
fe9fd9f476 Code cleanup. 2011-02-15 16:26:54 +00:00
spx
7ea3a762ac - Fixed that r716 (precompiled header) doesn't work on x64.
- Now uses constructor initialization list in each class.
- TintedImage: Code cleanup.
2011-01-29 00:11:01 +00:00
spx
a0ae80cd04 Added image manipulation codes to Meter=BITMAP/BUTTON/HISTOGRAM and refactored them.
For BITMAP/BUTTON:
- Greyscale
- ImageTint
- ImageAlpha
- ColorMatrixN
- ImageFlip
Note: BITMAP and BUTTON are not able to support ImageRotate.

For HISTOGRAM:
- PrimaryGreyscale
- PrimaryImageTint
- PrimaryImageAlpha
- PrimaryColorMatrixN
- PrimaryImageFlip
- PrimaryImageRotate
- Secondary***
- Both***
2010-11-27 19:53:23 +00:00
spx
999ab0bd18 Code optimization. 2010-11-25 22:00:34 +00:00
spx
cab258a7e5 Code optimization and removed unused part for reducing core dll size. 2010-11-11 20:24:59 +00:00
71ce46442e Fixed an issue with dynamic variables not working on the image effects. 2010-10-18 22:30:45 +00:00
74fd39f912 Fixed copy paste typo - m_ImageWidthString was there twice instead of m_ImageHeightString 2010-10-17 18:21:44 +00:00
2b960748f1 * MeterImage
+ Added

* MeterBar and MeterRotator
  + Added support for image effects on Bar and Rotator.
2010-10-17 17:51:14 +00:00
spx
c7cd612502 Fixed the issue that dynamic image name is not correctly applied in most meters. (Issue 157) An error message is now output to the log instead of showing the dialog box. 2010-06-03 14:14:53 +00:00
0b4ba32924 Added cache for the fonts.
Fixed a memory leak in the string meter.
Changed the library project to use precompiled headers.
2009-10-07 16:45:14 +00:00
8ea3c6780a Additional code changes by spx268 to address issues with other image meter types (MeterBar, MeterBitmap, MeterButton, MeterRotator) and dynamic variables.
http://code.google.com/p/rainmeter/issues/detail?id=108
2009-09-07 20:00:50 +00:00
4bf4e51126 Reverted the changes from r209. 2009-09-04 16:37:51 +00:00
8239919333 Added MeterStyle functionality:
Rainy, given the "issues" listed at the bottom of this comment, I leave it to you whether to create a build using this revision or use r208 for the build.  I would like to start testing MeterStyle, but there are a few more things it needs work on.

What is MeterStyle?

MeterStyle
This will allow users to create CSS-like "Styles" for meters. This means that all the parameters of a meter can be defined in the style, and then many meters can use the style to eliminate copy / pasting the same parameters over and over on multiple meters. (Examples: FontColor=, FontSize= etc.)

How do I use it?

You will create a new [Section] (as many as you want) in the .ini. The section(s) can have any name.

[MyStringStyle]

Then you will tell Rainmeter that this is a "MeterStyle" and not a measure or meter

Style=Meter

Note: The "value" of the key "Style" can be anything. It can be used to add a description of the style if you like. Style=This style is for the AccuWeather part of this skin
It is however required, both to tell Rainmeter it is not a meter or measure and to have the MeterStyle routines parse it.

Then you define parameters you want to use in the style

FontColor=#FontColor#
FontFace=TheSansBold-Caps
FontSize=11
StringEffect=SHADOW
StringStyle=BOLD
StringAlign=LEFT
AntiAlias=1

Then in any or all meters, you just use

[MeterName]
Meter=STRING (or any other meter type)
MeterStyle=MyStringStyle

None of the parameters in the style are then required to be actually in the meter(s). They are "inherited" from the MeterStyle.

Note: This works and has had preliminary testing with dynamic variables like FontColor=[MeasureName] and regular variables like FontColor=#FontColor#. It doesn't matter if the [Variables] section or the [MeasureName] measure is before or after the [StyleName] in the .ini file.

What if I want to override a MeterStyle parameter on a meter?

Sure. Just put in any parameter with a value different from the one defined in the MeterStyle and the one in the meter will take presidence. All non-defined parameters will still use the MeterStyle value.

[MeterName]
Meter=STRING
MeterStyle=MyStringStyle
FontColor=100,100,100,50

What are these "known issues" you are on about?

This is still a bit of a work in progress. Right now you cannot define X or Y in a style. You can define W and H, but NOT for a STRING meter. You cannot define a "Transformation Matrix" in a style. MattKing will be looking into these tomorrow. W and H in a string meter is our top priority. We will also look at X and Y and hope for an easy solution. Transformation Matrix may have to come later.
2009-09-04 14:48:28 +00:00
dd9ab1dc04 Added support for transformation matrix in meters. 2009-07-27 11:48:57 +00:00
a7c6c939ac Skins are now read from the My Documents by default.
Added the revision number to the about dialog (use UpdateRevision.py to update it).
Added a check to the startup which verifies that the rainmeter.ini is writable.
The skin folder can be opened from the context menu.
2009-07-24 07:56:37 +00:00
5d2f960552 Code cleanup. 2009-02-14 10:11:28 +00:00
30edc895f2 2009-02-10 18:37:48 +00:00