Commit Graph

122 Commits

Author SHA1 Message Date
Maarten Bent
99573ecddd Add more error checks to Direct2D wxGraphics code
Check the result of the operations instead of just assigning them to "hr"
variable which is then never used.
2015-10-16 17:12:57 +02:00
Vadim Zeitlin
d1dfcd1497 Fix some g++ warnings in D2D graphics code
Avoid warnings about a class with virtual methods having non-virtual dtor and
not handling an enum value in a switch.

See #16625.
2015-09-29 00:54:25 +02:00
Vadim Zeitlin
2a9a42fd23 Don't pretend that we implement IWICBitmapSource::CopyPalette()
We don't and it's unclear how to do it, so just return
WINCODEC_ERR_PALETTEUNAVAILABLE instead of pretending that we copied the
palette when we didn't.

See #16625.
2015-09-29 00:49:37 +02:00
Vadim Zeitlin
576b0033c0 Fix wrong use of wxCHECK2_MSG in D2D graphics code
This was supposed to be wxCHECK_MSG().

See #16625.
2015-09-29 00:46:27 +02:00
Vadim Zeitlin
db415ad04d Compilation fixes for C++98 compilers in D2D graphics code
Don't use ">>" token in nested templates, this is not allowed in C++98 but
only C++11.

Also don't use "= NULL" on pure virtual functions.

See #16625.
2015-09-29 00:44:08 +02:00
Vadim Zeitlin
827e3d455a Build fixes for PCH-less build for D2D graphics context
Include the required headers in all cases currently, ideal would be to include
them only inside "#ifndef WX_PRECOMP" but it's probably not a big problem to
just do it always.

See #16625.
2015-09-29 00:42:26 +02:00
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