Commit Graph

16 Commits

Author SHA1 Message Date
Paul Cornett
2dfbb810a4 avoid shadowed variable warning with VS2015, see #17112 2015-08-19 11:21:44 -07:00
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Vadim Zeitlin
da41c5d9bb Don't leak global objects in Direct2D code.
Ensure that all globals are freed on library shutdown by using a module just
to perform this cleanup.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77753 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-21 01:41:14 +00:00
Vadim Zeitlin
db73e480ef Don't call CoInitializeEx() from Direct2D code.
This is unnecessary, COM is already initialized on the application startup and
Direct2D can't be used before that anyhow.

This also fixes lack of matching CoUninitialize() call.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-21 01:41:10 +00:00
Stefan Csomor
f5d6be6d86 fixing memory leak
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77697 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-14 18:11:38 +00:00
Vadim Zeitlin
4d16d86821 Fix memory leak when creating new Direct2D-based wxGraphicsContext.
ID2D1DCRenderTarget was leaked every time a wxD2DContext was created because a
raw pointer was given to wxCOMPtr<> which didn't take its ownership.

Use wxCOMPtr instead of the raw pointer to fix this and also fix more rare but
still possible leak in case of error.

This fixes out of memory errors and crashes in the drawing sample after a few
seconds of constant window resizing/repainting.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77693 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-14 01:00:11 +00:00
Vadim Zeitlin
c8e27bcaf7 Simplify Direct2D DLLs loading code a little.
Bail out earlier: if d2d1.dll is not there, it doesn't make sense to try to
load dwrite.dll.

Also use Load() return value directly instead of ignoring it and then checking
for IsLoaded().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77684 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-11 20:33:27 +00:00
Vadim Zeitlin
7dec99c0a8 Suppress error messages when checking for Direct2D availability.
Use wxDL_QUIET flag when loading Direct2D DLLs as we're prepared to handle
their absence and don't need to show error messages if they're not available.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77683 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-11 20:33:24 +00:00
Vadim Zeitlin
b59176869a Fix Direct2D code compilation in non-Unicode build.
DirectWrite GDI interop only works with Unicode LOGFONTW, so use it explicitly
instead of LOGFONT which is LOGFONTA in non-Unicode build.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-11 11:37:10 +00:00
Vadim Zeitlin
c2d70a0340 Convert Direct2D source file to Unix EOL format.
No other changes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77668 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:52:24 +00:00
Vadim Zeitlin
1643a7dd51 Use ID2D1Bitmap instead of ID2D1Image.
ID2D1Image is not defined in v7.0A platform SDK used by VC10 and doesn't seem
to be needed here as we are only working with ID2D1Bitmaps (deriving from
ID2D1Image) anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:52:16 +00:00
Vadim Zeitlin
8734eb3732 Don't use enum name for qualifying enum element.
This is a non-standard MSVC extension and can't be done in standard C++.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77666 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:52:13 +00:00
Vadim Zeitlin
ab3977ddc3 Remove PI definition from Direct2D wxGraphicsContext code.
The line defining PI didn't compile with VC10 because atan(1) is ambiguous
(argument could be float, double or long double). And it was not needed anyhow
as PI was not used anywhere (and if it were, we should be just using M_PI from
wx/math.h anyhow), so simply remove it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:52:10 +00:00
Stefan Csomor
bba268b379 fixing initialization order, fixes #16542
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-09 13:53:28 +00:00
Stefan Csomor
fd36509e51 fixing implicit narrowing conversions, silencing ICC warnings, fixes #16542
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-09 09:58:39 +00:00
Stefan Csomor
0c69d619dc direct2d GSOC2014 add addtional file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77550 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-06 14:59:53 +00:00