Commit Graph

28 Commits

Author SHA1 Message Date
Vadim Zeitlin
ed6dc2e4ed Support pixel scaling in wxBufferedDC
Use the scale factor of the associated DC to create the bitmap of the
appropriate size.

This is similar https://github.com/wxWidgets/wxWidgets/pull/158 but uses
portable API instead of wxOSX-specific code.

See #17302.
2016-02-22 22:21:47 +01: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
33ad33d447 Add wxOVERRIDE and use it in common and wxOSX code.
Make overriding virtual methods more explicit and enable additional checks
provided by C++11 compilers when "override" is used.

Closes #16100.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-20 13:26:28 +00:00
Vadim Zeitlin
d3a9b6a331 Make the test for wxBUFFER_VIRTUAL_AREA in wxBufferedDC code more clear.
While "!a & b" is the same as "!(a & b)" when "b" is a single bit, the latter
is much more standard and more clear, so write this test (added in r71704)
like this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74952 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 09:59:01 +00:00
Vadim Zeitlin
9273033d5a Partially account for the shifted origin in wxBufferedDC.
This change slightly improves wxBufferedDC and wxBufferedPaintDC behaviour
when the origin of the DC is shifted, but they still don't work quite right in
this case as they don't use the buffer area of correct size in this case,
which results in cropping the final bitmap (as can be seen in the drawing
sample, which was modified to show wxBufferedPaintDC in action).

Closes #15497.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74951 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 09:58:56 +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
Robin Dunn
0681e07a14 Keep track of the area intended to be buffered, and use that in UnMask instead of defaulting to the buffer size. Only clip to the DC size if wxBUFFER_VIRTUAL_AREA is not set. This fixes the issue where buffering the full virtual area in a wxScrolledWindow would only draw an area the physical size of the window. Fixes #11612.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71704 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-08 19:26:19 +00:00
Vadim Zeitlin
fe576f48fb Verify the validity of the buffer size in wxBufferedDC.
Passing invalid (e.g. negative) buffer size to wxBufferedDC resulted in many
problems later on so refuse it immediately.

Closes #13175.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-01 15:47:46 +00:00
Vadim Zeitlin
ce00f59b5b No changes whatsoever, just remove trailing whitespace.
There are no real changes in this commit but it removes all trailing white
space from our source files. This avoids problems when applying patches and
making diffs and it would be nice to prevent it from reappearing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-30 11:44:45 +00:00
Robin Dunn
e6933ff911 SetUserScale(1.0, 1.0) in Unmask() so the image will not be scaled again when blitted
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65623 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-23 21:08:26 +00:00
Robin Dunn
455bec652a Test m_dc before using it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63903 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-07 20:29:08 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
a96827606e postpone the call to CopyAttributes() until the DC is fully initialized (closes #10867)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60891 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-04 08:55:44 +00:00
Vadim Zeitlin
4581c9136b don't blit more than necessary in wxBufferedDC::UnMask() (patch 1943622) [should have been part of r53565]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-17 22:13:22 +00:00
Vadim Zeitlin
7c9f643a85 don't attempt to create 0*0 bitmaps in GetBuffer() (patch 1899643)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52152 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-27 18:03:12 +00:00
Vadim Zeitlin
6efc1b30d6 last commit resolved the conflict incorrectly, undoing it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50377 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-30 20:16:40 +00:00
Vadim Zeitlin
957ea55146 move IMPLEMENT_CLASS macros for wxBuffered[Paint]DC to dcbufcmn.cpp to ensure that they're available in wxUSE_NEW_DC build too (and because they have nothing to do in dcbase.cpp anyhow)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50375 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-30 20:07:24 +00:00
Robert Roebling
488194403e Remove old wxDCBase class, restore IMPLEMENT_CLASS macros for buffered dc classes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50368 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-30 18:16:44 +00:00
Vadim Zeitlin
125817d0e3 allow using multiple wxBufferedDCs at once (patch 1589441)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44736 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-10 18:09:38 +00:00
Robin Dunn
e5b14b7498 Remove comment from patch that doesn't apply anymore
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-01 02:10:47 +00:00
Robin Dunn
3754c85628 Switch wxBufferedDC to use a wxBitmap* internally, so it doesn't
increment the refcount of the bitmap refdata, and so it doesn't do a
copy on write.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-01 02:07:36 +00:00
Paul Cornett
576bdf8565 static class variable needs a definition
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-24 06:25:02 +00:00
Vadim Zeitlin
37747da823 don't use static objects containing bitmaps, this almost certainly results in problems during the program shutdown under X11; instead clean it up in a module
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42311 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-23 22:12:48 +00:00
Vadim Zeitlin
1a9a3ce9a3 use wxBitmap object as m_buffer and not a pointer to it (replaces patch 1582878)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-23 22:06:01 +00:00
Robin Dunn
77f62aa7b6 Patch #1579801: wxBufferedDC shared buffer bitmap
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-18 22:36:36 +00:00
Robin Dunn
19c9f36f13 Reverted wxBuffered[Paint]DC to nearly the pre 2.7.1 state, kept
wxAutoBufferedPaintDC and added wxAutoBufferedPaintDCFactory.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41992 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-13 19:14:21 +00:00
Robin Dunn
c2695fb3b1 Restore a use case that was lost with the last set of updates, using a
wxBufferedDC without a real DC, just a buffer.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41919 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-11 03:45:08 +00:00
Vadim Zeitlin
2e992e06a7 added wxWindow::IsDoubleBuffered() and improve wxBufferedDC (patch 1565330)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41810 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-09 16:39:34 +00:00