Birunthan Mohanathas
3d9a605117
Gfx: Fix incorrect IID to DWriteCreateFactory (IDWriteFactory instead of IDWriteFactory1)
2013-11-02 18:13:50 +02:00
Birunthan Mohanathas
ca41a4575c
Gfx: Handle failed creation of D2D text layout
2013-10-15 17:09:41 +03:00
Birunthan Mohanathas
67948705f4
Gfx: Improve D2D compatibility with GDI+ with zero height text when calculating lines
2013-10-08 20:15:36 +03:00
Brian Ferguson
35f2e1591e
Gfx: Fix non-zero height for empty strings with D2D
...
http://rainmeter.net/forum/viewtopic.php?p=92801
2013-10-08 20:10:57 +03:00
Birunthan Mohanathas
15c65384f6
Gfx: Try to load D2D only on Win7+
2013-10-06 19:14:32 +03:00
Birunthan Mohanathas
2fb733ef75
Gfx: Remove __D2DParams
2013-10-06 17:07:00 +03:00
Birunthan Mohanathas
21d9c0698f
Gfx: Additional changes to d003db6
2013-09-29 17:57:21 +03:00
Birunthan Mohanathas
d003db6531
Gfx: Add __D2DParams option to allow testing D2D text rendering options
2013-09-29 11:28:28 +03:00
Birunthan Mohanathas
c1aa191235
Gfx: Use GDI+ instead of D2D when drawing scaled images
2013-09-28 17:51:42 +03:00
Birunthan Mohanathas
12e0564f3e
Gfx: Avoid clipping with D2D when not needed
2013-08-12 18:50:24 +03:00
Birunthan Mohanathas
180adbc759
Gfx: Fix text Y position for D2D with vertical Center/Bottom alignments
2013-08-11 11:42:23 +03:00
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
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
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
9d525b1c1a
D2D: More tweaks (partially reverts ccb2731
)
...
Should account for extra padding when #CRLF# is used.
2013-08-02 14:32:07 -06: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
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
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
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
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
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
e5100d9a9f
Gfx: Make text rendering with D2D more efficient by reusing layout
2013-03-28 15:51:12 +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
82970d1cce
Gfx: Add initial work
...
Gfx provides support for rendering with both Direct2D and GDI+.
2013-03-25 17:37:20 +02:00