unsigned get_required_buffer_size() const;
/** Uploads new data into the buffer if necessary. */
- void refresh() const { if(buffer && dirty) upload_data(0); }
+ void refresh() const { if(dirty) upload_data(0); }
/** Returns an object which can be used to upload data to the buffer using
mapped memory. */
- AsyncUpdater *refresh_async() const;
+ AsyncUpdater *refresh_async() const { return dirty ? new AsyncUpdater(*this) : 0; }
private:
void unlink_from_buffer();
unsigned get_offset() const { return offset; }
private:
- /** Called when the target buffer or offset within it has changed. */
- virtual void location_changed(Buffer *, unsigned, unsigned) const { }
-
/** Uploads data to the buffer. Receives pointer to mapped buffer memory as
parameter, or null to use the buffer upload interface. */
void upload_data(char *) const;