@@ -86,16 +86,16 @@ int main()
8686 };
8787
8888 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 ()) {
9393 if (event->is <sf::Event::Closed>()) {
94- window.close ();
94+ window.reset ();
9595 } else if (const auto * key_pressed = event->getIf <sf::Event::KeyPressed>()) {
9696 switch (key_pressed->scancode ) {
9797 case sf::Keyboard::Scan::Escape:
98- window.close ();
98+ window.reset ();
9999 break ;
100100 case sf::Keyboard::Scan::Up:
101101 origin = { origin.real (), origin.imag () + extent / 25 };
@@ -139,8 +139,8 @@ int main()
139139 recalculate = true ;
140140 } else if (const auto * mouse_button_pressed = event->getIf <sf::Event::MouseButtonPressed>()) {
141141 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 );
144144 recalculate = true ;
145145 } else if (const auto * mouse_wheel_scrolled = event->getIf <sf::Event::MouseWheelScrolled>()) {
146146 if (mouse_wheel_scrolled->delta > 0 )
@@ -151,7 +151,7 @@ int main()
151151 }
152152 }
153153
154- window. clear ();
154+ window-> clear ();
155155
156156 if (recalculate) {
157157 recalculate = false ;
@@ -165,9 +165,9 @@ int main()
165165 texture = sf::Texture::loadFromImage (image).value ();
166166 }
167167
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 ();
171171
172172 auto text_builder = std::ostringstream ();
173173 text_builder << std::setw (2 ) << int (1 / clock.restart ().asSeconds ()) << " fps\n " ;
0 commit comments