void BatchedSprite::create_buffer() { if (_texture_program != NULL && _data.size() != 0) { _texture_program->bind(); _texture_program->model_view_matrix(glm::mat4()); _texture_program->update_model_view_matrix(); _texture_program->enable_vertex_pointer(); _texture_program->enable_texture_coordinate_pointer(); set_buffer_data(); _texture_program->disable_vertex_pointer(); _texture_program->disable_texture_coordinate_pointer(); } else if (_font_program != NULL && _data.size() != 0) { _font_program->bind(); _font_program->model_view_matrix(glm::mat4()); _font_program->update_model_view_matrix(); _font_program->enable_vertex_pointer(); _font_program->enable_texture_coordinate_pointer(); set_buffer_data(); _font_program->disable_vertex_pointer(); _font_program->disable_texture_coordinate_pointer(); } else if (_primitive_program != NULL && _primitive_data.size() != 0) { _primitive_program->bind(); _primitive_program->model_view_matrix(glm::mat4()); _primitive_program->update_model_view_matrix(); _primitive_program->enable_vertex_pointer(); _primitive_program->enable_color_pointer(); set_primitive_buffer_data(); _primitive_program->disable_vertex_pointer(); _primitive_program->disable_color_pointer(); } _data.clear(); _primitive_data.clear(); _previous_count = _count; _count = 0; }
/* write the link data */ int write_symlink_data (const char *link, const char *id, const char *path) { int sts, len; char buffer[STAUNCH_MAX_LENGTH]; len = set_buffer_data (buffer, sizeof buffer, id, path); if (len < 0) return -1; sts = lsetxattr (link, STAUNCH_XATTR_NAME, buffer, (size_t) len, 0); if (sts) { message (LOG_CRIT, "Error while writing attribute %s of %s: %m", STAUNCH_XATTR_NAME, link); return -1; } return 0; }