git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			129 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        wx/display.h
 | 
						|
// Purpose:     wxDisplay class
 | 
						|
// Author:      Royce Mitchell III, Vadim Zeitlin
 | 
						|
// Created:     06/21/02
 | 
						|
// RCS-ID:      $Id$
 | 
						|
// Copyright:   (c) 2002-2006 wxWidgets team
 | 
						|
// Licence:     wxWindows licence
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
#ifndef _WX_DISPLAY_H_BASE_
 | 
						|
#define _WX_DISPLAY_H_BASE_
 | 
						|
 | 
						|
// NB: no #if wxUSE_DISPLAY here, the display geometry part of this class (but
 | 
						|
//     not the video mode stuff) is always available but if wxUSE_DISPLAY == 0
 | 
						|
//     it becomes just a trivial wrapper around the old wxDisplayXXX() functions
 | 
						|
 | 
						|
#if wxUSE_DISPLAY
 | 
						|
    #include "wx/dynarray.h"
 | 
						|
    #include "wx/vidmode.h"
 | 
						|
 | 
						|
    WX_DECLARE_EXPORTED_OBJARRAY(wxVideoMode, wxArrayVideoModes);
 | 
						|
 | 
						|
    // default, uninitialized, video mode object
 | 
						|
    extern WXDLLIMPEXP_DATA_CORE(const wxVideoMode) wxDefaultVideoMode;
 | 
						|
#endif // wxUSE_DISPLAY
 | 
						|
 | 
						|
class WXDLLIMPEXP_FWD_CORE wxWindow;
 | 
						|
class WXDLLIMPEXP_FWD_CORE wxPoint;
 | 
						|
class WXDLLIMPEXP_FWD_CORE wxRect;
 | 
						|
class WXDLLIMPEXP_FWD_BASE wxString;
 | 
						|
 | 
						|
class WXDLLIMPEXP_FWD_CORE wxDisplayFactory;
 | 
						|
class WXDLLIMPEXP_FWD_CORE wxDisplayImpl;
 | 
						|
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
// wxDisplay: represents a display/monitor attached to the system
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
 | 
						|
class WXDLLIMPEXP_CORE wxDisplay
 | 
						|
{
 | 
						|
public:
 | 
						|
    // initialize the object containing all information about the given
 | 
						|
    // display
 | 
						|
    //
 | 
						|
    // the displays are numbered from 0 to GetCount() - 1, 0 is always the
 | 
						|
    // primary display and the only one which is always supported
 | 
						|
    wxDisplay(unsigned n = 0);
 | 
						|
 | 
						|
    // dtor is not virtual as this is a concrete class not meant to be derived
 | 
						|
    // from
 | 
						|
    ~wxDisplay();
 | 
						|
 | 
						|
 | 
						|
    // return the number of available displays, valid parameters to
 | 
						|
    // wxDisplay ctor are from 0 up to this number
 | 
						|
    static unsigned GetCount();
 | 
						|
 | 
						|
    // find the display where the given point lies, return wxNOT_FOUND if
 | 
						|
    // it doesn't belong to any display
 | 
						|
    static int GetFromPoint(const wxPoint& pt);
 | 
						|
 | 
						|
    // find the display where the given window lies, return wxNOT_FOUND if it
 | 
						|
    // is not shown at all
 | 
						|
    static int GetFromWindow(const wxWindow *window);
 | 
						|
 | 
						|
 | 
						|
    // return true if the object was initialized successfully
 | 
						|
    bool IsOk() const { return m_impl != NULL; }
 | 
						|
 | 
						|
    // get the full display size
 | 
						|
    wxRect GetGeometry() const;
 | 
						|
 | 
						|
    // get the client area of the display, i.e. without taskbars and such
 | 
						|
    wxRect GetClientArea() const;
 | 
						|
 | 
						|
    // name may be empty
 | 
						|
    wxString GetName() const;
 | 
						|
 | 
						|
    // display 0 is usually the primary display
 | 
						|
    bool IsPrimary() const;
 | 
						|
 | 
						|
 | 
						|
#if wxUSE_DISPLAY
 | 
						|
    // enumerate all video modes supported by this display matching the given
 | 
						|
    // one (in the sense of wxVideoMode::Match())
 | 
						|
    //
 | 
						|
    // as any mode matches the default value of the argument and there is
 | 
						|
    // always at least one video mode supported by display, the returned array
 | 
						|
    // is only empty for the default value of the argument if this function is
 | 
						|
    // not supported at all on this platform
 | 
						|
    wxArrayVideoModes
 | 
						|
        GetModes(const wxVideoMode& mode = wxDefaultVideoMode) const;
 | 
						|
 | 
						|
    // get current video mode
 | 
						|
    wxVideoMode GetCurrentMode() const;
 | 
						|
 | 
						|
    // change current mode, return true if succeeded, false otherwise
 | 
						|
    //
 | 
						|
    // for the default value of the argument restores the video mode to default
 | 
						|
    bool ChangeMode(const wxVideoMode& mode = wxDefaultVideoMode);
 | 
						|
 | 
						|
    // restore the default video mode (just a more readable synonym)
 | 
						|
    void ResetMode() { (void)ChangeMode(); }
 | 
						|
#endif // wxUSE_DISPLAY
 | 
						|
 | 
						|
private:
 | 
						|
    // returns the factory used to implement our static methods and create new
 | 
						|
    // displays
 | 
						|
    static wxDisplayFactory& Factory();
 | 
						|
 | 
						|
    // creates the factory object, called by Factory() when it is called for
 | 
						|
    // the first time and should return a pointer allocated with new (the
 | 
						|
    // caller will delete it)
 | 
						|
    //
 | 
						|
    // this method must be implemented in platform-specific code if
 | 
						|
    // wxUSE_DISPLAY == 1 (if it is 0 we provide the stub in common code)
 | 
						|
    static wxDisplayFactory *CreateFactory();
 | 
						|
 | 
						|
 | 
						|
    // the real implementation
 | 
						|
    wxDisplayImpl *m_impl;
 | 
						|
 | 
						|
 | 
						|
    DECLARE_NO_COPY_CLASS(wxDisplay)
 | 
						|
};
 | 
						|
 | 
						|
#endif // _WX_DISPLAY_H_BASE_
 |