Add frame functions for platforms

This commit is contained in:
zap8600 2024-01-18 22:46:37 -06:00 committed by GitHub
parent d04c75d0f8
commit 8798d13352
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 77 additions and 2118 deletions

View File

@ -375,6 +375,18 @@ void DisableCursor(void)
CORE.Input.Mouse.cursorHidden = true; CORE.Input.Mouse.cursorHidden = true;
} }
// Start the frame
void StartFrame(void)
{
TRACELOG(LOG_WARNING, "StartFrame() not implemented on target platform");
}
// End the frame
void EndFrame(void)
{
TRACELOG(LOG_WARNING, "EndFrame() not implemented on target platform");
}
// Swap back buffer with front buffer (screen drawing) // Swap back buffer with front buffer (screen drawing)
void SwapScreenBuffer(void) void SwapScreenBuffer(void)
{ {

View File

@ -996,6 +996,18 @@ void DisableCursor(void)
CORE.Input.Mouse.cursorHidden = true; CORE.Input.Mouse.cursorHidden = true;
} }
// Start the frame
void StartFrame(void)
{
TRACELOG(LOG_WARNING, "StartFrame() not implemented on target platform");
}
// End the frame
void EndFrame(void)
{
TRACELOG(LOG_WARNING, "EndFrame() not implemented on target platform");
}
// Swap back buffer with front buffer (screen drawing) // Swap back buffer with front buffer (screen drawing)
void SwapScreenBuffer(void) void SwapScreenBuffer(void)
{ {

File diff suppressed because it is too large Load Diff

View File

@ -898,6 +898,18 @@ void DisableCursor(void)
CORE.Input.Mouse.cursorHidden = true; CORE.Input.Mouse.cursorHidden = true;
} }
// Start the frame
void StartFrame(void)
{
TRACELOG(LOG_WARNING, "StartFrame() not implemented on target platform");
}
// End the frame
void EndFrame(void)
{
TRACELOG(LOG_WARNING, "EndFrame() not implemented on target platform");
}
// Swap back buffer with front buffer (screen drawing) // Swap back buffer with front buffer (screen drawing)
void SwapScreenBuffer(void) void SwapScreenBuffer(void)
{ {

View File

@ -451,6 +451,18 @@ void DisableCursor(void)
CORE.Input.Mouse.cursorHidden = true; CORE.Input.Mouse.cursorHidden = true;
} }
// Start the frame
void StartFrame(void)
{
TRACELOG(LOG_WARNING, "StartFrame() not implemented on target platform");
}
// End the frame
void EndFrame(void)
{
TRACELOG(LOG_WARNING, "EndFrame() not implemented on target platform");
}
// Swap back buffer with front buffer (screen drawing) // Swap back buffer with front buffer (screen drawing)
void SwapScreenBuffer(void) void SwapScreenBuffer(void)
{ {

View File

@ -322,6 +322,18 @@ void DisableCursor(void)
CORE.Input.Mouse.cursorHidden = true; CORE.Input.Mouse.cursorHidden = true;
} }
// Start the frame
void StartFrame(void)
{
TRACELOG(LOG_WARNING, "StartFrame() not implemented on target platform");
}
// End the frame
void EndFrame(void)
{
TRACELOG(LOG_WARNING, "EndFrame() not implemented on target platform");
}
// Swap back buffer with front buffer (screen drawing) // Swap back buffer with front buffer (screen drawing)
void SwapScreenBuffer(void) void SwapScreenBuffer(void)
{ {

View File

@ -809,6 +809,18 @@ void DisableCursor(void)
// NOTE: CORE.Input.Mouse.cursorHidden handled by EmscriptenPointerlockCallback() // NOTE: CORE.Input.Mouse.cursorHidden handled by EmscriptenPointerlockCallback()
} }
// Start the frame
void StartFrame(void)
{
TRACELOG(LOG_WARNING, "StartFrame() not implemented on target platform");
}
// End the frame
void EndFrame(void)
{
TRACELOG(LOG_WARNING, "EndFrame() not implemented on target platform");
}
// Swap back buffer with front buffer (screen drawing) // Swap back buffer with front buffer (screen drawing)
void SwapScreenBuffer(void) void SwapScreenBuffer(void)
{ {

View File

@ -1067,6 +1067,8 @@ RLAPI int GetFPS(void); // Get current
// NOTE: Those functions are intended for advance users that want full control over the frame processing // NOTE: Those functions are intended for advance users that want full control over the frame processing
// By default EndDrawing() does this job: draws everything + SwapScreenBuffer() + manage frame timing + PollInputEvents() // By default EndDrawing() does this job: draws everything + SwapScreenBuffer() + manage frame timing + PollInputEvents()
// To avoid that behaviour and control frame processes manually, enable in config.h: SUPPORT_CUSTOM_FRAME_CONTROL // To avoid that behaviour and control frame processes manually, enable in config.h: SUPPORT_CUSTOM_FRAME_CONTROL
RLAPI void StartFrame(void); // Start the frame
RLAPI void EndFrame(void); // End the frame
RLAPI void SwapScreenBuffer(void); // Swap back buffer with front buffer (screen drawing) RLAPI void SwapScreenBuffer(void); // Swap back buffer with front buffer (screen drawing)
RLAPI void PollInputEvents(void); // Register all input events RLAPI void PollInputEvents(void); // Register all input events
RLAPI void WaitTime(double seconds); // Wait for some time (halt program execution) RLAPI void WaitTime(double seconds); // Wait for some time (halt program execution)

View File

@ -815,6 +815,7 @@ void ClearBackground(Color color)
// Setup canvas (framebuffer) to start drawing // Setup canvas (framebuffer) to start drawing
void BeginDrawing(void) void BeginDrawing(void)
{ {
StartFrame();
// WARNING: Previously to BeginDrawing() other render textures drawing could happen, // WARNING: Previously to BeginDrawing() other render textures drawing could happen,
// consequently the measure for update vs draw is not accurate (only the total frame time is accurate) // consequently the measure for update vs draw is not accurate (only the total frame time is accurate)
@ -933,6 +934,8 @@ void EndDrawing(void)
#endif // SUPPORT_SCREEN_CAPTURE #endif // SUPPORT_SCREEN_CAPTURE
CORE.Time.frameCounter++; CORE.Time.frameCounter++;
EndFrame();
} }
// Initialize 2D mode with custom camera (2D) // Initialize 2D mode with custom camera (2D)