@@ -86,16 +86,16 @@ int main()
86
86
};
87
87
88
88
auto window
89
- = sf::RenderWindow (sf::VideoMode ({ length, length }), " Mandelbrot" , sf::Style::Default ^ sf::Style::Resize);
90
- window. setFramerateLimit (60 );
91
- while (window. isOpen () ) {
92
- while (const std::optional event = window. pollEvent ()) {
89
+ = std::make_optional< sf::RenderWindow> (sf::VideoMode ({ length, length }), " Mandelbrot" , sf::Style::Default ^ sf::Style::Resize);
90
+ window-> setFramerateLimit (60 );
91
+ while (window) {
92
+ while (const std::optional event = window-> pollEvent ()) {
93
93
if (event->is <sf::Event::Closed>()) {
94
- window.close ();
94
+ window.reset ();
95
95
} else if (const auto * key_pressed = event->getIf <sf::Event::KeyPressed>()) {
96
96
switch (key_pressed->scancode ) {
97
97
case sf::Keyboard::Scan::Escape:
98
- window.close ();
98
+ window.reset ();
99
99
break ;
100
100
case sf::Keyboard::Scan::Up:
101
101
origin = { origin.real (), origin.imag () + extent / 25 };
@@ -139,8 +139,8 @@ int main()
139
139
recalculate = true ;
140
140
} else if (const auto * mouse_button_pressed = event->getIf <sf::Event::MouseButtonPressed>()) {
141
141
origin += extent
142
- * Complex (double (mouse_button_pressed->position .x ) / double (window. getSize ().x ) - 0.5 ,
143
- -double (mouse_button_pressed->position .y ) / double (window. getSize ().y ) + 0.5 );
142
+ * Complex (double (mouse_button_pressed->position .x ) / double (window-> getSize ().x ) - 0.5 ,
143
+ -double (mouse_button_pressed->position .y ) / double (window-> getSize ().y ) + 0.5 );
144
144
recalculate = true ;
145
145
} else if (const auto * mouse_wheel_scrolled = event->getIf <sf::Event::MouseWheelScrolled>()) {
146
146
if (mouse_wheel_scrolled->delta > 0 )
@@ -151,7 +151,7 @@ int main()
151
151
}
152
152
}
153
153
154
- window. clear ();
154
+ window-> clear ();
155
155
156
156
if (recalculate) {
157
157
recalculate = false ;
@@ -165,9 +165,9 @@ int main()
165
165
texture = sf::Texture::loadFromImage (image).value ();
166
166
}
167
167
168
- window. draw (sf::Sprite (*texture));
169
- window. draw (text);
170
- window. display ();
168
+ window-> draw (sf::Sprite (*texture));
169
+ window-> draw (text);
170
+ window-> display ();
171
171
172
172
auto text_builder = std::ostringstream ();
173
173
text_builder << std::setw (2 ) << int (1 / clock.restart ().asSeconds ()) << " fps\n " ;
0 commit comments