X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fcore%2Fbufferable.h;h=47e2770c58675fd128d16afa6b50446e7f53a62f;hp=cbbde4e1b93f1e07266c097c150774f2b5621d3c;hb=9b3bce7ae76ff8c0c81315d2505ea96bf422a318;hpb=a482029babea3210840d8c62e9df9ece4342b2b9 diff --git a/source/core/bufferable.h b/source/core/bufferable.h index cbbde4e1..47e2770c 100644 --- a/source/core/bufferable.h +++ b/source/core/bufferable.h @@ -66,10 +66,10 @@ public: /** Returns the buffer in which the data is stored. */ const Buffer *get_buffer() const { return buffer; } -protected: - /** Returns the amount of data to be stored in the buffer, in bytes. */ + /** Returns the size of the data, in bytes. */ virtual unsigned get_data_size() const = 0; +protected: /** Returns a pointer to the start of data in client memory. */ virtual const void *get_data_pointer() const = 0; @@ -82,13 +82,14 @@ protected: changes. */ void update_offset(); - /** Returns the offset where the data should be uploaded. */ +public: + /** Returns the offset of the data from the beginning of the 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 { } -private: /** 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;