]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/display.h
Permission for flood-fill code clarified
[wxWidgets.git] / include / wx / msw / display.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: display.h
3 // Purpose: wxDisplay class customization for WXMSW
4 // Author: Royce Mitchell III
5 // Modified by:
6 // Created: 06/21/02
7 // RCS-ID: $Id$
8 // Copyright: (c) wxWidgets team
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
13 #pragma interface "display.h"
14 #endif
15
16 #ifndef _WX_MSW_DISPLAY_H_
17 #define _WX_MSW_DISPLAY_H_
18
19 class WXDLLEXPORT wxDisplay : public wxDisplayBase
20 {
21 public:
22 // this function may be called *before* using any other wxDisplay methods
23 // to tell it to use DirectX functions instead of the standard Windows ones
24 static void UseDirectX(bool useDX);
25
26 // create the display object for the given physical display
27 wxDisplay(size_t index = 0);
28
29 virtual ~wxDisplay();
30
31 // implement base class pure virtuals
32 virtual bool IsOk() const;
33 virtual wxRect GetGeometry() const;
34 virtual wxString GetName() const;
35
36 virtual wxArrayVideoModes
37 GetModes(const wxVideoMode& mode = wxVideoMode()) const;
38 virtual wxVideoMode GetCurrentMode() const;
39 virtual bool ChangeMode(const wxVideoMode& mode = wxVideoMode());
40
41 virtual bool IsPrimary() const;
42
43 private:
44 // get the display name to use with EnumDisplaySettings()
45 wxString GetNameForEnumSettings() const;
46
47 // we have different implementations using DirectDraw and without it
48 wxArrayVideoModes DoGetModesDirectX(const wxVideoMode& modeMatch) const;
49 bool DoChangeModeDirectX(const wxVideoMode& mode);
50
51 wxArrayVideoModes DoGetModesWindows(const wxVideoMode& modeMatch) const;
52 bool DoChangeModeWindows(const wxVideoMode& mode);
53
54
55 DECLARE_NO_COPY_CLASS(wxDisplay)
56 };
57
58 #endif // _WX_MSW_DISPLAY_H_