Commit Graph

66 Commits

Author SHA1 Message Date
Vadim Zeitlin
350867939a Add bool return value for wxDC::GetClippingBox()
Determining whether there is an actual clipping region or not is not
that simple, as shown by the recent problems in wxDCClipper code, so
return a boolean value indicating this from GetClippingBox() directly,
instead of requiring the caller to find it out on their own.

This simplifies wxDCClipper code, as well as any other code calling
GetClippingBox(), at the price of some extra complexity in wxDCImpl
itself, which seems to be worth it.
2018-06-18 14:39:11 +02:00
John Roberts
ba719c576e Document the new wxDCClipper behaviour after last commit change
wxDCClipper does restore the (bounding box of the) previously active
clipping region now.

See #13834.
2017-12-24 15:46:57 +01:00
mgimenez
52130e43ab Minor documentation fix
'heightLine" parameter is not applicable to the function being described.

Closes #17806.
2017-02-25 18:52:23 +01:00
Artur Wieczorek
41a2b3e371 Fix applying affine transformation matrix in wxGCDC
In wxGCDCImpl::ComputeScaleAndOrigin() current affine transformation matrix (applied with SetTransformMatrix, ResetTransformMatrix) has to be concatenated with current basic transformations (applied with SetDeviceOrigin, SetLogicalScale, etc.).

Closes #17674.
2016-09-20 21:31:56 +02:00
pb101
0bb7d9966f Fix copy paste mistake in wxDCFontChanger::Set() documentation
Use correct "wxFont" instead of "wxColour".

Closes #17665.
2016-09-16 01:36:37 +02:00
Artur Wieczorek
49000defcf Add support for affine transformation matrix in wxGCDC
Graphics renderers (exposed through wxGraphicsContext) support arbitrary affine transformations so it is possible to add support for affine transformations in wxGCDC by implementing all wxGCDC::*TransformMatrix() functions with calls to respective wxGraphicsContext functions.
Additionally, this implementation adds support for affine transformations in wxDC under wxGTK3 because in this port wxDC is equivalent to wxGCDC.
2016-09-08 19:34:43 +02:00
Artur Wieczorek
2821d68a73 Updated wxDC and wxGraphicsContext documentation 2016-07-15 21:03:56 +02:00
Artur Wieczorek
832db47346 Fixed layer management in Direct2D renderer.
ID2D1RenderTarget::PushAxisAlignedClip/PopAxisAlignedClip used to clip the region (with wxGraphicsRenderer::Clip) and ID2D1RenderTarget::PushLayer/PopLayer used to rendering to the transparent layer (with wxGraphicsRenderer::BeginLayer) are non independent but have to be used in the controlled sequences: "A PushAxisAlignedClip and PopAxisAlignedClip pair can occur around or within a PushLayer and PopLayer, but cannot overlap" (and of course finally each Push* call must have a matching Pop* call).
To control the sequence of access to the AxisAlignedClips and Layers there is implemented a wxStack data member holding Clips/Layers parameters which reflects a physical stack of respective Clips/Layers in ID2D1RenderTarget. This way we know in which order to pop and what to pop from ID2D1RenderTarget stack if there is a need to do so.

Closes #17590
2016-07-05 21:58:34 +02:00
Artur Wieczorek
8615921f42 Fixed retrieving clipping box parameters when there is no clipping region set.
When there is no clipping region currently set then current effective clipping region is identical with entire DC surface and therefore DC size should be returned as a region size.

Closes #17013
2016-07-03 22:39:48 +02:00
Artur Wieczorek
dafd0f217b Fixed setting clipping box.
While setting a clipping box there is necessary to intersect it either with current clipping region location if such region exists or with wxDC surface extents if no clipping region is set. This way effective clipping box will be always inside the wxDC surface.
Note: Effective clipping box can be an empty region.

See #17013
2016-07-03 22:39:23 +02:00
Vadim Zeitlin
bbe0ba46e2 Fix heading of transformation matrix section in wxDC docs
The first word of the section title was misinterpreted as an anchor, add a
real anchor to prevent this from happening.
2016-06-24 23:10:56 +02:00
Kolya Kosenko
bb2b48f2ba Handle negative width size in GDI+ DrawRectangle() and document it
Apparently it's a common convention to allow width and/or height of a
rectangle to be negative as both GDI and Cairo handle this natively, so also
allow this for GDI+ and document this as the expected behaviour.

Closes #17495.
2016-04-23 18:31:01 +02:00
Tobias Taschner
baa47dc435 Drop Mac prefix on remaining instances of OS X in docs.
This should have been part of df33c0c491 but somehow where missed.
2016-02-23 13:05:44 +01:00
Catalin
71ad2d64ef Remove obsolete symbols and platforms from the documentation
Don't mention pre-XP Windows versions and other obsolete platforms such as
OS/2 and the symbols which were only useful for them.

Closes https://github.com/wxWidgets/wxWidgets/pull/137
2015-12-03 22:05:55 +01:00
Tobias Taschner
09b23156f5 Remove outdated documentation remarks on Windows prior XP.
Since Windows XP is now the minimum supported target all remarks referencing differences in Windows versions prior XP have been removed or updated.
2015-09-27 19:07:20 +02:00
Vadim Zeitlin
394b04b7e4 Document wxDC::{Set,Get}Logical{Scale,Origin}() functions.
They are relatively important, especially the origin-related ones as
SetUserScale() can (should?) be used instead of SetLogicalScale(), but
SetLogicalOrigin() can be more convenient than SetDeviceOrigin(), so provide
at least skeletal documentation for them.
2015-07-09 19:20:43 +02:00
Dimitri Schoolwerth
31145b8e3a Fix some typos, no code changes (besides strings) 2015-06-05 02:54:46 +04:00
Vadim Zeitlin
8b72652a28 Make results of wxDC::DrawEllipticArc() consistent across all platforms.
And also consistent with wxGraphicsContext method with the same name.

Document the rules determining what is drawn.

Closes #4437.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78125 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-11 01:02:14 +00:00
Vadim Zeitlin
0a86fd0f4f Support multiline strings in wxDC::DrawRotatedText() in wxMSW.
The native API doesn't support this, so do it by splitting the string into
lines manually.

Closes #9686.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-31 19:33:53 +00:00
Vadim Zeitlin
7ce66e3c43 Use wxPENSTYLE_{SOLID,TRANSPARENT} instead of deprecated versions in the docs.
Don't push people to use the deprecated wxSOLID and wxTRANSPARENT.

Closes #15775.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75409 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-23 16:43:51 +00:00
Paul Cornett
2014950b1c spelling fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75072 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-26 18:51:16 +00:00
Vadim Zeitlin
8b3102cfb6 Improve wxDC::DrawArc() documentation.
The existing documentation was flat out wrong as it is simply impossible to
pass a circle through any two arbitrary points while also fixing its centre,
explain what this function really does and also use this as an opportunity to
point people to DrawEllipticArc() which is much less confusing.

Also clarify the segments drawing logic of DrawArc() as it is quite
counterintuitive too as it depends on the brush being used and is also
different from DrawEllipticArc() which uses a simpler logic.

See #15609.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-25 16:16:45 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
7ddb154164 Document that wxDC::FloodFill() is not implemented under wxOSX.
wxOSX uses wxGCDC for its wxDC functionality and wxGCDC doesn't implement this
operation, even not using the horribly inefficient wxGTK fallback.

See #15151.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74244 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-15 21:49:52 +00:00
Paul Cornett
4787c92d39 use const arrays for wxDC array parameters, closes #10712
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-18 17:27:51 +00:00
Vadim Zeitlin
0824e36969 Fix premature truncation of brief descriptions in Doxygen comments.
Don't end the brief description at the first period if it's a period which is
part of "i.e." or "e.g.": escape the space following it to prevent Doxygen
from recognizing it as an end of sentence.

See #14866.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-01 00:14:07 +00:00
Robin Dunn
0c3140ca44 Interface fixes for Phoenix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72330 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-08-14 05:11:59 +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
Vadim Zeitlin
586f402336 Document that wxDCClipper currently resets clipping region.
Unlike other similar classes, this one doesn't restore the previous clipping
region but just resets it because there is no way to get the current clipping
region from wxDC now. At least document this limitation until it can be fixed.

See #13834.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-28 22:24:31 +00:00
Robin Dunn
e5e10e234e Remove the wxPython-only doc snippets from the C++ docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71170 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-10 03:27:44 +00:00
Vadim Zeitlin
6f26e88002 Honour source wxDC coordinate system in wxDC::Blit() in wxMSW.
wxGTK and wxOSX already did this so do it in wxMSW as well.

Update the documentation to make this explicit.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71028 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-27 12:28:04 +00:00
Vadim Zeitlin
825842b411 Make wxDC::Blit() and StretchBlit() documentation more useful.
Enumerating the list of parameters in the method description is not especially
helpful, don't do it. Explain the functions relationship instead.

Also don't say that StretchBlit() is not implemented in wxGTK because it does
work there (using the generic implementation using wxDC scale).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71027 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-27 12:28:01 +00:00
Vadim Zeitlin
72dc73023f Mention the limitations of wxDC::GetPixel() and FloodFill() in wxGTK.
These methods can't be used directly on wxPaintDC in wxGTK and it doesn't seem
possible to fix this so just document this limitation.

Closes #14067.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70827 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-06 14:19:29 +00:00
Robin Dunn
9a0774600b Interface fixes for Phoenix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69300 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-04 07:45:08 +00:00
Robin Dunn
8ff9b17d57 Fix some broken or add some missing interface declarations for Phoenix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-03 01:39:02 +00:00
Vadim Zeitlin
e71508e160 Add wxDC::SetTransformMatrix() and related methods and implement them in wxMSW.
Add support for world transformations to wxDC too. Currently this is
implemented in wxMSW only but could be easily provided in the ports that use
wxGraphicsContext for wxDC implementation later.

Closes #13092.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-23 16:03:10 +00:00
Vadim Zeitlin
403695b323 Add support for alpha channel in colours in wxSVGFileDC.
Use stroke-opacity and fill-opacity SVG attributes to handle pens and brushes
created from colours with alpha channel in wxSVGFileDC.

Closes #13086.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67373 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-02 16:37:54 +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
Vadim Zeitlin
e29bf4b056 Add wxDC::GetFontMetrics() and implement it for wxMSW.
Add a new wxDC method allowing to retrieve the font characteristics not
available from GetTextExtent(), notably the internal leading (and also the
average font width).

Currently this is implemented for wxMSW only, the internal leading is always 0
in the other ports.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:48:13 +00:00
Vadim Zeitlin
519d7f238c Fix wxUSE_DC_CACHEING spelling in the documentation.
It was consistently misspelt as wxUSE_DC_CACHE.

Closes #12377.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66080 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-10 00:36:45 +00:00
Vadim Zeitlin
a5bb451448 Allow passing multi-line strings to wxDC::DrawText(), even under MSW.
Native wxMSW wxDC::DrawText() implementation doesn't support multi-line
strings so use the generic wxDC::DrawLabel() code instead. Drawing multi-line
strings now works at least in wxGTK and wxMSW, to be tested for the other
platforms.

Closes #12239.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65058 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-23 23:32:52 +00:00
Vadim Zeitlin
526954c596 Globally use "wxWindows licence" consistently.
Use "wxWindows licence" and not "wxWidgets licence" (the latter doesn't
exist) and consistently spell "licence" using British spelling.

See #12165.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-13 13:29:13 +00:00
Francesco Montorsi
12194090d2 more readable argument names for wxDC::DrawArc
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-06 11:34:33 +00:00
Vadim Zeitlin
83b4d26c14 Document more wxDC drawing functions overloads.
Document overloads taking wxPoint/wxSize/wxRect in addition to the versions
taking individual wxCoords.

Closes #11752.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-25 00:03:22 +00:00
Mattia Barbon
1058f65203 Copy wxPerl notes from the LaTeX documentation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62451 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-18 17:47:01 +00:00
Vadim Zeitlin
ca4adfd062 Added wxDCFontChanger ctor not changing font.
This is similar to the existing wxDCTextColourChanger ctor not changing colour
and is useful in the same kind of situations: when the font may or not be
changed.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-12 13:59:13 +00:00
Vadim Zeitlin
489cc69b39 Document wxDCTextColourChanger "do nothing" constructor.
Only wxDCTextColourChanger(wxDC, wxColour) one was documented, also document
wxDCTextColourChanger(wxDC) and its Set() method now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62381 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-12 13:59:06 +00:00
Vadim Zeitlin
4feecbb929 added wxDC::CopyAttributes() and use it in wxBufferedDC to ensure that wxAutoBufferedPaintDC font is correctly initialized from the window font, as it already happens with wxPaintDC that it mimics
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-31 19:40:04 +00:00
Vadim Zeitlin
3821ccfaa6 document that setting an empty clipping region destroys the existing one
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-07 08:58:54 +00:00
Francesco Montorsi
ac55e6b01e correct SetFont() documentation: at least wxMSW and wxGTK do allow the user to pass wxNullFont (or another invalid font instance) (see #10475)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60412 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-27 18:44:42 +00:00