class device_buffer : boost::noncopyable\r
{\r
public:\r
- device_buffer(size_t width, size_t height, size_t stride);\r
\r
size_t stride() const; \r
size_t width() const;\r
void write(host_buffer& target);\r
\r
private:\r
+ friend class ogl_device;\r
+ device_buffer(size_t width, size_t height, size_t stride);\r
+\r
struct implementation;\r
std::shared_ptr<implementation> impl_;\r
};\r
write_only,\r
read_only\r
};\r
- host_buffer(size_t size, usage_t usage);\r
\r
const void* data() const;\r
void* data();\r
void unmap();\r
void map();\r
private:\r
+ friend class ogl_device;\r
+ host_buffer(size_t size, usage_t usage);\r
+\r
struct implementation;\r
std::shared_ptr<implementation> impl_;\r
};\r
{ \r
try\r
{\r
- buffer = std::make_shared<device_buffer>(width, height, stride);\r
+ buffer.reset(new device_buffer(width, height, stride));\r
}\r
catch(...)\r
{\r
{\r
try\r
{\r
- buffer = std::make_shared<host_buffer>(size, usage);\r
+ buffer.reset(new host_buffer(size, usage));\r
if(usage == host_buffer::write_only)\r
buffer->map();\r
else\r