Search in sources :

Example 1 with NSUrlRequest

use of cli.MonoTouch.Foundation.NSUrlRequest in project playn by threerings.

the class IOSAssets method getRemoteImage.

@Override
public Image getRemoteImage(String url, float width, float height) {
    final IOSAsyncImage image = new IOSAsyncImage(platform.graphics().ctx, width, height);
    new NSUrlConnection(new NSUrlRequest(new NSUrl(url)), new NSUrlConnectionDelegate() {

        private NSMutableData data = new NSMutableData();

        @Override
        public void ReceivedData(NSUrlConnection conn, NSData data) {
            this.data.AppendData(data);
        }

        @Override
        public void FailedWithError(NSUrlConnection conn, NSError error) {
            onFailure(new Exception(error.get_LocalizedDescription()));
        }

        @Override
        public void FinishedLoading(NSUrlConnection conn) {
            try {
                setImageLater(image, UIImage.LoadFromData(this.data), Scale.ONE);
            } catch (Throwable cause) {
                onFailure(cause);
            }
        }

        protected void onFailure(final Throwable cause) {
            setErrorLater(image, cause);
        }
    }, true);
    return image;
}
Also used : NSData(cli.MonoTouch.Foundation.NSData) NSUrl(cli.MonoTouch.Foundation.NSUrl) NSUrlConnection(cli.MonoTouch.Foundation.NSUrlConnection) NSError(cli.MonoTouch.Foundation.NSError) NSUrlConnectionDelegate(cli.MonoTouch.Foundation.NSUrlConnectionDelegate) NSMutableData(cli.MonoTouch.Foundation.NSMutableData) NSUrlRequest(cli.MonoTouch.Foundation.NSUrlRequest) FileNotFoundException(java.io.FileNotFoundException)

Aggregations

NSData (cli.MonoTouch.Foundation.NSData)1 NSError (cli.MonoTouch.Foundation.NSError)1 NSMutableData (cli.MonoTouch.Foundation.NSMutableData)1 NSUrl (cli.MonoTouch.Foundation.NSUrl)1 NSUrlConnection (cli.MonoTouch.Foundation.NSUrlConnection)1 NSUrlConnectionDelegate (cli.MonoTouch.Foundation.NSUrlConnectionDelegate)1 NSUrlRequest (cli.MonoTouch.Foundation.NSUrlRequest)1 FileNotFoundException (java.io.FileNotFoundException)1