protected:
mutable bool dirty;
-protected:
Bufferable();
public:
virtual ~Bufferable();
void use_buffer(Buffer *buf, Bufferable *prev = 0);
/** Uploads new data into the buffer if necessary. */
- void refresh() const { if(dirty) update_buffer(); }
+ void refresh() const { if(buffer && dirty) update_buffer(); }
AsyncUpdater *refresh_async() const;
private:
void unlink_from_buffer();
+public:
+ /** Returns the buffer in which the data is stored. */
+ const Buffer *get_buffer() const { return buffer; }
+
protected:
/** Returns the buffer in which the data is stored. */
- Buffer *get_buffer() const { return buffer; }
+ Buffer *get_mutable_buffer() const { return buffer; }
/** Returns the amount of data to be stored in the buffer, in bytes. */
virtual unsigned get_data_size() const = 0;