Commit Graph

142 Commits

Author SHA1 Message Date
Birunthan Mohanathas
027feabf86 Gfx: Make bottom overhanging characters visible with D2D 2013-08-10 17:01:48 +03:00
Birunthan Mohanathas
b8333dc66d Gfx: Fix clipping with D2D when a transformation has been applied 2013-08-10 16:58:30 +03:00
Birunthan Mohanathas
42e8d5ee22 Gfx: Additional changes to 56218f7 2013-08-10 15:29:09 +03:00
Birunthan Mohanathas
56218f7af4 Gfx: Improve line trimming with D2D when one line is visible 2013-08-10 15:26:50 +03:00
Birunthan Mohanathas
34abccc29b Gfx: Check for errors in TextFormatD2D::SetProperties 2013-08-10 15:25:36 +03:00
Birunthan Mohanathas
2e2ced7403 Gfx: Additional change to 6e04fd9 2013-08-10 14:14:02 +03:00
Birunthan Mohanathas
aa4c4a6dfc Gfx: Make AccurateText=1 more consistent with GDI+ for D2D when a newline character is the last character of the text 2013-08-10 13:58:54 +03:00
Birunthan Mohanathas
6e04fd983f Gfx: Make AccurateText=0 more consistent with GDI+ for D2D
The height is now based on a formula that should be exactly equal to that provided by GDI+. The padding should now be equal on the left and right sides now. There may be some discrepancies in overall width, but it should always be reasonably to close to GDI+.

In addition, this makes D2D behavior match GDI+ when a newline character is the last character of the text.
2013-08-10 13:54:53 +03:00
Birunthan Mohanathas
63f5eed742 Fix build bustage caused by 38ec6c3 2013-08-10 13:13:04 +03:00
Birunthan Mohanathas
616f986181 Gfx: Make D2D clip text that overflows the bounding box similarly to GDI+ 2013-08-10 12:13:59 +03:00
Birunthan Mohanathas
38ec6c3832 Gfx: Fix incorrect text X-position for StringAlign=Center with D2D 2013-08-10 12:08:15 +03:00
Birunthan Mohanathas
21f5ff1303 Gfx: Fix incorrect text height/width with D2D in some cases due to typo 2013-08-10 12:03:40 +03:00
Birunthan Mohanathas
5fcf4b785d Gfx: Fix that empty strings have a width and/or height with D2D 2013-08-04 21:46:59 +03:00
Brian Ferguson
1e82a1659f D2D: Undo recent W/H calculations and revert back to 37fd105 calculations 2013-08-02 15:42:37 -06:00
Brian Ferguson
bb53ddf71c D2D: Minor tweaks 2013-08-02 14:35:08 -06:00
Brian Ferguson
9d525b1c1a D2D: More tweaks (partially reverts ccb2731)
Should account for extra padding when #CRLF# is used.
2013-08-02 14:32:07 -06:00
Brian Ferguson
ccb273117a D2D: Tweaks 2013-08-02 09:54:14 -06:00
Birunthan Mohanathas
a1f15d9adc Minor tweaks 2013-08-02 14:46:42 +03:00
Birunthan Mohanathas
6b8d8a65d0 Gfx: Suppress int to float conversion warning 2013-07-31 13:15:26 +03:00
Birunthan Mohanathas
3c8c8a1f5e Gfx: Additional change to 37fd105 2013-07-31 13:12:15 +03:00
Birunthan Mohanathas
37fd105650 Gfx: Add Util::GetAdjustedDWriteTextLayoutMetrics to reduce code duplication 2013-07-31 13:09:48 +03:00
Birunthan Mohanathas
82b8920443 Gfx: Added comment 2013-07-31 12:55:32 +03:00
Brian Ferguson
572f2da0d2 D2D: Tweaks 2013-07-30 17:01:16 -06:00
Birunthan Mohanathas
20cac72e9b Gfx: Implement GDI+ fallback 2013-07-30 22:57:46 +03:00
Birunthan Mohanathas
44300e2f41 Gfx: Change to use D2D 1.1 2013-07-30 22:38:51 +03:00
Brian Ferguson
12dcf4628a D2D: Tweaks 2013-07-28 22:33:27 -06:00
Brian Ferguson
2dda00a071 D2D: Tweaks to spacing 2013-07-28 12:01:35 -06:00
Brian Ferguson
6aab840dfb D2D: Adjusted character spacing for AccurateText=0 2013-07-28 11:20:28 -06:00
Brian Ferguson
52b5e2584a D2D: Removed centering of text within W/H (from 481442b) due to conflict with different alignments and a meter's defined W/H. 2013-07-28 01:10:19 -06:00
Brian Ferguson
481442bc19 D2D: Tweaked formula that calculates the width/height of text using AccurateText=0 to better match GDI+. Also centers the text inside the adjusted width/height. 2013-07-28 00:00:22 -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
96f27fffcb Reverted 32fc794 and cd35729 2013-07-20 10:09:37 -06:00
Brian Ferguson
f76634055d Reverted 6e9bc98 due to bug in GDI+ and newline
http://rainmeter.net/forum/viewtopic.php?p=89915#p89915
2013-07-16 12:28:05 -06:00
Brian Ferguson
6e9bc98d0b GDI+: Add trailing whitespace when measuring text (similar to 32fc794) 2013-07-13 10:16:35 -06:00
Brian Ferguson
cd35729a17 Fixed typo in 32fc794 2013-06-30 00:15:36 -06:00
Brian Ferguson
32fc7948ee CanvasD2D: Fix for trailing whitespace
http://rainmeter.net/forum/viewtopic.php?p=89139#p89139
2013-06-29 23:44:56 -06:00
Birunthan Mohanathas
096023ba6e Cosmetics 2013-06-14 16:58:53 +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
a80c905be9 Add tests for StringUtil 2013-06-13 17:01:16 +03:00
Birunthan Mohanathas
516ef1a354 Add tests for MathParser 2013-06-13 17:01:00 +03:00
Birunthan Mohanathas
be3efa7531 Move MathParser to Common 2013-06-13 17:00:24 +03:00
Birunthan Mohanathas
3cebbc6b53 Add Common_Test project and PathUtil_Test.cpp
The tests use the new Native Unit Test framework in VS2012.
2013-06-12 23:13:04 +03:00
Birunthan Mohanathas
fed4b080b0 Cosmetics 2013-06-12 23:08:45 +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
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
0f6f6d48e5 Gfx: Minor fixes 2013-05-05 17:34:22 +03:00
Birunthan Mohanathas
e10cdd2a86 Gfx: Minor fix 2013-05-05 13:21:30 +03:00
Birunthan Mohanathas
18d5ee383d Gfx: Wrap pointers with std::unique_ptr 2013-05-01 14:38:52 +03:00
Birunthan Mohanathas
eb5044b6fb Gfx: Change COM pointers to use WRL::ComPtr 2013-05-01 14:10:31 +03:00
Birunthan Mohanathas
c7e172f906 Gfx: Fix D2D DrawBitmap when source X/Y is not 0 2013-04-14 18:06:28 +03:00
Birunthan Mohanathas
31d717085e Gfx: Fix mistakes in b737352 2013-04-13 18:58:24 +03:00
Birunthan Mohanathas
d04bb46009 Gfx: Improve D2D local font support 2013-04-12 19:41:47 +03:00
Birunthan Mohanathas
b73735251e Gfx: Cosmetics 2013-04-12 19:18:56 +03:00
Birunthan Mohanathas
d50c2ed33f Gfx: Add support for local fonts with D2D
This does not yet work with family names containing e.g. 'Light'.
2013-04-12 18:12:45 +03:00
Birunthan Mohanathas
4b95f07ca6 Add missing files in 4f26f77 2013-04-12 18:06:51 +03:00
Birunthan Mohanathas
4f26f777c9 Gfx: Move DWrite helpers to Util 2013-04-12 17:31:12 +03:00
Birunthan Mohanathas
b8bda82226 Gfx: Cosmetics 2013-04-12 17:14:43 +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
507e0294fe Gfx: Add comments 2013-04-09 20:54:40 +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
4d22c5ac61 Gfx: Improve D2D support for subfamilies like 'Light' 2013-04-08 18:24:09 +03:00
Birunthan Mohanathas
7c90f65659 Gfx: Tweaks 2013-04-08 17:29:26 +03:00
Birunthan Mohanathas
53c6966819 Gfx: Tweaks 2013-04-08 17:21:47 +03:00
Birunthan Mohanathas
12bd890aef Gfx: Cosmetics 2013-04-07 14:32:41 +03:00
Birunthan Mohanathas
2f8f67e2cf Gfx: Make D2D font family name handling more consistent with GDI+ 2013-04-07 14:30:50 +03:00
Brian Ferguson
d0704a69d0 Cosmetics: Fixes VS2012 syntax highlighting 2013-04-05 15:07:51 -06:00
Brian Ferguson
59b3dea21c Gfx: Added support for TransformationMatrix and Angle (for String meters) 2013-04-05 02:35:20 -06:00
Birunthan Mohanathas
349988e5dd Gfx: Add GDI+ specific temporary solution for transformations 2013-03-29 13:33:11 +02:00
Birunthan Mohanathas
6f81e31f10 Gfx: Delay creation of ellipsis with D2D 2013-03-28 15:52:17 +02:00
Birunthan Mohanathas
e5100d9a9f Gfx: Make text rendering with D2D more efficient by reusing layout 2013-03-28 15:51:12 +02:00
Birunthan Mohanathas
71a454f954 Gfx: Cosmetic tweaks 2013-03-28 15:11:55 +02:00
Birunthan Mohanathas
39fe9750fd Gfx: Add temporary solution for local fonts 2013-03-28 15:09:46 +02:00
Birunthan Mohanathas
056277ce4f Gfx: Tweaks 2013-03-28 14:45:10 +02:00
Birunthan Mohanathas
5bf776090d Gfx: Avoid creating D2D render target when not necessary 2013-03-28 14:44:43 +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
7f51273950 Cosmetics 2013-03-26 21:28:34 +02:00
Birunthan Mohanathas
27440ed515 Tweaks 2013-03-25 18:05:57 +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
f9926a0ef9 Add support for modal dialogs 2013-03-18 17:48:30 +02:00
Birunthan Mohanathas
f9e4230ddd Move CSystem::GetOSPlatform() to Platform.h 2013-03-12 17:53:55 +02:00
Birunthan Mohanathas
fdcd5a9757 Tweaks 2013-01-27 12:49:22 +02:00
Birunthan Mohanathas
fdd350ef42 Cosmetics 2012-12-13 12:11:27 +02:00
Birunthan Mohanathas
3d6132811f Replaced dialog resources with control template
Also fixed tabbing in dialogs.
2012-12-13 11:12:25 +02:00
Birunthan Mohanathas
28b96e703c Replaced menu resources with menu template 2012-11-30 16:38:40 +02:00