text: /*******************************************************************************************
  *
  *   raylib [text] example - Text Writing Animation (adapted for HTML5 platform)
  *
  *   This example has been created using raylib 1.4 (www.raylib.com)
  *   raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
  *
  *   Copyright (c) 2015 Ramon Santamaria (@raysan5)
  *
  ********************************************************************************************/
  
  #include "raylib.h"
  
  #if defined(PLATFORM_WEB)
      #include <emscripten/emscripten.h>
  #endif
  
  //----------------------------------------------------------------------------------
  // Global Variables Definition
  //----------------------------------------------------------------------------------
  const int screenWidth = 800;
  const int screenHeight = 450;
  
  const char message[128] = "This sample illustrates a text writing\nanimation effect! Check it out! ;)";
  
  int framesCounter = 0;
  
  //----------------------------------------------------------------------------------
  // Module Functions Declaration
  //----------------------------------------------------------------------------------
  void UpdateDrawFrame(void);     // Update and Draw one frame
  
  //----------------------------------------------------------------------------------
  // Program Main Entry Point
  //----------------------------------------------------------------------------------
  int main(void)
  {
      // Initialization
      //--------------------------------------------------------------------------------------
      InitWindow(screenWidth, screenHeight, "raylib [text] example - text writing anim");
  
  #if defined(PLATFORM_WEB)
      emscripten_set_main_loop(UpdateDrawFrame, 0, 1);
  #else
      SetTargetFPS(60);   // Set our game to run at 60 frames-per-second
      //--------------------------------------------------------------------------------------
  
      // Main game loop
      while (!WindowShouldClose())    // Detect window close button or ESC key
      {
          UpdateDrawFrame();
      }
  #endif
  
      // De-Initialization
      //--------------------------------------------------------------------------------------
      CloseWindow();        // Close window and OpenGL context
      //--------------------------------------------------------------------------------------
  
      return 0;
  }
  
  //----------------------------------------------------------------------------------
  // Module Functions Definition
  //----------------------------------------------------------------------------------
  void UpdateDrawFrame(void)
  {
      // Update
      //----------------------------------------------------------------------------------
      framesCounter++;
  
      if (IsKeyPressed(KEY_ENTER)) framesCounter = 0;
      //----------------------------------------------------------------------------------
  
      // Draw
      //----------------------------------------------------------------------------------
      BeginDrawing();
  
          ClearBackground(RAYWHITE);
  
          DrawText(SubText(message, 0, framesCounter/10), 210, 160, 20, MAROON);
  
          DrawText("PRESS [ENTER] to RESTART!", 240, 280, 20, LIGHTGRAY);
  
      EndDrawing();
      //----------------------------------------------------------------------------------
  }