Commit Graph

41 Commits

Author SHA1 Message Date
Vadim Zeitlin
5488a1438f Globally replace vadim@wxwindows.org with vadim@wxwidgets.org
The old email address is invalid since many years and shouldn't be used
any longer.

No real changes.
2019-04-22 14:12:05 +02:00
Vadim Zeitlin
22c18a107e Invalidate wxDisplay cache under MSW when the displays change
The cache added in 990c8bfd73 was not
invalidated properly, meaning that wrong information was returned when
displays were [dis]connected after the application startup.

Fix this at least for MSW by invalidating the cache on receiving
WM_DISPLAYCHANGE (which means that sometimes we will do it
unnecessarily, as the change in resolution of an existing display
doesn't require cache invalidation, but this shouldn't be a big problem
in practice as the speed with which the user can change the display
resolution is not very high).

Closes https://github.com/wxWidgets/wxWidgets/pull/1090
2019-01-04 14:09:56 +01:00
Vadim Zeitlin
f57cb6c1d9 Add wxDisplay(wxWindow*) ctor with fall back on primary display
This is more convenient than calling GetFromWindow() and then checking
its return value.
2018-11-01 00:02:47 +01:00
Vadim Zeitlin
9f8684c789 Factor out wxDisplayImpl::ComputePPI() helper
No real changes, this is a pure refactoring.
2018-10-30 23:43:29 +01:00
Vadim Zeitlin
f09b9dbfa2 Add wxDisplayImpl::GetScaleFactor() and implement it for wxGTK
We need to account for the scale factor under GTK+ (and, presumably,
under macOS) to compute the correct PPI value as it must use the number
of physical and not logical pixels.
2018-10-29 18:33:26 +01:00
Vadim Zeitlin
ded2894b78 Add wxDisplay::GetPPI() to use instead of wxGetDisplayPPI()
While this is not done for all the ports yet, the new API allows
returning different PPI values for different monitors, unlike the old
(and still existing, but implemented in terms of the new one) global
function.
2018-10-08 13:04:38 +02:00
Vadim Zeitlin
24b5e256df Add wxDisplay::GetDepth() and use it for wxDisplayDepth()
Allow getting the depth of any display, not just the primary one, even
though this is not implemented for Unix ports currently.

Mostly do this for consistency with the other display-related functions.
2018-10-07 00:30:12 +02:00
Vadim Zeitlin
c2162792cf Implement wxDisplaySize() and wxClientDisplayRect() via wxDisplay
Instead of forwarding to these functions from wxDisplay implementation
in wxUSE_DISPLAY==0 case, make the functions themselves wrappers around
wxDisplay, which may, or not, depending on the platform, have a simpler
implementation in wxUSE_DISPLAY==0 case, but is always available in any
case.

As part of this change, only use src/osx/core/display.cpp in macOS
builds, not iOS ones and update the Xcode project accordingly too.

This cuts down on code duplication, especially in wxGTK, and facilitates
further additions to wxDisplay API.
2018-09-30 23:07:45 +02:00
Vadim Zeitlin
990c8bfd73 Cache wxDisplayImpl object for faster access
Avoid a heap allocation on every wxDisplay creation by caching the
wxDisplayImpl objects once they're created.

Currently we never invalidate the cache, but we should add a way to do
it in the future.

This speeds up wxDisplay::GetGeometry() benchmark by a factor of 4.
2018-09-30 00:53:59 +02:00
Vadim Zeitlin
9f37d91498 Fix wrong comment before wxDisplayFactorySingle::CreateDisplay()
This method is not static.
2018-09-30 00:38:26 +02:00
Vadim Zeitlin
77e33d9e1b Micro optimization in wxDisplay ctor
Don't check for the index validity if it's 0, which is the most common
case, as index 0 is always valid and so we can avoid calling GetCount(),
which might have a non-trivial cost, completely.
2018-09-30 00:38:26 +02:00
Vadim Zeitlin
bac28b95cd Move wx/display_impl.h to wx/private/display.h
This shows more clearly that this header is private to wxWidgets and
can't be included by user code.

No real changes.
2018-09-30 00:38:26 +02: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
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
5784031727 Use window position in screen coordinates in wxDisplay::GetFromWindow().
To determine the display to which the window belongs we must use the window
position in screen coordinates returned by wxWindow::GetScreenRect() and not
the positioned returned by GetRect() which is the same only for the top level
windows but not for the child ones.

Closes #12318.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65231 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-10 18:57:42 +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
Vadim Zeitlin
5276b0a53c Use wxDELETE() and wxDELETEA() when possible.
Use wxDELETE[A]() functions which automatically NULL out their arguments after
deleting them instead of doing it manually.

Closes #9685.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 18:18:23 +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
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
Vadim Zeitlin
b0f76951bc correct closing comments in #endifs (patch 1756990)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-21 23:54:55 +00:00
Vadim Zeitlin
1e93d59553 changed GetFromWindow() to take const pointer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44442 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-02-11 00:13:22 +00:00
Paul Cornett
4e675101a7 use unsigned for display count
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41548 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-02 05:38:05 +00:00
Włodzimierz Skiba
02761f6cd4 Include wx/module.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-31 19:31:43 +00:00
Włodzimierz Skiba
dd05139a80 Include wx/gdicmn.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-19 20:18:46 +00:00
Vadim Zeitlin
6c5d62917d added wxDisplay::GetClientArea() (currently implemented for single display and MSW implementations only)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38147 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-16 16:07:24 +00:00
Vadim Zeitlin
ef1717a963 wxDisplay cleanup/rewrite:
- wxDisplay is now a concrete class and uses a pImpl-based design
- got rid of four duplicate but subtly different versions of trivial
  single display-only wxDisplay implementation (but 2 versions of Mac
  Classic and Mac CoreGraphics implementations each still remain...)
- assorted code simplifications and memory leaks fixes


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-16 04:23:07 +00:00
Włodzimierz Skiba
e77138c0e2 wxTinderbox build fixes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-10 11:33:22 +00:00
Vadim Zeitlin
dae6a419ae generic GetFromWindow() implementation for non-MSW platforms
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-10 02:29:30 +00:00
Vadim Zeitlin
28c91b7deb removed more extraneous semicolons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35706 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-25 23:28:04 +00:00
Mart Raudsepp
8907154c1a Nuke #pragma implementation/interface's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +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
Jouk Jansen
fdc37e95b3 Committing in .
Enabling wxX11 for OpenVMS (Phase 2)
    -partly redo and fix for prevous commit

 Modified Files:
 	wxWidgets/setup.h_vms wxWidgets/include/wx/display.h
 	wxWidgets/src/common/dpycmn.cpp
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26270 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-03-19 08:53:09 +00:00
Jouk Jansen
1aebc20057 Committing in .
Enabling wxX11 for OpenVMS (phase 1)

 Modified Files:
 	wxWidgets/descrip.mms wxWidgets/setup.h_vms
 	wxWidgets/include/wx/display.h
 	wxWidgets/samples/minimal/descrip.mms
 	wxWidgets/src/common/descrip.mms
 	wxWidgets/src/common/dpycmn.cpp
 	wxWidgets/src/generic/descrip.mms
 	wxWidgets/src/html/descrip.mms wxWidgets/src/univ/descrip.mms
 	wxWidgets/src/unix/descrip.mms wxWidgets/src/x11/descrip.mms
 Added Files:
 	wxWidgets/lib/VMS_X11_UNIV.OPT
 Removed Files:
 	wxWidgets/lib/vms_gtk_univ.opt
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26268 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-03-19 08:04:29 +00:00
Ryan Norton
d890ea0d4c size_t is always unsigned....
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24949 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-12-20 22:25:48 +00:00
Ryan Norton
892dd3cef3 Added another sanity check....
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24938 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-12-20 13:54:13 +00:00
Václav Slavík
14f355c2b5 added support for gcc precompiled headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-09 12:46:53 +00:00
Vadim Zeitlin
06efac1f8d support for optionnally using DirectX for display manipulations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20045 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 00:30:18 +00:00
Julian Smart
55d99c7a77 Fixed copyrights and licence spelling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 11:28:33 +00:00
Vadim Zeitlin
c6985199b0 define some global wxDisplay-related stuff here (wxArrayVideoModes, wxDefaultVideoMode)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19422 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 14:30:17 +00:00