Skip to content

Commit 9b9a98a

Browse files
committed
Add Entry Points for iOS
1 parent 289fc9e commit 9b9a98a

File tree

1 file changed

+28
-3
lines changed

1 file changed

+28
-3
lines changed

source/viewmodel.ios.ts

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,18 @@ import frame = require("ui/frame");
44

55
import image_source = require("image-source");
66

7+
interface ImageOptions {
8+
maxWidth?: number;
9+
maxHeight?: number;
10+
}
11+
712
export function create(options?): ImagePicker {
813
if (true /* TODO: iOS8+, consider implementation for iOS7. */) {
914
return new ImagePickerPH(options);
1015
}
1116
}
1217

13-
export class ImagePicker extends data_observable.Observable {
18+
export class ImagePicker extends data_observable.Observable {
1419
private _selection: data_observablearray.ObservableArray<Asset>;
1520
private _albums: data_observablearray.ObservableArray<Album>;
1621

@@ -138,6 +143,14 @@ export class SelectedAsset extends data_observable.Observable {
138143
get fileUri(): string {
139144
return null;
140145
}
146+
147+
getImage(options?: ImageOptions): Promise<image_source.ImageSource> {
148+
return Promise.reject(new Error("getImage() is not implemented in SelectedAsset. Derived classes should implement it to be fully functional."));
149+
}
150+
151+
getImageData(): Promise<ArrayBuffer> {
152+
return Promise.reject(new Error("getImageData() is not implemented in SelectedAsset. Derived classes should implement it to be fully functional."));
153+
}
141154
}
142155

143156
export class Asset extends SelectedAsset {
@@ -167,6 +180,18 @@ export class Asset extends SelectedAsset {
167180
return this._thumb;
168181
}
169182

183+
getImage(options?: ImageOptions): Promise<image_source.ImageSource> {
184+
return new Promise<image_source.ImageSource>((resolve, reject) => {
185+
186+
});
187+
}
188+
189+
getImageData(): Promise<ArrayBuffer> {
190+
return new Promise<ArrayBuffer>((resolve, reject) => {
191+
192+
});
193+
}
194+
170195
get selected(): boolean {
171196
return !!this._selected;
172197
}
@@ -236,7 +261,7 @@ class ImagePickerPH extends ImagePicker {
236261
authorize(): Thenable<void> {
237262
return new Promise<void>((resolve, reject) => {
238263
var runloop = CFRunLoopGetCurrent();
239-
PHPhotoLibrary.requestAuthorization(function(result) {
264+
PHPhotoLibrary.requestAuthorization(function (result) {
240265
if (result === PHAuthorizationStatus.PHAuthorizationStatusAuthorized) {
241266
invokeOnRunLoop(runloop, resolve);
242267
} else {
@@ -274,7 +299,7 @@ class ImagePickerPH extends ImagePicker {
274299
}
275300

276301
createPHImageThumb(target, asset: PHAsset): void {
277-
PHImageManager.defaultManager().requestImageForAssetTargetSizeContentModeOptionsResultHandler(asset, this._thumbRequestSize, PHImageContentMode.PHImageContentModeAspectFill, this._thumbRequestOptions, function(target, uiImage, info) {
302+
PHImageManager.defaultManager().requestImageForAssetTargetSizeContentModeOptionsResultHandler(asset, this._thumbRequestSize, PHImageContentMode.PHImageContentModeAspectFill, this._thumbRequestOptions, function (target, uiImage, info) {
278303
var imageSource = new image_source.ImageSource();
279304
imageSource.setNativeSource(uiImage);
280305
target.setThumb(imageSource);

0 commit comments

Comments
 (0)