Commit Graph

80 Commits

Author SHA1 Message Date
Vadim Zeitlin
332afcdb2f Make GetClippingBox() work for wxPrinterDC in wxGTK.
GetClippingBox() implementation relies on wxDCImpl::m_clip[XY][12] being
updated in DoSetClippingRegion() but this wasn't done here. Fix this by adding
the code to do this to the base class version of this method and calling it
from wxGtkPrinterDCImpl.

Also, refactor wxGCDCImpl to reuse the same code instead of duplicating it.

Closes #14697.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72674 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-14 14:55:32 +00:00
Paul Cornett
38ae64e696 remove unused OSX includes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-08-02 16:37:09 +00:00
Paul Cornett
0c4438d26e Fix wxGCDC::Clear() for Cairo, and possibly MSW.
Maximum positive coordinate Cairo can handle is 2^23 - 1.
Also convert coordinates to logical so it works right with modified origin or scale.
See #14529


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72279 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-08-02 16:25:14 +00:00
Robin Dunn
9eefb5c14a Adding wxDC::GetHandle for wxOSX-cocoa and wxOSX-carbon
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-28 19:31:03 +00:00
Paul Cornett
f30b9eed38 avoid creating and immediately destroying a wxGraphicsContext when creating a wxDC with wxGTK3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-13 16:58:37 +00:00
Paul Cornett
8bcf695ecd remove code in SetFont which modifies font for no apparent purpose
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72020 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-11 07:05:55 +00:00
Paul Cornett
e7042ce73b Avoid creating and immediately destroying a wxGraphicsContext for most uses of wxGCDC.
This also causes the dummy "measuring context" to be properly initialized with a default font


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72019 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-11 06:36:38 +00:00
Vadim Zeitlin
12ca260575 Clear larger area in wxGCDC::Clear().
Clearing a rectangle of size 32000 was not always enough to clear the entire
DC, so use INT_MAX instead -- this is the best we can do with the current
approach.

Closes #13445.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-02 15:05:39 +00:00
Stefan Csomor
a9946c4e6b removing unnecessary - and incorrect - override, fixes #14319
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-19 14:24:13 +00:00
Stefan Csomor
38274d1de3 avoiding potential mismatch between true and expected state of wxGraphicsContext because it might have been changed through its direct API meanwhile, fixes #14226
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71214 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-17 16:57:12 +00:00
Vadim Zeitlin
be6b31f34f Restore the correct brush in wxGCDC::GradientFill() methods.
Both GradientFillLinear() and GradientFillConcentric() changed the brush on
the underlying wxGraphicsContext but didn't restore the default brush back.

Closes #14131.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-29 23:43:43 +00:00
Paul Cornett
be88fea9ea adjust Blit destination rect if source rect is clipped
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-08 17:06:06 +00:00
Stefan Csomor
9c17ca3fe6 avoid accepting an invalid color, ignore it, as other ports do, fixes #13720
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69967 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-09 15:23:37 +00:00
Robin Dunn
82614b1a72 Don't always use the Cairo context for wxGCDC(wxMemoryDC). If a Cairo context is wanted then the wxGCDC(wxGraphicsContext*) ctor should be used instead. (I thought I had removed this code with my last commit of this file...)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69217 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-29 07:28:04 +00:00
Robin Dunn
932d0768aa * Implement dynamic loading of the Cairo DLL on Windows similar to how it was
done for GDI+.

* Enable the use of the wxCairoContext on MSW.

* Enable creating a wxGCDC from an exisiting wxGraphicsContext.

* Since it's possible for a DLL that is using wx to not be on the PATH nor in
  the same location as the .exe, change the wxDynamicLibrary::RawLoad method to
  explicitly look first in the same place as the main wx-using binary.  This way
  it will find DLLs that are in the same folder as the wx-using binary even if
  that would not be in the normal DLL search path.  

* Change wxDCImpl and wxDC::GetLogicalScale to be const methods.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 23:26:53 +00:00
Paul Cornett
d0f93bc7dc Avoid creating rect with negative size while clipping to DC size.
Also, don't convert result of wxDC::GetSize() to device coords, it's already device coords.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-16 07:02:37 +00:00
Vadim Zeitlin
2d770c4f82 Added wxGCDC(wxEnhMetaFileDC) ctor too.
Make it possible to create wxGCDC associated with a metafile DC in wxMSW too.

Closes #13326.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68304 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-19 22:35:41 +00:00
Vadim Zeitlin
53d4bdbc15 Add wxDCImpl::MSWApplyGDIPlusTransform() to formalize wxRendererMSW hack.
Replace the dynamic_cast<> used in wxMSW wxRenderer implementation code with a
virtual function call.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68180 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-07 13:05:22 +00:00
Vadim Zeitlin
6c0e710f00 Make wxGCDC::GetGraphicsContext() const.
There is no reason for this accessor to not be const and it prevents other
methods using it from being const too, so change this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68179 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-07 13:05:16 +00:00
Vadim Zeitlin
fec4e45897 Add wxCOMPOSITION_INVALID mode and use it to simplify the code.
Having an invalid element in wxCompositionMode enum allows to directly return
it from TranslateRasterOp() function instead of needing a separate bool
parameter to indicate that a ROP couldn't be translated.

This also incidentally fixes warnings about possibly uninitialized variables
in optimized g++ builds.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-02 10:29:11 +00:00
Stefan Csomor
a6afde630c support multiline strings using the same workaround as msw, fixes #13019
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67666 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-01 19:07:16 +00:00
Dimitri Schoolwerth
d13b34d3f2 No code changes, fixed various typos.
Applied patch by snowleopard2 fixing typos in interface/. Extended the fixes throughout trunk.

Closes #13076.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-03 20:31:32 +00:00
Vadim Zeitlin
01871bf642 Add wxUSE_STD_CONTAINERS and turn it on by default.
Previously, wxUSE_STL enabled both implicit conversion of wxString to
std::[w]string and use of standard containers for the implementation of their
wx equivalents. Split up the two roles now by allowing to enable the use of
the standard containers independently of (backwards incompatible) implicit
conversion in wxString and actually enable wxUSE_STD_CONTAINERS by default.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-30 14:16:04 +00:00
Dimitri Schoolwerth
4c51a665c6 Fixed various typos.
Applied patch by snowleopard2 fixing a bunch of typos such as misspellings and double words in the documentation. Combined the patch with some local queued typos waiting to be committed as well as adding new typo fixes inspired by the patch.

Function names with American spelling were not changed nor was third-party code touched. The only code changes involve some changes in strings that are translated ("Can not" -> "Cannot").

Closes #13063 (again).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 14:17:38 +00:00
Dimitri Schoolwerth
80fdcdb90e No changes, synchronised source names that appear commented at the top of files with the actual path to the files.
Fixed commented names (path, filename, and extension) of files in include/ and src/. Prepended the names in src/ with "src/" everywhere, while starting those in include/wx/ with "wx/".

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 00:14:35 +00:00
Dimitri Schoolwerth
6636ef8ddf Use wxString's empty() when checking if the string is (non-)empty throughout wx.
Instead of constructs such as if "( s.length() )" and "if (s.length() > 0)" use "if ( !s.empty() )" instead. Similarly for "if (s.length() == 0)" or "if ( s.IsNull() )", use "if ( s.empty() )".
No code changes intended except for a few instances where a construct like "if ( s.length() && wxFileExists(s) )" was changed to not check the length of the string and let wxFileExists handle such cases.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-22 14:38:36 +00:00
Stefan Csomor
cb98e78b1e fixing iterator comparison
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-01 11:06:16 +00:00
Stefan Csomor
954c66fafc changing compositing mode for Clear, see #12756
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66362 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-11 11:48:38 +00:00
Vadim Zeitlin
584be856d1 Don't test possibly uninitialized variable in wxGCDC::SetLogicalFunction().
The variable "mode" is not filled by TranslateRasterOp() function if the input
function is not supported, so don't compare it with wxCOMPOSITION_XOR later.
Just compare "function" itself with wxXOR as this works in any case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64111 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-22 14:16:22 +00:00
Kevin Ollivier
d9edff064d Create a text measuring context until a real context is assigned, this allows things like text measurement code using wxMemoryDC to work on Mac.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-03 22:52:04 +00:00
Kevin Ollivier
c0e69d720d Forward port of r60190 (wxMSW Cairo support) to trunk.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-18 19:05:42 +00:00
Stefan Csomor
502113941d switching to explicit flush mode, otherwise clientdc destruction lead to contention in customrenderers in osx
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-24 19:22:40 +00:00
Vadim Zeitlin
8462a84b2c Removed wxFont::Set/GetNoAntiAliasing() implementations.
Most of them were dummy and didn't do anything and this API was never meant to
be used anyhow.

Keep just the declarations in wxFontBase but mark them as deprecated.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62349 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-09 13:04:59 +00:00
Vadim Zeitlin
03647350fc No changes, just removed hard tabs and trailing white space.
This commit is huge but there are no non-white-space changes in it.

Some files containing third-party sources (src/msw/wince/time.cpp,
src/x11/pango*.cpp) were left unchanged.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-21 10:41:26 +00:00
Stefan Csomor
65bd7f79c8 supporting SetFont(wxNullFont), fixes #10980
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61369 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-10 14:24:01 +00:00
Stefan Csomor
92a942606f supporting AA font flags on wxGCDC, fixes #10579
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-13 17:53:58 +00:00
Stefan Csomor
bf02a7f976 switching to compositing operators (fixes #9881), adding layers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58917 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-15 16:52:05 +00:00
Francesco Montorsi
89efaf2b65 change generic ints to enums in wxDC (closes #9959)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57907 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-08 14:21:53 +00:00
Stefan Csomor
0b6a49c21f forward define for non precomp build, switching preproc constants for consistency
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-05 19:02:51 +00:00
Vadim Zeitlin
08de440369 honour useMask parameter in DrawBitmap() and StretchBlit() (#9841)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-21 21:12:44 +00:00
Stefan Csomor
6d0d845548 better guarding when no printing architecture exists (patch from Joel Low)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54869 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-31 06:57:33 +00:00
Stefan Csomor
c933e267be fixing file paths after renaming
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-11 19:22:25 +00:00
Vadim Zeitlin
fdaad94e75 deprecate wxDC::SetClippingRegion(wxRegion) overload and replace it with SetDeviceClippingRegion() to avoid confusion due to use of different kind of coordinates in this and other overloads of the same function; also rename wxDCImpl::DoSetClippingRegionAsRegion() to DoSetDeviceClippingRegion(); finally use bounding box of the region passed to wxDCClipper ctor to avoid interpreting coordinates differently for different ctors of the same class (see #8970)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54024 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-08 01:45:56 +00:00
Stefan Csomor
47c1bb9515 fixing arc filling for angles > 180
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53771 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-27 04:49:30 +00:00
Robert Roebling
d225267e66 Made the various logical 2 device transforms consistent with what's drawn on all platforms
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-19 12:42:11 +00:00
Robert Roebling
b25c34aae4 Added constructor to wxGCDC from wxPrinterDC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53421 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-30 09:26:02 +00:00
Stefan Csomor
71be467a6c cleaning up common OSX code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52373 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-07 16:50:27 +00:00
Stefan Csomor
1cc7d13a08 graphics context additions and merging graphics bitmap additions from Kevin O.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-05 21:11:44 +00:00
Vadim Zeitlin
b02d434010 include wx/dcclient.h to declare wxWindowDC (blind fix for buildbot compilation error)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-22 21:54:45 +00:00
Stefan Csomor
7b98cf028f keep the owning window
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50892 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-22 09:25:37 +00:00