X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fbufferable.h;h=cbbde4e1b93f1e07266c097c150774f2b5621d3c;hp=86c5c77fc4d39226295c3e442903eb476e85de1b;hb=bec07999d95b76f4b47cffcc564d0cd0afc0435e;hpb=5f78db03b3285c977760a41da1e3927720e50352 diff --git a/source/bufferable.h b/source/bufferable.h index 86c5c77f..cbbde4e1 100644 --- a/source/bufferable.h +++ b/source/bufferable.h @@ -45,9 +45,8 @@ public: buffer, and this object is inserted after it. */ void use_buffer(Buffer *buf, Bufferable *prev = 0); - /** Informs the objects in this chain that the buffer has been resized and - data should be reuploaded. */ - void buffer_resized(); + /** Sets the buffer for the entire chain of objects. */ + void change_buffer(Buffer *); /** Returns the total amount of storage required by this object and others in the same chain, including any alignment between objects. */ @@ -56,6 +55,8 @@ public: /** Uploads new data into the buffer if necessary. */ void refresh() const { if(buffer && dirty) upload_data(0); } + /** Returns an object which can be used to upload data to the buffer using + mapped memory. */ AsyncUpdater *refresh_async() const; private: @@ -89,7 +90,7 @@ protected: private: /** Uploads data to the buffer. Receives pointer to mapped buffer memory as - parameter. If null, buffer interface should be used instead. */ + parameter, or null to use the buffer upload interface. */ void upload_data(char *) const; };