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;
 }
示例#2
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;
}