| OLD | NEW | 
| (Empty) |  | 
 |   1 <!DOCTYPE html> | 
 |   2 <html> | 
 |   3 <head> | 
 |   4     <title>Skia WebTry</title> | 
 |   5     <meta charset='utf-8' /> | 
 |   6     <style type="text/css" media="screen"> | 
 |   7         textarea { | 
 |   8             margin-left: 0; | 
 |   9             border: solid 1px #ccc; | 
 |  10             color: green; | 
 |  11         } | 
 |  12         pre, code { | 
 |  13             padding: 0; | 
 |  14             color: green; | 
 |  15         } | 
 |  16     </style> | 
 |  17 </head> | 
 |  18 <body> | 
 |  19   <pre><code>#include "SkCanvas.h" | 
 |  20 #include "SkGraphics.h" | 
 |  21 #include "SkImageEncoder.h" | 
 |  22 #include "SkImageInfo.h" | 
 |  23 #include "SkForceLinking.h" | 
 |  24  | 
 |  25 int main() { | 
 |  26   SkForceLinking(false); | 
 |  27   SkGraphics::Init(); | 
 |  28  | 
 |  29   SkImageInfo info = SkImageInfo::MakeN32(300, 300, kPremul_SkAlphaType); | 
 |  30   SkBitmap bitmap; | 
 |  31   bitmap.setConfig(info); | 
 |  32   bitmap.allocPixels(); | 
 |  33   SkCanvas c(bitmap); | 
 |  34   c.drawColor(SK_ColorWHITE); | 
 |  35  | 
 |  36   <textarea name='code' id='code' rows='20' cols='80'>SkPaint p; | 
 |  37 p.setColor(SK_ColorRED); | 
 |  38 p.setAntiAlias(true); | 
 |  39 p.setStyle(SkPaint::kStroke_Style); | 
 |  40 p.setStrokeWidth(10); | 
 |  41  | 
 |  42 c.drawLine(20, 20, 100, 100, p); | 
 |  43 </textarea> | 
 |  44  | 
 |  45   if (!SkImageEncoder::EncodeFile("foo.png", bitmap, SkImageEncoder::kPNG_Type, 
    100)) { | 
 |  46     printf("Failed to encode\n"); | 
 |  47   } | 
 |  48 } | 
 |  49 </code></pre> | 
 |  50  | 
 |  51   <p>Image appears here:</p> | 
 |  52   <img id='img' src=''/> | 
 |  53  | 
 |  54   <pre><code id='output'></code></pre> | 
 |  55  | 
 |  56   <input type='button' value='Run' id='run'> | 
 |  57   <script type='text/javascript' charset='utf-8'> | 
 |  58       var run = document.getElementById('run'); | 
 |  59       var code = document.getElementById('code'); | 
 |  60       var output = document.getElementById('output'); | 
 |  61       var img = document.getElementById('img'); | 
 |  62  | 
 |  63       function codeComplete(e) { | 
 |  64         // The response is JSON of the form: | 
 |  65         // { | 
 |  66         //   "message": "you had an error...", | 
 |  67         //   "img": "<base64 encoded image but only on success>" | 
 |  68         // } | 
 |  69         // | 
 |  70         // The img is optional and only appears if there is a valid | 
 |  71         // image to display. | 
 |  72         console.log(e.target.response); | 
 |  73         body = JSON.parse(e.target.response); | 
 |  74         output.innerText = body.message; | 
 |  75         if (body.hasOwnProperty('img')) { | 
 |  76             img.src = 'data:image/png;base64,' + body.img; | 
 |  77         } else { | 
 |  78             img.src = ''; | 
 |  79         } | 
 |  80       } | 
 |  81  | 
 |  82       function codeError(e) { | 
 |  83         alert('Something bad happened: ' + e); | 
 |  84       } | 
 |  85  | 
 |  86       run.addEventListener('click', onSubmitCode); | 
 |  87       function onSubmitCode() { | 
 |  88           var req = new XMLHttpRequest(); | 
 |  89           req.addEventListener('load', codeComplete); | 
 |  90           req.addEventListener('error', codeError); | 
 |  91           req.overrideMimeType('application/json'); | 
 |  92           req.open('POST', '.', true); | 
 |  93           req.send(code.value + '\r\nEOF\r\n'); | 
 |  94       } | 
 |  95   </script> | 
 |  96 </body> | 
 |  97 </html> | 
| OLD | NEW |