Files
cup_edit/thermion_flutter/thermion_flutter/windows/wgl_context.h

33 lines
1.0 KiB
C++

#ifndef _WGL_CONTEXT_H
#define _WGL_CONTEXT_H
#include <Windows.h>
#include "opengl_texture_buffer.h"
#include "flutter_render_context.h"
#if WGL_USE_BACKING_WINDOW
#include "backing_window.h"
#endif
namespace thermion_flutter {
class WGLContext : public FlutterRenderContext {
public:
WGLContext(flutter::PluginRegistrarWindows* pluginRegistrar, flutter::TextureRegistrar* textureRegistrar);
void* GetSharedContext();
void CreateRenderingSurface(
uint32_t width, uint32_t height,
std::unique_ptr<flutter::MethodResult<flutter::EncodableValue>> result, uint32_t left, uint32_t top);
void DestroyRenderingSurface(std::unique_ptr<flutter::MethodResult<flutter::EncodableValue>> result);
void ResizeRenderingSurface(
uint32_t width, uint32_t height, uint32_t left, uint32_t top
);
private:
HGLRC _context = NULL;
#if WGL_USE_BACKING_WINDOW
std::unique_ptr<BackingWindow> _backingWindow = nullptr;
#endif
};
}
#endif