diff options
author | 2014-04-09 22:54:02 +0000 | |
---|---|---|
committer | 2014-04-09 22:54:02 +0000 | |
commit | 0132a8687635099d5d693c6292f8dfac198f3f04 (patch) | |
tree | be97250ccb39ccfdb7600c9c3aa3c3f138d22297 /experimental/webtry | |
parent | 780836e61154e751ef5640fb5eed77e4adcc825d (diff) |
Cleaned up the start page, added wait cursor, disabled Run button while waiting for results.
BUG=skia:
R=mtklein@google.com
Author: jcgregorio@google.com
Review URL: https://codereview.chromium.org/231853002
git-svn-id: http://skia.googlecode.com/svn/trunk@14121 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'experimental/webtry')
-rw-r--r-- | experimental/webtry/templates/index.html | 51 |
1 files changed, 26 insertions, 25 deletions
diff --git a/experimental/webtry/templates/index.html b/experimental/webtry/templates/index.html index c630f14ef5..00a245e067 100644 --- a/experimental/webtry/templates/index.html +++ b/experimental/webtry/templates/index.html @@ -4,6 +4,9 @@ <title>Skia WebTry</title> <meta charset='utf-8' /> <style type="text/css" media="screen"> + .waiting, .waiting * { + cursor: wait; + } textarea { margin-left: 0; border: solid 1px #ccc; @@ -20,20 +23,9 @@ </head> <body> <pre><code>#include "SkCanvas.h" -#include "SkGraphics.h" -#include "SkImageEncoder.h" -#include "SkImageInfo.h" -#include "SkForceLinking.h" - -int main() { - SkForceLinking(false); - SkGraphics::Init(); - SkImageInfo info = SkImageInfo::MakeN32(300, 300, kPremul_SkAlphaType); - SkAutoTUnref<SkSurface> surface(SkSurface::NewRaster(info)); - SkCanvas* canvas = surface->getCanvas(); - - <textarea name='code' id='code' rows='20' cols='80'>SkPaint p; +void draw(SkCanvas* canvas) { + <textarea name='code' id='code' rows='15' cols='80'>SkPaint p; p.setColor(SK_ColorRED); p.setAntiAlias(true); p.setStyle(SkPaint::kStroke_Style); @@ -41,10 +33,6 @@ p.setStrokeWidth(10); canvas->drawLine(20, 20, 100, 100, p); </textarea> - - if (!SkImageEncoder::EncodeFile("foo.png", bitmap, SkImageEncoder::kPNG_Type, 100)) { - printf("Failed to encode\n"); - } } </code></pre> @@ -61,6 +49,16 @@ canvas->drawLine(20, 20, 100, 100, p); var output = document.getElementById('output'); var img = document.getElementById('img'); + function beginWait() { + document.body.classList.add('waiting'); + run.disabled = true; + } + + function endWait() { + document.body.classList.remove('waiting'); + run.disabled = false; + } + function codeComplete(e) { // The response is JSON of the form: // { @@ -70,28 +68,31 @@ canvas->drawLine(20, 20, 100, 100, p); // // The img is optional and only appears if there is a valid // image to display. + endWait(); console.log(e.target.response); body = JSON.parse(e.target.response); output.innerText = body.message; if (body.hasOwnProperty('img')) { - img.src = 'data:image/png;base64,' + body.img; + img.src = 'data:image/png;base64,' + body.img; } else { - img.src = ''; + img.src = ''; } } function codeError(e) { + endWait(); alert('Something bad happened: ' + e); } run.addEventListener('click', onSubmitCode); function onSubmitCode() { - var req = new XMLHttpRequest(); - req.addEventListener('load', codeComplete); - req.addEventListener('error', codeError); - req.overrideMimeType('application/json'); - req.open('POST', '.', true); - req.send(code.value); + beginWait(); + var req = new XMLHttpRequest(); + req.addEventListener('load', codeComplete); + req.addEventListener('error', codeError); + req.overrideMimeType('application/json'); + req.open('POST', '.', true); + req.send(code.value); } </script> </body> |