Commit graph

55 commits

Author SHA1 Message Date
Vadim Zeitlin
dede4b9326 Use "= default" for all trivial default ctors and dtors
Replace user-specified empty constructors and destructors with the
compiler-generated versions, which has a number of advantages for code
generation, in addition to being more clear.

Closes #22965.

Closes #24058.
2023-11-17 01:33:32 +01:00
Vadim Zeitlin
4f4c5fcfdf Use nullptr instead of NULL in the code and documentation
This is a combination of running clang-tidy with modernize-use-nullptr
check for some ports (GTK, X11, OSX) and manual changes to the ports for
which it couldn't be used easily (MSW, DFB) and also manually updating
the docs.

Also replace NULL with null or nullptr in the comments as this is more
consistent with the use of nullptr in the code and makes it simpler to
grep for the remaining occurrences of NULL itself.

And also use null in the assert messages.

Only a few occurrences of "NULL" are still left in non-C files, mostly
corresponding to unclear comments or string output which it might not be
safe to change.
2022-10-18 01:25:25 +02:00
Vadim Zeitlin
fb4f0b590c Remove wxGTK1 port and GPE support
Remove the port files and references to it from the common headers and
elsewhere.

Also remove GPE (GNOME PDA Environment) support as libgpewidget is
unmaintained since 2006 or so and has never been really used.

Use __WXGTK__ to test for any version of wxGTK now. Still define
__WXGTK20__ for compatibility, but always define it now and don't test
for it in the library code.
2022-10-16 22:01:02 +02:00
Vadim Zeitlin
0ef1cdcc21 Remove support for wxMotif
This port hasn't been updated for ages and is not used by anybody any
longer, so remove its code to facilitate maintenance.

Also remove references to this port from the documentation and most of
the other places (VMS-specific descrip.vms files still check for it
because it's not clear how to update them all), including configure.

Regenerate the latter and rebake all makefiles.

Finally document that this port is not available any longer.
2022-10-16 16:39:56 +02:00
Vadim Zeitlin
fcc7430610 Set wxALWAYS_NATIVE_DOUBLE_BUFFER to 1 to wxMSW too
Double buffering is always used in wxMSW after the last commit, so there
is no need to implement double buffering in our own code there any more.

This also means that only wxMotif and wxGTK1 don't have native double
buffering now, so flip the direction of the check and test for them only
(which will make removing support for them simpler).
2022-10-06 02:20:27 +01:00
Maarten Bent
87a97054f2 Allow to retrieve the wxWindow associated with a wxBufferedPaintDC
When a wxBufferedPaintDC is created, the base classes does not initialize the
m_window variable with the used wxWindow. Only the associated m_paintdc
initializes this variable. Add a protected function that allows to set the
wxWindow of a wxDC so GetWindow() will return the window.

This fixes the font size of custom attributes in wxDataViewCtrl when the DPI
changes.
2019-10-07 00:54:59 +02:00
Vadim Zeitlin
8fbca5cb70 Remove all trailing spaces
No real changes, just clean up sources by removing trailing spaces from
all the non-generated files.

This should hopefully avoid future commits mixing significant changes
with insignificant whitespace ones.
2019-01-30 17:35:54 +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
df13791078 Merge wxQT branch into the trunk.
This merges in the latest sources from GSoC 2014 wxQt project with just a few
minor corrections, mostly undoing wrong changes to common files in that branch
(results of a previous bad merge?) and getting rid of whitespace-only changes.
Also remove debug logging from wxGrid.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 01:50:11 +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
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
9c61c5b04b introduce wxBG_STYLE_{ERASE,PAINT} and implement their documented semantics in wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-16 23:04:42 +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
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
657a8a3598 first round of debug/release merge: introduce wxDEBUG_LEVEL, for now defined as 1 if __WXDEBUG__ is defined, i.e. no real changes; don't use __WXDEBUG__ in the headers to keep debug and release builds ABI-compatible; add functions to customize or disable asserts handling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-21 23:36:37 +00:00
Vadim Zeitlin
c0c133e13b add wx-prefixed and semicolon-requiring versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 11:45:59 +00:00
Robert Roebling
abc4685ebd remove superfluous visibility attribute
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50362 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-30 17:43:24 +00:00
Robert Roebling
888dde65f4 DC reorganization
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-30 13:48:22 +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
Vadim Zeitlin
d38819f56f use virtual size for the size of the buffer when wxBUFFER_VIRTUAL_AREA style is used
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44608 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-05 08:54:13 +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
Vadim Zeitlin
55ccdb93e4 COW cleanup patch (1583966):
1. perform deep comparison for the classes for which it makes sense in the
   ports where this wasn't done yet
2. remove (shallow) comparison operators for the classes for which it does
   not make sense (such as wxBitmap)
3. makes wxBitmap use COW on all ports
4. adds wxObject::IsRefTo()
5. centralizes and improves COW docs


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 19:26:48 +00:00
Kevin Ollivier
64e4759f43 Fix wxBufferedDC so that it adheres to its documented behavior (which is in use in wxPython at least) and make a note about the layout direction assignment.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-25 20:00: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
Vadim Zeitlin
c4a34cf8c5 call Init() from wxBufferedDC ctors to ensure that layout direction is inherited in any case
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42238 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-22 13:04:28 +00:00
Vadim Zeitlin
b1ed79a980 inherit the original layout direction (patch 1554810); also refactored a little to reduce code duplication and added a couple of wxCHECKs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42237 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-22 13:00:58 +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
Mattia Barbon
653752be8a Added wxRTTI macros to buffered DCs.
Fix a signed/unsigned warning.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42032 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-15 15:45:13 +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
f98bd6d6cf Fixup Blit so it can be used with a source that is a wxBufferedDC,
since wxBufferedDC doesn't derive from wxMemoryDC any more.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41965 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-12 06:23:52 +00:00
Włodzimierz Skiba
24ff756145 WinCE build fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-10 13:46:23 +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
Robin Dunn
116627da19 Allow wxBufferedDC to be constructed with just a wxDC.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32661 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-08 00:38:53 +00:00
Julian Smart
265a3864bb Added wxBUFFER_VIRTUAL_AREA, wxBUFFER_CLIENT_AREA to buffered DC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32572 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-03 06:56:15 +00:00
Julian Smart
96991c58ed Fixed wxBufferedPaintDC for scrolled windows
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32556 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-02 08:16:48 +00:00
Włodzimierz Skiba
d910fe28f4 Include order fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31276 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-01-07 18:24:54 +00:00
Włodzimierz Skiba
68379eaf0a Source cleaning: whitespaces, tabs, TRUE/true, FALSE/false, -1/wxID_ANY/wxDefaultCoord, !!/!IsEmpty().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29077 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-10 12:56:07 +00:00
Julian Smart
655719367a Use old licence name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 20:53:33 +00:00
Julian Smart
77ffb5937e Name and version changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00
Robin Dunn
7775e41fd7 Restored old wxBufferedDC functionality until it can be decided how to
correct the current issues without making things worse.  Updated docs.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25904 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-02-21 19:09:59 +00:00
Robin Dunn
c0b15381d1 Since this class is fully inline don't specify an import/export policy
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25876 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-02-19 23:11:48 +00:00
Ron Lee
dbd22c6a0e Removed the SaveBG hack. The real incompatibility is that the MemoryDC
is not automatically cleared to the BG colour of the window when a
temporary bitmap is used.

Inlined the rest of the methods, there really is no reason for them not
to be.  (will remove dcbuffer.cpp as soon as I figure out the bakefiles)

Do device to logical transforms in UnMask.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25859 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-02-19 06:23:01 +00:00
Vadim Zeitlin
74f4dabba9 wxBUFFER_DC_DEFAULT should be wxBUFFER_DC_OVERWRITE_BG, not PRESERVE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-02-08 18:54:04 +00:00
Vadim Zeitlin
a66f2f42f5 trying to fix breakage in wxBufferedPaintDC after the last commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25584 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-02-07 21:50:39 +00:00
Vadim Zeitlin
1cc8c8b74e made it possible to preserve background when using wxBufferedDC (replaces patch 876263); some refactoring
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-02-07 16:16:36 +00:00
Václav Slavík
1202890513 added support for gcc precompiled headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-09 12:38:21 +00:00
Václav Slavík
12f190b09c created wxAdvanced library
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-02 01:04:55 +00:00
Vadim Zeitlin
fc7a2a602b undisable many warnings for VC++ in defs.h and fixed several thousands of them in the sources
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-22 00:24:07 +00:00
David Elliott
aeb500e64c Don't depend on wx/dcmemory.h to include wx/dcclient.h for wxPaintDC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22204 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-21 18:57:04 +00:00