skia2/tools/viewer/sk_app/mac/main_mac.cpp

57 lines
1.3 KiB
C++
Raw Normal View History

/*
* Copyright 2016 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "SkTypes.h"
#include "SkTHash.h"
#include "SDL.h"
#include "Timer.h"
#include "Window_mac.h"
#include "../Application.h"
using sk_app::Application;
int main(int argc, char* argv[]) {
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_EVENTS) != 0) {
SkDebugf("Could not initialize SDL!\n");
return 1;
}
Application* app = Application::Create(argc, argv, nullptr);
SDL_Event event;
bool done = false;
while (!done) {
while (SDL_PollEvent(&event)) {
switch (event.type) {
// events handled by the windows
case SDL_WINDOWEVENT:
case SDL_MOUSEMOTION:
case SDL_MOUSEBUTTONDOWN:
case SDL_MOUSEBUTTONUP:
case SDL_KEYDOWN:
case SDL_KEYUP:
done = sk_app::Window_mac::HandleWindowEvent(event);
break;
case SDL_QUIT:
done = true;
break;
default:
break;
}
}
app->onIdle();
}
delete app;
SDL_Quit();
return 0;
}