2d1ee7936e
buffer. (Only on Windows at the moment). Uses new effect to do the final gamma adjustment BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1919993002 Review-Url: https://codereview.chromium.org/1919993002
58 lines
1.4 KiB
C++
58 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*);
|
|
virtual ~SkOSWindow();
|
|
|
|
enum SkBackEndTypes {
|
|
kNone_BackEndType, // TODO: remove this, it's not a real option.
|
|
kNativeGL_BackEndType,
|
|
#if SK_ANGLE
|
|
kANGLE_BackEndType,
|
|
#endif // SK_ANGLE
|
|
#if SK_COMMAND_BUFFER
|
|
kCommandBuffer_BackEndType,
|
|
#endif // SK_COMMAND_BUFFER
|
|
};
|
|
|
|
void release();
|
|
bool attach(SkBackEndTypes attachType, int msaaSampleCount, bool deepColor, AttachmentInfo*);
|
|
void present();
|
|
bool makeFullscreen();
|
|
void setVsync(bool);
|
|
void closeWindow();
|
|
static void RunEventLoop();
|
|
|
|
protected:
|
|
void onSetTitle(const char title[]) override;
|
|
|
|
private:
|
|
void createWindow(int msaaSampleCount);
|
|
void destroyWindow();
|
|
void updateWindowTitle();
|
|
static SkOSWindow* GetInstanceForWindowID(Uint32 windowID);
|
|
static bool HasDirtyWindows();
|
|
static void UpdateDirtyWindows();
|
|
static void HandleEvent(const SDL_Event&);
|
|
|
|
SDL_Window* fWindow;
|
|
SDL_GLContext fGLContext;
|
|
int fWindowMSAASampleCount;
|
|
typedef SkWindow INHERITED;
|
|
};
|
|
|
|
#endif
|