fix TOfflineGL::Imp

This commit is contained in:
Shinya Kitaoka 2016-04-15 14:42:51 +09:00
parent a85aeb719a
commit c3fda32ba4
3 changed files with 11 additions and 9 deletions

View file

@ -78,10 +78,12 @@ void rightRotateBits(UCHAR *buf, int bufferSize)
//-----------------------------------------------------------------------------
QtOfflineGL::QtOfflineGL(TDimension rasterSize, const TOfflineGL::Imp *shared)
: TOfflineGL::Imp(rasterSize.lx, rasterSize.ly), m_context(0), m_oldContext(0)
QtOfflineGL::QtOfflineGL(TDimension rasterSize, std::shared_ptr<TOfflineGL::Imp> shared)
: TOfflineGL::Imp(rasterSize.lx, rasterSize.ly)
, m_context(0)
, m_oldContext(0)
{
createContext(rasterSize, shared);
createContext(rasterSize, std::move(shared));
/*
makeCurrent();
@ -101,7 +103,7 @@ QtOfflineGL::~QtOfflineGL()
//-----------------------------------------------------------------------------
void QtOfflineGL::createContext(TDimension rasterSize, const TOfflineGL::Imp *shared)
void QtOfflineGL::createContext(TDimension rasterSize, std::shared_ptr<TOfflineGL::Imp> shared)
{
// Imposto il formato dei Pixel (pixelFormat)
/*

View file

@ -87,7 +87,7 @@ public:
: TOfflineGL::Imp(rasterSize.lx, rasterSize.ly)
{
m_offData = 0;
createContext(rasterSize, shared); //makeCurrent is called at the end of this
createContext(rasterSize, std::move(shared)); //makeCurrent is called at the end of this
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);

View file

@ -1,8 +1,8 @@
#ifndef QTOFFLINEGL_H
#define QTOFFLINEGL_H
#include <memory>
#include <QtOpenGL>
#include <QGLFormat>
#include <QGLContext>
@ -17,10 +17,10 @@ public:
QOpenGLContext *m_oldContext;
QOffscreenSurface *m_surface;
QtOfflineGL(TDimension rasterSize, const TOfflineGL::Imp *shared = 0);
QtOfflineGL(TDimension rasterSize, std::shared_ptr<TOfflineGL::Imp> shared);
~QtOfflineGL();
void createContext(TDimension rasterSize, const TOfflineGL::Imp *shared);
void createContext(TDimension rasterSize, std::shared_ptr<TOfflineGL::Imp> shared);
void makeCurrent();
void doneCurrent();