Home | History | Annotate | Download | only in ios
      1 /*
      2 * Copyright 2017 Google Inc.
      3 *
      4 * Use of this source code is governed by a BSD-style license that can be
      5 * found in the LICENSE file.
      6 */
      7 
      8 #include "SkTypes.h"
      9 #include "SkTHash.h"
     10 #include "SDL.h"
     11 #include "Timer.h"
     12 #include "Window_ios.h"
     13 #include "../Application.h"
     14 
     15 using sk_app::Application;
     16 
     17 int main(int argc, char* argv[]) {
     18     if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_EVENTS) != 0) {
     19         SkDebugf("Could not initialize SDL!\n");
     20         return 1;
     21     }
     22 
     23     Application* app = Application::Create(argc, argv, nullptr);
     24 
     25     SDL_Event event;
     26     bool done = false;
     27     while (!done) {
     28         while (SDL_PollEvent(&event)) {
     29             switch (event.type) {
     30                 // events handled by the windows
     31                 case SDL_WINDOWEVENT:
     32                 case SDL_MOUSEMOTION:
     33                 case SDL_MOUSEBUTTONDOWN:
     34                 case SDL_MOUSEBUTTONUP:
     35                 case SDL_MOUSEWHEEL:
     36                 case SDL_KEYDOWN:
     37                 case SDL_KEYUP:
     38                 case SDL_TEXTINPUT:
     39                     done = sk_app::Window_ios::HandleWindowEvent(event);
     40                     break;
     41 
     42                 case SDL_QUIT:
     43                     done = true;
     44                     break;
     45 
     46                 default:
     47                     break;
     48             }
     49         }
     50 
     51         app->onIdle();
     52     }
     53     delete app;
     54 
     55     SDL_Quit();
     56 
     57     return 0;
     58 }
     59