Skip to content

Commit 7a3d330

Browse files
committed
Add window::Drawing()
1 parent bdf273a commit 7a3d330

File tree

2 files changed

+27
-3
lines changed

2 files changed

+27
-3
lines changed

examples/core/core_basic_window.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,10 @@ int main() {
4141

4242
// Draw
4343
//----------------------------------------------------------------------------------
44-
BeginDrawing();
45-
{
44+
while (window.Drawing()) {
4645
window.ClearBackground(RAYWHITE);
4746
textColor.DrawText("Congrats! You created your first window!", 190, 200, 20);
4847
}
49-
EndDrawing();
5048
//----------------------------------------------------------------------------------
5149
}
5250

include/Window.hpp

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,32 @@ class Window {
410410
* @see ::SetConfigFlags
411411
*/
412412
static void SetConfigFlags(unsigned int flags) { ::SetConfigFlags(flags); }
413+
414+
/**
415+
* Used to handle the BeginDrawing() and EndDrawing() calls.
416+
*
417+
* @code
418+
* while (window.Drawing()) {
419+
* DrawRectangle();
420+
* }
421+
* @endcode
422+
*
423+
* @return True of false depending if we're within the BeginDrawing() / EndDrawing() scope.
424+
*/
425+
bool Drawing() {
426+
if (m_drawing == false) {
427+
BeginDrawing();
428+
m_drawing = true;
429+
}
430+
else {
431+
EndDrawing();
432+
m_drawing = false;
433+
}
434+
return m_drawing;
435+
}
436+
437+
protected:
438+
bool m_drawing = false;
413439
};
414440
} // namespace raylib
415441

0 commit comments

Comments
 (0)