Commit Graph

1233 Commits

Author SHA1 Message Date
Birunthan Mohanathas
176a9414f5 Gfx: Make D2D acknowledge trailing whitespace followed by a NBSP/MMSP
This hacky workaround makes D2D behavior consistent with GDI+.
2013-08-11 12:11:59 +03:00
Birunthan Mohanathas
a3efbbac3f Script: Improve 6560518
The Unicode state is not tracked using a stack instead of a raw boolean. This means that a Unicode script that e.g. updates a non-Unicode script measure will now work properly.
2013-08-07 17:48:13 +03:00
Birunthan Mohanathas
20393df751 Script: Change Unicode script support to require UTF-16 LE files rather than UTF-8 2013-08-07 17:09:25 +03:00
Birunthan Mohanathas
d0466c5588 Script: Additional change to f8c3867 for print() 2013-08-06 22:06:21 +03:00
Birunthan Mohanathas
bbb101cbd5 Cosmetics 2013-08-06 22:03:20 +03:00
Birunthan Mohanathas
f8c386793a Script: Fix memory corruption caused by 6560518 2013-08-06 21:58:41 +03:00
Birunthan Mohanathas
6560518037 Script: Add Unicode support
If the script file is UTF-8 encoded, all Lua strings are converted to/from as if they were UTF-8. Otherwise things continue to work as they have until now. Additionally, UTF-8 scripts cannot use deprecated features at all (PROPERTIES, GetStringValue).
2013-08-06 20:43:57 +03:00
Birunthan Mohanathas
d97128e2ab Additional change to 9c3808e 2013-08-04 21:25:43 +03:00
Birunthan Mohanathas
9c3808ea46 Logger: Fixed regression in 7960dfe 2013-08-04 21:24:06 +03:00
Birunthan Mohanathas
3e316ba19a Fix typo in 7960dfe 2013-08-02 15:07:03 +03:00
Birunthan Mohanathas
7960dfe2ab Logger: Tweaks 2013-08-02 15:00:36 +03:00
Birunthan Mohanathas
a1f15d9adc Minor tweaks 2013-08-02 14:46:42 +03:00
Birunthan Mohanathas
923215c0da ConfigParser: Implement ReadBool
This may break backwards compatibility in some cases. For example, the FreeDiskSpace measure treated only `Type=1` as true and `Type={0, 2, 3, ...}` as false. Now `Type=0` is false and everything else is true like with most other boolean options.
2013-07-31 13:36:53 +03:00
Birunthan Mohanathas
20cac72e9b Gfx: Implement GDI+ fallback 2013-07-30 22:57:46 +03:00
Brian Ferguson
2418c3692f Manage Dialog: Added "UseD2D" option in the Settings Tab
If changed, all skins are refreshed
Option is disabled on systems that do not support D2D
2013-07-25 16:44:06 -06:00
Brian Ferguson
05cbcb9aa8 Temporarily added "__UseD2D" to [Rainmeter] section of skin that overrides global "UseD2D" value to help in testing. 2013-07-25 15:03:14 -06:00
Brian Ferguson
b27bf1ee63 Added "AccurateText" option [Rainmeter] section of a skin.
When AccurateText=0 (default) and UseD2D=0, inaccurate GDI+ measuring of text is used
When AccurateText=1 and UseD2D=0, Accurate measuring occurs similar to D2D
When AccurateText=0 and UseD2D=1, D2D adds padding to the text similar to GDI+
When AccurateText=1 and UseD2D=1, Accurate measuring occurs using D2D
2013-07-25 14:53:02 -06:00
Brian Ferguson
e3c8ae2dfa Fixed issues with Padding 2013-07-21 09:49:16 -06:00
spx
5f1d1c5888 Fixed hittest of Button meter due to lack of compatibility with new "Padding" option 2013-07-21 19:46:13 +09:00
Brian Ferguson
369f8c7082 Meter.cpp: Typo in commented section 2013-07-20 10:11:34 -06:00
Brian Ferguson
d67db33ecf Added "Padding" option to meters.
Usage: Padding = left, top, right, bottom
2013-07-20 10:07:51 -06:00
spx
8f2f65c1fc !SetWallpaper: Additional fix to 3104a53
http://rainmeter.net/forum/viewtopic.php?f=14&t=16074

If it still causes crash, it might need to create a clone image first before saving as a bitmap.
2013-07-17 06:17:34 +09:00
spx
ed9ea73e6b Changed Button meter behavior. Now ignores transparent area of the button when mouseover. 2013-07-16 12:26:31 +09:00
Brian Ferguson
8bf1f6aec8 Add "Paused=0/1" to measures. This is an addition to a883e9d. 2013-07-15 11:59:58 -06:00
Birunthan Mohanathas
239e61fd14 Additional changes to dca5795 2013-07-13 13:49:53 +03:00
Birunthan Mohanathas
ff24a06827 Revert ConfigParser change in f9ab4ee 2013-07-12 23:14:48 +03:00
Birunthan Mohanathas
dca5795929 Plugin API: Add RmReplaceVariables function 2013-07-12 23:01:02 +03:00
Birunthan Mohanathas
19551cbb6c Tweaks and cosmetics 2013-07-12 10:34:40 +03:00
Birunthan Mohanathas
92b1e7af8d Tweaks 2013-07-12 10:11:39 +03:00
Brian Ferguson
f66f858180 MeterWindow: Fixed previous typo in commented section 2013-07-11 14:30:17 -06:00
Brian Ferguson
a883e9d47d Add !PauseMeasure, !UnpauseMeasure, and !TogglePauseMeasure bangs. This is similar to a disabled measure, only it retains its value instead of changing to 0.
Also, group bangs !PauseMeasureGroup, !UnpauseMeasureGroup, and !TogglePauseMeasureGroup bangs have been added.
2013-07-11 14:29:23 -06:00
Brian Ferguson
f9ab4ee414 Added DynamicVariables support for WebParser 2013-07-10 17:01:15 -06:00
spx
3104a53107 Fixed !SetWallpaper issue
http://rainmeter.net/forum/viewtopic.php?f=14&t=16018
2013-07-10 23:00:27 +09:00
spx
ca787306b5 Additional fix to 7849b2a
http://rainmeter.net/forum/viewtopic.php?f=14&t=16014
2013-07-09 21:59:37 +09:00
Brian Ferguson
05964e9f7f CommandHandler: Cosmetics 2013-06-29 11:03:24 -06:00
Brian Ferguson
eb74f359ba CommandHandler: Fixed error in log message 2013-06-29 11:00:27 -06:00
Brian Ferguson
eeef84dfa0 Added skin/section (if available) to logging. 2013-06-29 10:59:18 -06:00
Birunthan Mohanathas
6d87614d4c Fix drawing skin with zero width/height (regression in ef1cf22) 2013-06-23 14:21:04 +03:00
Birunthan Mohanathas
13ebeccfd7 Script: Fix that some meter related operations (e.g. !HideMeterGroup) did not work in Initialize() 2013-06-23 14:03:44 +03:00
spx
f15a8fa72e Fixed mistake in previous commits 2013-06-17 21:05:31 +09:00
spx
bda6e3aa47 Additional fix to 4a625d0 2013-06-17 20:57:50 +09:00
spx
4a625d0c2f Fixed issue that ImageName is ignored if MeasureName is set
http://rainmeter.net/forum/viewtopic.php?p=88820

Reverted this part: 136689bcfb (L4L167)
2013-06-17 20:24:33 +09:00
Birunthan Mohanathas
7c76cf8b2d Additional tweaks to a4c7e83 2013-06-16 20:02:28 +03:00
Birunthan Mohanathas
a4c7e83391 Move context menu related code into ContextMenu.cpp 2013-06-16 19:54:22 +03:00
Birunthan Mohanathas
a4b36423b9 Fix double call of DestroyMenu 2013-06-16 19:52:25 +03:00
Birunthan Mohanathas
5c91ab365d Refactor skin scanning and skin folder indexing into SkinRegistry.cpp
This also adds tests.
2013-06-16 19:36:09 +03:00
Birunthan Mohanathas
531eee06da Remove DisableThreadLibraryCalls.h
By default, VC++ links in a stub entry point, which already calls DisableThreadLibraryCalls(). See: %VS110COMNTOOLS%..\..\VC\crt\src\dllmain.c
2013-06-14 17:23:14 +03:00
Birunthan Mohanathas
096023ba6e Cosmetics 2013-06-14 16:58:53 +03:00
Birunthan Mohanathas
9a62ebef95 Fix crash caused by 04090b2 2013-06-14 16:58:42 +03:00
Birunthan Mohanathas
8a086ffdcb Make unit tests available in Release builds 2013-06-13 21:13:57 +03:00
Birunthan Mohanathas
c5e2a7a2cb Actually fix running debug projects that use unit testing 2013-06-13 20:52:15 +03:00
Birunthan Mohanathas
d63bb00f94 Revert "Fix running debug projects that use unit testing"
This reverts commit ced3dd2.
2013-06-13 20:23:42 +03:00
Birunthan Mohanathas
ced3dd20ca Fix running debug projects that use unit testing 2013-06-13 20:17:24 +03:00
Birunthan Mohanathas
384298a43e Add some tests for ConfigParser 2013-06-13 17:32:35 +03:00
Birunthan Mohanathas
bcbfc4d4db Logger: Cosmetics 2013-06-13 17:22:42 +03:00
Birunthan Mohanathas
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
Birunthan Mohanathas
be3efa7531 Move MathParser to Common 2013-06-13 17:00:24 +03:00
Birunthan Mohanathas
cd4bf6d17a Create Common.vcxproj to use files under Common as a static library 2013-06-12 21:54:23 +03:00
Birunthan Mohanathas
d079d13da6 Move path related functions into PathUtil 2013-06-12 21:15:16 +03:00
Birunthan Mohanathas
68430b54db Revert "Script: Extend Measure:GetStringValue to support a parameter table"
This reverts commit b0d101e.
2013-06-10 18:19:33 +03:00
Birunthan Mohanathas
b0d101ed71 Script: Extend Measure:GetStringValue to support a parameter table
Example usage: GetStringValue({AutoScale = 0, Scale = 1.0, NumOfDecimals = 0, Percentual = false})
All keys are optional.
2013-06-09 23:15:43 +03:00
Birunthan Mohanathas
72bf8dc317 String: Fix issue with Angle= since 59b3dea 2013-06-09 19:05:46 +03:00
Birunthan Mohanathas
5b60d6c400 Enable /MP for large projects to reduce Release build time 2013-06-08 13:23:44 +03:00
Brian Ferguson
f1cb311723 ImagePath: Fixed that the image was not reloaded when changing with !SetOption 2013-06-07 23:45:28 -06:00
Brian Ferguson
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
spx
c6ec9093b7 Fixed that !Toggle causes infinite loop 2013-06-05 01:05:02 +09:00
spx
f1a77bb482 Fixed that some group bangs can't be executed 2013-06-04 06:04:23 +09:00
spx
7849b2a6e1 Fixed crash when group bang is executed on exiting Rainmeter 2013-06-04 05:58:30 +09:00
Birunthan Mohanathas
bdb5605d24 Move RawString.h into Common 2013-05-31 17:34:36 +03:00
Birunthan Mohanathas
1934c5db72 Change NULL to nullptr 2013-05-31 17:28:39 +03:00
Birunthan Mohanathas
da9384cfad Remove "C" prefix in class names 2013-05-31 17:18:52 +03:00
Birunthan Mohanathas
4332cea3d0 Fixes to f8c3f11 2013-05-30 19:59:50 +03:00
Birunthan Mohanathas
f8c3f11913 Refactor command and bang logic into new CCommandHandler class
This also improves bang log messages, which now include the bang name.
2013-05-30 19:55:59 +03:00
Birunthan Mohanathas
85b214de0e Fix regression in f4429ad 2013-05-30 19:36:09 +03:00
Birunthan Mohanathas
096ad80183 Minor fix to f4429ad 2013-05-30 17:21:53 +03:00
Birunthan Mohanathas
a3d8f73f6c Tweak f4429ad 2013-05-30 17:19:42 +03:00
Birunthan Mohanathas
ca0f2e608f Minor fixes to f4429ad 2013-05-29 22:08:51 +03:00
Birunthan Mohanathas
f4429ad8cc Refactor logging logic into new CLogger class 2013-05-29 22:05:41 +03:00
Brian Ferguson
c873405422 Roundline meter: Fixed a rounding error when using a large value for StartAngle 2013-05-16 13:45:32 -06:00
Brian Ferguson
bd971168cc Added "UseExifOrientation" to Image meters 2013-05-10 13:33:26 -06:00
Birunthan Mohanathas
87f69dee55 Reduce build time by moving Rainmeter.lib outside of Library project 2013-05-09 17:53:24 +03:00
Birunthan Mohanathas
67542f31dd Improve 24ef81d
Rainmeter.exe now uses delay-loading for Rainmeter.dll instead of manually loading it.
2013-05-05 13:09:48 +03:00
Birunthan Mohanathas
799b4e6279 Change to use the Win8 SDK headers despite using the v110_xp toolset
This will allow the use of WRL headers (e.g. for WRL::ComPtr) while maintaining compatibility with XP.
2013-05-01 13:51:21 +03:00
Birunthan Mohanathas
7581e3ac98 Move basic project options into Project.props 2013-05-01 13:02:17 +03:00
Brian Ferguson
497f6bbf54 Added OnWakeAction.
Executes when returning from sleep/hibernation.
2013-04-27 09:26:03 -06:00
Birunthan Mohanathas
d09c18a862 Fix "Image: Unable to open..." errors on refresh in some cases
The error usually occurred because the substitutes were not applied on the measure value on the first time. This change ensures that measure options are read prior to reading meter options.
2013-04-25 16:44:33 +03:00
Brian Ferguson
8b477d1a9b String Meter: Fixed capitalization problem when letter followed whitespace that was not a space. 2013-04-18 11:19:21 -06:00
Brian Ferguson
1fd382d192 Reverted a903629 and add778c 2013-04-12 22:42:20 -06:00
Birunthan Mohanathas
73adaffe43 Additional changes to 4f26f77 2013-04-12 18:22:39 +03:00
Birunthan Mohanathas
ad9149b143 Gfx: Move WIC files to Util 2013-04-12 17:09:42 +03:00
Birunthan Mohanathas
3827353c08 Gfx: Implement DWrite interfaces required for loading fonts 2013-04-12 17:05:21 +03:00
Birunthan Mohanathas
8c184a3dbb Simplify aa3c7eb 2013-04-10 19:04:28 +03:00
Birunthan Mohanathas
aa3c7eb8ce Tweaks to reduce OnChangeAction overhead 2013-04-10 19:00:22 +03:00
Birunthan Mohanathas
0b3a4d86c4 Gfx: Add FontCollection implementation
The D2D implementation is a stub for now.
2013-04-09 20:35:49 +03:00
Birunthan Mohanathas
e1b39f62b1 Change version check URL to use new github.io domain 2013-04-07 12:20:16 +03:00
Brian Ferguson
59b3dea21c Gfx: Added support for TransformationMatrix and Angle (for String meters) 2013-04-05 02:35:20 -06:00
Brian Ferguson
add778cfea Add icon to 'Exit' in tray context menu.
Also adds the icon to the 'Exit' option in the Rainmeter sub menu in a skin's context menu.
2013-04-03 10:31:19 -06:00
Birunthan Mohanathas
a903629fc4 Add icon to 'Unload skin' in context menu 2013-04-03 12:38:50 +03:00
Birunthan Mohanathas
d862324887 Add UseD2D to preserved settings 2013-03-31 19:33:36 +03:00
Birunthan Mohanathas
3921369f35 Revert b9cdc53 2013-03-31 18:18:38 +03:00
Birunthan Mohanathas
0135b81a17 Optimize UpdateLayeredWindow when only alpha is changing 2013-03-31 12:52:03 +03:00
Birunthan Mohanathas
349988e5dd Gfx: Add GDI+ specific temporary solution for transformations 2013-03-29 13:33:11 +02:00
Birunthan Mohanathas
39fe9750fd Gfx: Add temporary solution for local fonts 2013-03-28 15:09:46 +02:00
Birunthan Mohanathas
c6374f7c12 Minor tweaks and fixes 2013-03-28 14:26:55 +02:00
Birunthan Mohanathas
5f03d7b235 Gfx: Fix rendering issues in some cases
It seems that Direct2D does not expect the underlying pixel data of the render target to change outside of the target draw commands while the render target exists. As a result, Direct2D may in some cases overwrite changes to the pixel data. This change changes the render target to be (re)created for each batch of Direct2D drawing operations as a temporary solution. As a side effect, a DIB section is now used as the render target bitmap.
2013-03-26 21:29:05 +02:00
Birunthan Mohanathas
4fbc3c56a5 Add <memory> to StdAfx.h 2013-03-25 18:10:40 +02:00
Birunthan Mohanathas
0994fad7e9 Add UseD2D option to Rainmeter.ini (defaults to 0) 2013-03-25 18:01:21 +02:00
Birunthan Mohanathas
ef1cf223a7 Change to use Gfx rendering 2013-03-25 17:42:18 +02:00
Birunthan Mohanathas
82970d1cce Gfx: Add initial work
Gfx provides support for rendering with both Direct2D and GDI+.
2013-03-25 17:37:20 +02:00
Birunthan Mohanathas
9bf5871abf Fix crash when actions are executed by plugin threads after skin unload 2013-03-21 14:29:59 +02:00
spx
5252c95fd6 Fixed that copy operation fails on XP if from path ends with path separator 2013-03-18 20:29:03 +09:00
Birunthan Mohanathas
5d6794ce7b Script: Fix handle leak with unclosed script file 2013-03-17 17:58:25 +02:00
Birunthan Mohanathas
c171a31d9d Fix mistake in f9e4230 2013-03-12 17:57:18 +02:00
Birunthan Mohanathas
f9e4230ddd Move CSystem::GetOSPlatform() to Platform.h 2013-03-12 17:53:55 +02:00
spx
87014a8a87 Tweaks
- Use InitializeCriticalSectionEx function with CRITICAL_SECTION_NO_DEBUG_INFO flag.
2013-03-12 13:30:43 +09:00
spx
6ad5d56498 Additional changes to af8befd: Fixed that unloaded skin is not deleted properly in rare case. 2013-03-11 06:06:02 +09:00
spx
27fe4a1e1c Tweaks 2013-03-11 05:08:00 +09:00
spx
aecef0b5f9 Additional changes to af8befd 2013-03-11 04:59:05 +09:00
Birunthan Mohanathas
ad59b70768 Manage: Fix crash when loading a skin in some cases 2013-03-10 12:17:15 +02:00
Birunthan Mohanathas
af8befd22b Fix that unloaded skin is displayed in context menu until fade is complete 2013-03-10 12:14:40 +02:00
spx
3552a928dd Added error check for zero divide 2013-03-09 02:39:17 +09:00
spx
53f5ceb674 Updated plugin API
- Added new option to RmGet(): RMG_SKINNAME, RMG_SKINWINDOWHANDLE
2013-02-27 20:00:26 +09:00
spx
533d53e446 Code cleanup 2013-02-26 03:57:37 +09:00
Birunthan Mohanathas
f81b4ff8bb Added __declspec(novtable) to interface classes 2013-02-19 16:53:00 +02:00
spx
f48c7f9e01 Reverted change at OnDelayedMove() in d25ae27:
http://rainmeter.net/forum/viewtopic.php?p=83860
2013-02-12 23:19:17 +09:00
spx
d25ae270c4 Tweaks
* Optimized some part for multi monitor
2013-02-09 01:52:41 +09:00
spx
95aacda3cb Code cleanup 2013-02-06 19:12:16 +09:00
spx
1c8b798928 Tweaks
* Merged Shrink() code to Tokenize()
2013-02-06 19:09:17 +09:00
spx
e96b02d3dc Tweaks
* Replaced if-else with switch-case
2013-02-06 18:55:45 +09:00
spx
da34fc1fa8 Additional change to 0b84213, 0d8e8ac
http://rainmeter.net/forum/viewtopic.php?p=83467
2013-02-03 19:31:52 +09:00
spx
8ce97640dd OnChangeAction: Tweaks 2013-01-29 16:02:16 +09:00
spx
89d477b4e1 Minor tweaks 2013-01-29 15:59:08 +09:00
Brian Ferguson
c0d969f4b6 String meter: Fixed issues with ClipString=2 2013-01-28 00:38:26 -07:00
Birunthan Mohanathas
438f79bf5d Tweaks 2013-01-27 12:49:23 +02:00
Birunthan Mohanathas
fdcd5a9757 Tweaks 2013-01-27 12:49:22 +02:00
spx
654599d192 Code cleanup 2013-01-27 18:39:13 +09:00
Brian Ferguson
178ccb0af4 ClipString options changed back to 0/1, and Auto changed to 2 to be more consistent with other options and to allow formulas. 2013-01-25 21:05:47 -07:00
spx
cef10fee4d CSystem: Minor fix for buffer size 2013-01-26 02:08:41 +09:00
spx
39459ad64b Code cleanup 2013-01-24 05:24:25 +09:00
Brian Ferguson
84b1e3a7cd Deprecated ClipString values 0/1 in favor of OFF/ON and added new value AUTO.
Added ClipStringW/ClipStringH options that work with ClipString=AUTO.
2013-01-23 11:57:01 -07:00
Brian Ferguson
2fc204c6fa Fixed line endings issue with 9375b50 2013-01-16 10:33:02 -07:00
spx
c807d270b5 MouseVariables: Changed X,Y origin 1 to 0.
Code cleanup
2013-01-16 23:09:06 +09:00
spx
9375b5013c Code cleanup 2013-01-16 19:23:42 +09:00
Brian Ferguson
9da869363d Added special mouse variables 2013-01-15 17:51:02 -07:00
spx
e2c88e0946 Removed accidentally committed code 2013-01-15 04:39:35 +09:00
spx
4e27d71d97 Additional changes to c3982da 2013-01-15 04:30:10 +09:00
spx
c3982da712 Code cleanup 2013-01-15 01:37:13 +09:00
Brian Ferguson
731a0c611a Added OnUpdateAction to !UpdateMeter/!UpdateMeasure bangs 2013-01-11 00:37:10 -07:00
Brian Ferguson
69762e1b05 Revised previous commit 2013-01-11 00:23:21 -07:00
Brian Ferguson
61f088e59c Fixed issue with 8330415 2013-01-10 23:48:31 -07:00