Lines Matching refs:self

72   ricoh2_buffer *self;
77 self = malloc (sizeof (ricoh2_buffer));
78 if (!self)
81 self->data = malloc (size);
82 if (!self->data)
84 free (self);
88 self->size = size;
89 self->pixels_per_line = pixels_per_line;
90 self->info_size = info_size;
91 self->is_rgb = is_rgb;
93 self->current_position = 0;
94 self->remain_in_line = pixels_per_line;
99 self->size,
100 self->pixels_per_line,
101 self->info_size,
102 self->is_rgb,
103 self->current_position);
105 return self;
110 ricoh2_buffer_dispose (ricoh2_buffer *self)
112 assert (self);
113 free (self->data);
114 free (self);
118 ricoh2_buffer_get_internal_buffer (ricoh2_buffer *self)
120 assert (self);
121 DBG (192, "engaging a buffer of size %d\n", self->size);
123 self->current_position = 0;
124 self->remain_in_line = self->pixels_per_line;
126 DBG (192, "remain in line = %d\n", self->remain_in_line);
128 return self->data;
132 ricoh2_buffer_get_bytes_remain (ricoh2_buffer *self)
134 assert (self);
138 self->size - self->current_position);
140 return self->size - self->current_position;
150 ricoh2_buffer_get_data (ricoh2_buffer *self,
161 assert (self);
163 assert (self->size > self->current_position);
165 bytes_per_pixel = self->is_rgb ? 3 : 1;
166 bytes_per_color = self->pixels_per_line + self->info_size;
172 self->remain_in_line);
175 min (dest_size / bytes_per_pixel, self->remain_in_line);
176 pixels_to_copy && self->size > self->current_position;
178 min (dest_size / bytes_per_pixel, self->remain_in_line))
185 self->current_position);
187 for (src = self->data + self->current_position,
202 self->current_position += pixels_to_copy;
203 self->remain_in_line -= pixels_to_copy;
206 if (!self->remain_in_line)
208 self->current_position += self->info_size;
209 if (self->is_rgb)
210 self->current_position += 2 * bytes_per_color;
211 self->remain_in_line = self->pixels_per_line;
214 self->current_position);
219 self->size - self->current_position);
223 assert (self->size >= self->current_position);