Plugman is a pretty cool little tool!  I was able to get the ScreenCapture
plugin working with it fairly easily for both iOS and Android, here it is:

https://github.com/Charbs09/ScreenCapture

Right now it only supports Cordova 2.3.0 and higher since that is the
version I started development with.  If there is concern to have this
compatible with older versions I can add that functionality.

Thanks again for showing me the ropes here!
-Aaron


On Mon, Apr 15, 2013 at 2:17 PM, Aaron Charbonneau <amcha...@gmail.com>wrote:

> Max: That's a great tip, I added the parameter labels as you suggested,
> thanks!
>
> Brian: I'll try to get this going with Plugman and let you know how it
> goes.
>
> Thanks!
> -Aaron
>
>
> On Mon, Apr 15, 2013 at 1:10 PM, Brian LeRoux <b...@brian.io> wrote:
>
>> My only feedback would be to see if you can get it working w/ Plugman! [1]
>> (And if not lets file issues [2] to ensure it can.)
>>
>> [1] https://github.com/apache/cordova-plugman
>> [2] http://issues.cordova.io
>>
>>
>>
>>
>> On Mon, Apr 15, 2013 at 11:01 AM, Max Woghiren <m...@chromium.org> wrote:
>>
>> > Hi Aaron,
>> >
>> > One quick, general Objective-C thing I noticed: when creating messages,
>> > it's helpful (and recommended) for readability to write declarations
>> like
>> > this:
>> >
>> > - (void)getScreenBitsWithCaptureOptions:(NSObject*)captureOptions
>> > compareOptions:(NSObject*)compareOptions captureCount:(int)captureCount
>> > command:(CDVInvokedUrlCommand*)command;
>> >
>> > This way, when sending the message, the code looks like this:
>> >
>> > [self getScreenBitsWithCaptureOptions:captureOptions compareOptions:nil
>> > captureCount:self.mCaptureCount++ command:command];
>> >
>> > Without the parameter headings, your line 30 is confusing:
>> >
>> > [self getScreenBits:captureOptions:nil:self.mCaptureCount++:command];
>> >
>> > since, for example, it's unclear what nil is referring to.  It still
>> > compiles and works, but is less readable.
>> > This<
>> >
>> http://stackoverflow.com/questions/722651/how-do-i-pass-multiple-parameters-in-objective-c
>> > >stackoverflow
>> > question covers it fairly well.
>> >
>> > On Mon, Apr 15, 2013 at 12:58 PM, Aaron Charbonneau <amcha...@gmail.com
>> >
>> > wrote:
>> > >
>> > > Hello Everyone,
>> > > I recently shared my code for a screen capture plugin for Android
>> Cordova
>> > > not too long back, and since then have been working on an iOS version.
>> >  It
>> > > exposes the same api's to javascript and behaves identically between
>> the
>> > > two platforms.
>> > >
>> > > The goal of these plugins is to provide a way of testing and debugging
>> > > Cordova applications, as well as testing Cordova itself.  With this
>> > plugin
>> > > you can render a WebView, take a capture of it, optionally isolate a
>> > > certain area of the capture, and write that capture to file, and even
>> > > provide a comparison image to validate the WebView is rendering
>> > correctly.
>> > >
>> > > Here's a brief overview of the functions it provides:
>> > > ScreenCapture.capture() - Takes a screenshot of the current WebView,
>> with
>> > > optional output file name and subrect region.
>> > > ScreeCapture.captureAndCompare() - Same functionality as Capture, but
>> you
>> > > can also include the url of a comparison image, and pixel/color
>> > tolerances
>> > > to perform an image compare on the native side for better performance.
>> > >
>> > > Both of the these functions funnels into a do-it-all function
>> > > getScreenBits,  In getScreenBits we spin off background threads to do
>> > file
>> > > IO and comparison work.  There is one section I'm not quite sure of,
>> and
>> > > that is getting the raw pixel data out of a UIImage.  I ran into a
>> > problem
>> > > where the data was not in the correct colorSpace when getting it from
>> the
>> > > UIImage directly, like this:
>> > > CFDataRef actualImageData = CGDataProviderCopyData
>> > > (CGImageGetDataProvider(image.CGImage));
>> > >
>> > > So I instead went with a way that works, but seems inefficient to me
>> as
>> > it
>> > > involves a copy, this code is currently used in the
>> getRawDataFromImage()
>> > > function.
>> > >
>> > > Once again, if anyone can afford the time, I would love some feedback
>> on
>> > > the iOS implementation of this plugin, as I am still learning
>> Objective
>> > C.
>> > >
>> > > Plugin:
>> > >
>> >
>> >
>> https://github.com/Charbs09/Cordova-Mobile-Spec-ScreenCapture/blob/master/iOS/CordovaMobileSpecScreenCapture/Plugins/CDVScreenCapture.m
>> > >
>> > > Usage:
>> > >
>> >
>> >
>> https://github.com/Charbs09/Cordova-Mobile-Spec-ScreenCapture/blob/master/iOS/www/autotest/tests/rendering.tests.js
>> > >
>> > > Also the non-working UIImage rawData code:
>> > >
>> >
>> >
>> https://github.com/Charbs09/Cordova-Mobile-Spec-ScreenCapture/blob/master/iOS/CordovaMobileSpecScreenCapture/Plugins/CDVScreenCaptureNoCopy.m#L132
>> > >
>> > >
>> > > Thanks alot for your time!
>> > > Aaron
>> >
>>
>
>

Reply via email to