gosu 0.9.2-x64-mingw32 → 0.10.0-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,138 +0,0 @@
1
- //! \file Window.hpp
2
- //! Interface of the Window class.
3
-
4
- #ifndef GOSU_WINDOW_HPP
5
- #define GOSU_WINDOW_HPP
6
-
7
- #include <Gosu/Fwd.hpp>
8
- #include <Gosu/Platform.hpp>
9
- #include <Gosu/Input.hpp>
10
- #include <Gosu/TR1.hpp>
11
- #include <memory>
12
- #include <string>
13
-
14
- #ifdef GOSU_IS_WIN
15
- #ifndef NOMINMAX
16
- #define NOMINMAX
17
- #endif
18
- #include <windows.h>
19
- #endif
20
-
21
- namespace Gosu
22
- {
23
- //! Returns the width (in pixels) of the user's primary screen.
24
- unsigned screenWidth();
25
-
26
- //! Returns the height (in pixels) of the user's primary screen.
27
- unsigned screenHeight();
28
-
29
- //! Returns the maximum width (in 'points') that is available for a non-fullscreen Window.
30
- //! All windows larger than this size will automatically be shrunk to fit.
31
- unsigned availableWidth();
32
-
33
- //! Returns the maximum height (in 'points') that is available for a non-fullscreen Window.
34
- //! All windows larger than this size will automatically be shrunk to fit.
35
- unsigned availableHeight();
36
-
37
- //! Convenient all-in-one class that serves as the foundation of a standard
38
- //! Gosu application. Manages initialization of all of Gosu's core components
39
- //! and provides timing functionality.
40
- //! Note that you should really only use one instance of this class at the same time.
41
- //! This may or may not change later.
42
- class Window
43
- {
44
- struct Impl;
45
- const GOSU_UNIQUE_PTR<Impl> pimpl;
46
- #if defined(GOSU_CPP11_ENABLED)
47
- Window(Window&&) = delete;
48
- Window& operator=(Window&&) = delete;
49
- Window(const Window&) = delete;
50
- Window& operator=(const Window&) = delete;
51
- #endif
52
-
53
- public:
54
- //! Constructs a Window.
55
- //! \param width Width of the window in points; that is, pixels on a normal display, and 'virtual pixels' on a
56
- //! high-resolution display.
57
- //! \param height See width.
58
- //! \param updateInterval Interval in milliseconds between two calls
59
- //! to the update member function.
60
- Window(unsigned width, unsigned height, bool fullscreen = false,
61
- double updateInterval = 16.666666);
62
- virtual ~Window();
63
-
64
- std::wstring caption() const;
65
- void setCaption(const std::wstring& caption);
66
-
67
- double updateInterval() const;
68
-
69
- //! Enters a modal loop where the Window is visible on screen and
70
- //! receives calls to draw, update etc.
71
- void show();
72
- //! Closes the window if it is currently shown.
73
- void close();
74
-
75
- //! Called every updateInterval milliseconds while the window is being
76
- //! shown. Your application's main game logic goes here.
77
- virtual void update() {}
78
- //! Called after every update and when the OS wants the window to
79
- //! repaint itself. Your application's rendering code goes here.
80
- virtual void draw() {}
81
-
82
- //! Gives the game a chance to say no to being redrawn.
83
- //! This is not a definitive answer. The operating system can still force
84
- //! the window to redraw itself.
85
- //! By default, the window is redrawn all the time.
86
- virtual bool needsRedraw() const { return true; }
87
-
88
- //! If this function returns true, the system arrow cursor is drawn while
89
- //! over the window.
90
- virtual bool needsCursor() const { return false; }
91
-
92
- //! This function is called when the window loses focus on some platforms.
93
- //! Most importantly, it is called on the iPhone or iPad when the user
94
- //! locks the screen.
95
- virtual void loseFocus() {}
96
-
97
- //! This function is called when the operating system's memory is low.
98
- //! So far, it is only called in iOS applications.
99
- virtual void releaseMemory() {}
100
-
101
- //! Called before update when the user pressed a button while the
102
- //! window had the focus.
103
- virtual void buttonDown(Gosu::Button) {}
104
- //! Same as buttonDown. Called then the user released a button.
105
- virtual void buttonUp(Gosu::Button) {}
106
-
107
- // Ignore when SWIG is wrapping this class for Ruby/Gosu.
108
- #ifndef SWIG
109
-
110
- const Graphics& graphics() const;
111
- Graphics& graphics();
112
-
113
- const Input& input() const;
114
- Input& input();
115
-
116
- #ifdef GOSU_IS_IPHONE
117
- void* rootViewController() const;
118
- // iPhone-only callbacks for touch events.
119
- // Note that it does not hurt to override them even if you compile
120
- // for another platform; if you don't specify "virtual" the code
121
- // should even be stripped away cleanly.
122
- virtual void touchBegan(Touch touch) {}
123
- virtual void touchMoved(Touch touch) {}
124
- virtual void touchEnded(Touch touch) {}
125
- #endif
126
-
127
- GOSU_DEPRECATED const Audio& audio() const;
128
- GOSU_DEPRECATED Audio& audio();
129
-
130
- #endif
131
- };
132
- }
133
-
134
- #ifdef GOSU_IS_IPHONE
135
- Gosu::Window& windowInstance();
136
- #endif
137
-
138
- #endif
Binary file