474a9ea051
BUG=skia: Committed: https://skia.googlesource.com/skia/+/a4d3797c3b0f0cac8493c46cb334ca88a5d6ccf6 Review URL: https://codereview.chromium.org/1415453009
65 lines
1.4 KiB
C++
65 lines
1.4 KiB
C++
/*
|
|
* Copyright 2006 The Android Open Source Project
|
|
*
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#ifndef SkOSWindow_SDL_DEFINED
|
|
#define SkOSWindow_SDL_DEFINED
|
|
|
|
#include "SDL.h"
|
|
#include "SDL_opengl.h"
|
|
#include "SkWindow.h"
|
|
|
|
class SkOSWindow : public SkWindow {
|
|
public:
|
|
SkOSWindow(void* screen);
|
|
virtual ~SkOSWindow();
|
|
|
|
static bool PostEvent(SkEvent* evt, SkEventSinkID, SkMSec delay) {
|
|
SkFAIL("not implemented\n");
|
|
return false;
|
|
}
|
|
|
|
enum SkBackEndTypes {
|
|
kNone_BackEndType,
|
|
kNativeGL_BackEndType,
|
|
#if SK_ANGLE
|
|
kANGLE_BackEndType,
|
|
#endif // SK_ANGLE
|
|
#if SK_COMMAND_BUFFER
|
|
kCommandBuffer_BackEndType,
|
|
#endif // SK_COMMAND_BUFFER
|
|
};
|
|
|
|
void detach();
|
|
bool attach(SkBackEndTypes attachType, int msaaSampleCount, AttachmentInfo*);
|
|
void present();
|
|
bool makeFullscreen();
|
|
void setVsync(bool);
|
|
void closeWindow();
|
|
void loop() {
|
|
while (!fQuit) {
|
|
this->handleEvents();
|
|
this->update(nullptr);
|
|
}
|
|
}
|
|
|
|
protected:
|
|
void onSetTitle(const char title[]) override;
|
|
void onHandleInval(const SkIRect&) override;
|
|
void onPDFSaved(const char title[], const char desc[], const char path[]) override;
|
|
|
|
private:
|
|
void handleEvents();
|
|
bool fQuit;
|
|
uint32_t fWindowFlags;
|
|
SDL_Window* fWindow;
|
|
SDL_GLContext fGLContext;
|
|
|
|
typedef SkWindow INHERITED;
|
|
};
|
|
|
|
#endif
|