Skip to content

Commit 08a840e

Browse files
authored
Merge pull request #41 from bruvzg/4_0_api
Update Camera and Photo Picker plugins to use new 4.0 API.
2 parents 332108e + 1876045 commit 08a840e

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

plugins/camera/camera_ios.mm

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -183,12 +183,13 @@ - (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CM
183183
uint8_t *w = img_data[0].ptrw();
184184
memcpy(w, dataY, new_width * new_height);
185185
img[0].instantiate();
186+
img[0]->set_data(new_width, new_height, 0, Image::FORMAT_R8, img_data[0]);
186187
#else
187188
GodotUInt8Vector::Write w = img_data[0].write();
188189
memcpy(w.ptr(), dataY, new_width * new_height);
189190
img[0].instance();
190-
#endif
191191
img[0]->create(new_width, new_height, 0, Image::FORMAT_R8, img_data[0]);
192+
#endif
192193
}
193194

194195
{
@@ -202,18 +203,18 @@ - (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CM
202203
img_data[1].resize(2 * new_width * new_height);
203204
}
204205

206+
///TODO GLES2 doesn't support FORMAT_RG8, need to do some form of conversion
205207
#if VERSION_MAJOR == 4
206208
uint8_t *w = img_data[1].ptrw();
207209
memcpy(w, dataCbCr, 2 * new_width * new_height);
208210
img[1].instantiate();
211+
img[1]->set_data(new_width, new_height, 0, Image::FORMAT_RG8, img_data[1]);
209212
#else
210213
GodotUInt8Vector::Write w = img_data[1].write();
211214
memcpy(w.ptr(), dataCbCr, 2 * new_width * new_height);
212215
img[1].instance();
213-
#endif
214-
215-
///TODO GLES2 doesn't support FORMAT_RG8, need to do some form of conversion
216216
img[1]->create(new_width, new_height, 0, Image::FORMAT_RG8, img_data[1]);
217+
#endif
217218
}
218219

219220
// set our texture...

plugins/photo_picker/photo_picker.mm

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,15 +195,16 @@ - (void)imagePickerController:(UIImagePickerController *)picker didFinishPicking
195195
memcpy(w, data, length);
196196

197197
img.instantiate();
198+
img->set_data(image.size.width * image.scale, image.size.height * image.scale, 0, Image::FORMAT_RGBA8, img_data);
198199
#else
199200
PoolVector<uint8_t> img_data;
200201
img_data.resize(length);
201202
PoolVector<uint8_t>::Write w = img_data.write();
202203
memcpy(w.ptr(), data, length);
203204

204205
img.instance();
205-
#endif
206206
img->create(image.size.width * image.scale, image.size.height * image.scale, 0, Image::FORMAT_RGBA8, img_data);
207+
#endif
207208

208209
PhotoPicker::get_singleton()->select_image(img);
209210
}

0 commit comments

Comments
 (0)