| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library android_extension; | 5 library android_extension; |
| 6 import 'dart:async'; | 6 import 'dart:async'; |
| 7 | 7 |
| 8 // A VERY simplified DOM. | 8 // A VERY simplified DOM. |
| 9 | 9 |
| 10 class BodyElement { | 10 class BodyElement { |
| (...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 569 | 569 |
| 570 class Float32Array extends List<double> { | 570 class Float32Array extends List<double> { |
| 571 Float32Array.fromList(List a) { | 571 Float32Array.fromList(List a) { |
| 572 addAll(a); | 572 addAll(a); |
| 573 } | 573 } |
| 574 } | 574 } |
| 575 | 575 |
| 576 //------------------------------------------------------------------ | 576 //------------------------------------------------------------------ |
| 577 // 2D canvas support | 577 // 2D canvas support |
| 578 | 578 |
| 579 int SetWidth(int handle, int width) | 579 int _SetWidth(int handle, int width) |
| 580 native "CanvasSetWidth"; | 580 native "C2DSetWidth"; |
| 581 int SetHeight(int handle, int height) | 581 int _SetHeight(int handle, int height) |
| 582 native "CanvasSetHeight"; | 582 native "C2DSetHeight"; |
| 583 | 583 |
| 584 double SetGlobalAlpha(int handle, double globalAlpha) | 584 double _SetGlobalAlpha(int handle, double globalAlpha) |
| 585 native "CanvasSetGlobalAlpha"; | 585 native "C2DSetGlobalAlpha"; |
| 586 void SetFillStyle(int handle, fs) | 586 void _SetFillStyle(int handle, fs) |
| 587 native "CanvasSetFillStyle"; | 587 native "C2DSetFillStyle"; |
| 588 String SetFont(int handle, String font) | 588 String _SetFont(int handle, String font) |
| 589 native "CanvasSetFont"; | 589 native "C2DSetFont"; |
| 590 void SetGlobalCompositeOperation(int handle, String op) | 590 void _SetGlobalCompositeOperation(int handle, String op) |
| 591 native "CanvasSetGlobalCompositeOperation"; | 591 native "C2DSetGlobalCompositeOperation"; |
| 592 SetLineCap(int handle, String lc) | 592 _SetLineCap(int handle, String lc) |
| 593 native "CanvasSetLineCap"; | 593 native "C2DSetLineCap"; |
| 594 SetLineJoin(int handle, String lj) | 594 _SetLineJoin(int handle, String lj) |
| 595 native "CanvasSetLineJoin"; | 595 native "C2DSetLineJoin"; |
| 596 SetLineWidth(int handle, double w) | 596 _SetLineWidth(int handle, double w) |
| 597 native "CanvasSetLineWidth"; | 597 native "C2DSetLineWidth"; |
| 598 SetMiterLimit(int handle, double limit) | 598 _SetMiterLimit(int handle, double limit) |
| 599 native "CanvasSetMiterLimit"; | 599 native "C2DSetMiterLimit"; |
| 600 SetShadowBlur(int handle, double blur) | 600 _SetShadowBlur(int handle, double blur) |
| 601 native "CanvasSetShadowBlur"; | 601 native "C2DSetShadowBlur"; |
| 602 SetShadowColor(int handle, String color) | 602 _SetShadowColor(int handle, String color) |
| 603 native "CanvasSetShadowColor"; | 603 native "C2DSetShadowColor"; |
| 604 SetShadowOffsetX(int handle, double offset) | 604 _SetShadowOffsetX(int handle, double offset) |
| 605 native "CanvasSetShadowOffsetX"; | 605 native "C2DSetShadowOffsetX"; |
| 606 SetShadowOffsetY(int handle, double offset) | 606 _SetShadowOffsetY(int handle, double offset) |
| 607 native "CanvasSetShadowOffsetY"; | 607 native "C2DSetShadowOffsetY"; |
| 608 void SetStrokeStyle(int handle, ss) | 608 void _SetStrokeStyle(int handle, ss) |
| 609 native "CanvasSetStrokeStyle"; | 609 native "C2DSetStrokeStyle"; |
| 610 String SetTextAlign(int handle, String align) | 610 String _SetTextAlign(int handle, String align) |
| 611 native "CanvasSetTextAlign"; | 611 native "C2DSetTextAlign"; |
| 612 String SetTextBaseline(int handle, String baseline) | 612 String _SetTextBaseline(int handle, String baseline) |
| 613 native "CanvasSetTextBaseline"; | 613 native "C2DSetTextBaseline"; |
| 614 GetBackingStorePixelRatio(int handle) | 614 _GetBackingStorePixelRatio(int handle) |
| 615 native "CanvasGetBackingStorePixelRatio"; | 615 native "C2DGetBackingStorePixelRatio"; |
| 616 void SetImageSmoothingEnabled(int handle, bool ise) | 616 void _SetImageSmoothingEnabled(int handle, bool ise) |
| 617 native "CanvasSetImageSmoothingEnabled"; | 617 native "C2DSetImageSmoothingEnabled"; |
| 618 void SetLineDash(int handle, List v) | 618 void _SetLineDash(int handle, List v) |
| 619 native "CanvasSetLineDash"; | 619 native "C2DSetLineDash"; |
| 620 SetLineDashOffset(int handle, int v) | 620 _SetLineDashOffset(int handle, int v) |
| 621 native "CanvasSetLineDashOffset"; | 621 native "C2DSetLineDashOffset"; |
| 622 void Arc(int handle, double x, double y, double radius, | 622 void _Arc(int handle, double x, double y, double radius, |
| 623 double startAngle, double endAngle, [bool anticlockwise = false]) | 623 double startAngle, double endAngle, [bool anticlockwise = false]) |
| 624 native "CanvasArc"; | 624 native "C2DArc"; |
| 625 void ArcTo(int handle, double x1, double y1, | 625 void _ArcTo(int handle, double x1, double y1, |
| 626 double x2, double y2, double radius) | 626 double x2, double y2, double radius) |
| 627 native "CanvasArcTo"; | 627 native "C2DArcTo"; |
| 628 void ArcTo2(int handle, double x1, double y1, | 628 void _ArcTo2(int handle, double x1, double y1, |
| 629 double x2, double y2, double radiusX, | 629 double x2, double y2, double radiusX, |
| 630 double radiusY, double rotation) | 630 double radiusY, double rotation) |
| 631 native "CanvasArcTo2"; | 631 native "C2DArcTo2"; |
| 632 void BeginPath(int handle) | 632 void _BeginPath(int handle) |
| 633 native "CanvasBeginPath"; | 633 native "C2DBeginPath"; |
| 634 void BezierCurveTo(int handle, double cp1x, double cp1y, | 634 void _BezierCurveTo(int handle, double cp1x, double cp1y, |
| 635 double cp2x, double cp2y, double x, double y) | 635 double cp2x, double cp2y, double x, double y) |
| 636 native "CanvasBezierCurveTo"; | 636 native "C2DBezierCurveTo"; |
| 637 void ClearRect(int handle, double x, double y, double w, double h) | 637 void _ClearRect(int handle, double x, double y, double w, double h) |
| 638 native "CanvasClearRect"; | 638 native "C2DClearRect"; |
| 639 void Clip(int handle) | 639 void _Clip(int handle) |
| 640 native "CanvasClip"; | 640 native "C2DClip"; |
| 641 void ClosePath(int handle) | 641 void _ClosePath(int handle) |
| 642 native "CanvasClosePath"; | 642 native "C2DClosePath"; |
| 643 ImageData CreateImageDataFromDimensions(int handle, num w, num h) | 643 ImageData _CreateImageDataFromDimensions(int handle, num w, num h) |
| 644 native "CanvasCreateImageDataFromDimensions"; | 644 native "C2DCreateImageDataFromDimensions"; |
| 645 void DrawImage(int handle, String src_url, | 645 void _DrawImage(int handle, String src_url, |
| 646 int sx, int sy, | 646 int sx, int sy, |
| 647 bool has_src_dimensions, int sw, int sh, | 647 bool has_src_dimensions, int sw, int sh, |
| 648 int dx, int dy, | 648 int dx, int dy, |
| 649 bool has_dst_dimensions, int dw, int dh) | 649 bool has_dst_dimensions, int dw, int dh) |
| 650 native "CanvasDrawImage"; | 650 native "C2DDrawImage"; |
| 651 void Fill(int handle) | 651 void _Fill(int handle) |
| 652 native "CanvasFill"; | 652 native "C2DFill"; |
| 653 void FillRect(int handle, double x, double y, double w, double h) | 653 void _FillRect(int handle, double x, double y, double w, double h) |
| 654 native "CanvasFillRect"; | 654 native "C2DFillRect"; |
| 655 void FillText(int handle, String text, double x, double y, double maxWidth) | 655 void _FillText(int handle, String text, double x, double y, double maxWidth) |
| 656 native "CanvasFillText"; | 656 native "C2DFillText"; |
| 657 ImageData GetImageData(num sx, num sy, num sw, num sh) | 657 ImageData _GetImageData(num sx, num sy, num sw, num sh) |
| 658 native "CanvasGetImageData"; | 658 native "C2DGetImageData"; |
| 659 void LineTo(int handle, double x, double y) | 659 void _LineTo(int handle, double x, double y) |
| 660 native "CanvasLineTo"; | 660 native "C2DLineTo"; |
| 661 double MeasureText(int handle, String text) | 661 double _MeasureText(int handle, String text) |
| 662 native "CanvasMeasureText"; | 662 native "C2DMeasureText"; |
| 663 void MoveTo(int handle, double x, double y) | 663 void _MoveTo(int handle, double x, double y) |
| 664 native "CanvasMoveTo"; | 664 native "C2DMoveTo"; |
| 665 void PutImageData(int handle, ImageData imagedata, double dx, double dy) | 665 void _PutImageData(int handle, ImageData imagedata, double dx, double dy) |
| 666 native "CanvasPutImageData"; | 666 native "C2DPutImageData"; |
| 667 void QuadraticCurveTo(int handle, double cpx, double cpy, | 667 void _QuadraticCurveTo(int handle, double cpx, double cpy, |
| 668 double x, double y) | 668 double x, double y) |
| 669 native "CanvasQuadraticCurveTo"; | 669 native "C2DQuadraticCurveTo"; |
| 670 void Rect(int handle, double x, double y, double w, double h) | 670 void _Rect(int handle, double x, double y, double w, double h) |
| 671 native "CanvasRect"; | 671 native "C2DRect"; |
| 672 void Restore(int handle) | 672 void _Restore(int handle) |
| 673 native "CanvasRestore"; | 673 native "C2DRestore"; |
| 674 void Rotate(int handle, double a) | 674 void _Rotate(int handle, double a) |
| 675 native "CanvasRotate"; | 675 native "C2DRotate"; |
| 676 void Save(int handle) | 676 void _Save(int handle) |
| 677 native "CanvasSave"; | 677 native "C2DSave"; |
| 678 void Scale(int handle, double sx, double sy) | 678 void _Scale(int handle, double sx, double sy) |
| 679 native "CanvasScale"; | 679 native "C2DScale"; |
| 680 void SetTransform(int handle, double m11, double m12, | 680 void _SetTransform(int handle, double m11, double m12, |
| 681 double m21, double m22, double dx, double dy) | 681 double m21, double m22, double dx, double dy) |
| 682 native "CanvasSetTransform"; | 682 native "C2DSetTransform"; |
| 683 void Stroke(int handle) | 683 void _Stroke(int handle) |
| 684 native "CanvasStroke"; | 684 native "C2DStroke"; |
| 685 void StrokeRect(int handle, double x, double y, double w, double h) | 685 void _StrokeRect(int handle, double x, double y, double w, double h) |
| 686 native "CanvasStrokeRect"; | 686 native "C2DStrokeRect"; |
| 687 void StrokeText(int handle, String text, double x, double y, | 687 void _StrokeText(int handle, String text, double x, double y, |
| 688 double maxWidth) | 688 double maxWidth) |
| 689 native "CanvasStrokeText"; | 689 native "C2DStrokeText"; |
| 690 void Transform(int handle, double m11, double m12, | 690 void _Transform(int handle, double m11, double m12, |
| 691 double m21, double m22, double dx, double dy) | 691 double m21, double m22, double dx, double dy) |
| 692 native "CanvasTransform"; | 692 native "C2DTransform"; |
| 693 void Translate(int handle, double x, double y) | 693 void _Translate(int handle, double x, double y) |
| 694 native "CanvasTranslate"; | 694 native "C2DTranslate"; |
| 695 | 695 |
| 696 void CreateNativeContext(int handle, int width, int height) | 696 void _CreateNativeContext(int handle, int width, int height) |
| 697 native "CanvasCreateNativeContext"; | 697 native "C2DCreateNativeContext"; |
| 698 | 698 |
| 699 void SetFillGradient(int handle, bool isRadial, | 699 void _SetFillGradient(int handle, bool isRadial, |
| 700 double x0, double y0, double r0, | 700 double x0, double y0, double r0, |
| 701 double x1, double y1, double r1, | 701 double x1, double y1, double r1, |
| 702 List<double> positions, List<String> colors) | 702 List<double> positions, List<String> colors) |
| 703 native "CanvasSetFillGradient"; | 703 native "C2DSetFillGradient"; |
| 704 | 704 |
| 705 void SetStrokeGradient(int handle, bool isRadial, | 705 void _SetStrokeGradient(int handle, bool isRadial, |
| 706 double x0, double y0, double r0, | 706 double x0, double y0, double r0, |
| 707 double x1, double y1, double r1, | 707 double x1, double y1, double r1, |
| 708 List<double> positions, List<String> colors) | 708 List<double> positions, List<String> colors) |
| 709 native "CanvasSetStrokeGradient"; | 709 native "C2DSetStrokeGradient"; |
| 710 | 710 |
| 711 int GetImageWidth(String url) | 711 int _GetImageWidth(String url) |
| 712 native "CanvasGetImageWidth"; | 712 native "C2DGetImageWidth"; |
| 713 | 713 |
| 714 int GetImageHeight(String url) | 714 int _GetImageHeight(String url) |
| 715 native "CanvasGetImageHeight"; | 715 native "C2DGetImageHeight"; |
| 716 | 716 |
| 717 class CanvasGradient { | 717 class CanvasGradient { |
| 718 num _x0, _y0, _r0 = 0, _x1, _y1, _r1 = 0; | 718 num _x0, _y0, _r0 = 0, _x1, _y1, _r1 = 0; |
| 719 bool _isRadial; | 719 bool _isRadial; |
| 720 List<double> _colorStopPositions = []; | 720 List<double> _colorStopPositions = []; |
| 721 List<String> _colorStopColors = []; | 721 List<String> _colorStopColors = []; |
| 722 | 722 |
| 723 void addColorStop(num offset, String color) { | 723 void addColorStop(num offset, String color) { |
| 724 _colorStopPositions.add(offset.toDouble()); | 724 _colorStopPositions.add(offset.toDouble()); |
| 725 _colorStopColors.add(color); | 725 _colorStopColors.add(color); |
| 726 } | 726 } |
| 727 | 727 |
| 728 CanvasGradient.linear(this._x0, this._y0, this._x1, this._y1) | 728 CanvasGradient.linear(this._x0, this._y0, this._x1, this._y1) |
| 729 : _isRadial = false; | 729 : _isRadial = false; |
| 730 | 730 |
| 731 CanvasGradient.radial(this._x0, this._y0, this._r0, | 731 CanvasGradient.radial(this._x0, this._y0, this._r0, |
| 732 this._x1, this._y1, this._r1) | 732 this._x1, this._y1, this._r1) |
| 733 : _isRadial = true; | 733 : _isRadial = true; |
| 734 | 734 |
| 735 void setAsFillStyle(_handle) { | 735 void setAsFillStyle(_handle) { |
| 736 SetFillGradient(_handle, _isRadial, | 736 _SetFillGradient(_handle, _isRadial, |
| 737 _x0.toDouble(), _y0.toDouble(), _r0.toDouble(), | 737 _x0.toDouble(), _y0.toDouble(), _r0.toDouble(), |
| 738 _x1.toDouble(), _y1.toDouble(), _r1.toDouble(), | 738 _x1.toDouble(), _y1.toDouble(), _r1.toDouble(), |
| 739 _colorStopPositions, _colorStopColors); | 739 _colorStopPositions, _colorStopColors); |
| 740 } | 740 } |
| 741 | 741 |
| 742 void setAsStrokeStyle(_handle) { | 742 void setAsStrokeStyle(_handle) { |
| 743 SetStrokeGradient(_handle, _isRadial, | 743 _SetStrokeGradient(_handle, _isRadial, |
| 744 _x0.toDouble(), _y0.toDouble(), _r0.toDouble(), | 744 _x0.toDouble(), _y0.toDouble(), _r0.toDouble(), |
| 745 _x1.toDouble(), _y1.toDouble(), _r1.toDouble(), | 745 _x1.toDouble(), _y1.toDouble(), _r1.toDouble(), |
| 746 _colorStopPositions, _colorStopColors); | 746 _colorStopPositions, _colorStopColors); |
| 747 } | 747 } |
| 748 } | 748 } |
| 749 | 749 |
| 750 class ImageElement extends Node { | 750 class ImageElement extends Node { |
| 751 Stream<Event> get onLoad => new _EventStream(this, 'load'); | 751 Stream<Event> get onLoad => new _EventStream(this, 'load'); |
| 752 | 752 |
| 753 String _src; | 753 String _src; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 765 // we hook into that here... | 765 // we hook into that here... |
| 766 void addListener(String eventType, EventListener handler) { | 766 void addListener(String eventType, EventListener handler) { |
| 767 super.addListener(eventType, handler); | 767 super.addListener(eventType, handler); |
| 768 if (eventType == 'load') { | 768 if (eventType == 'load') { |
| 769 var e = new Event('load'); | 769 var e = new Event('load'); |
| 770 e.target = this; | 770 e.target = this; |
| 771 window._scheduleCallback(handler, e); | 771 window._scheduleCallback(handler, e); |
| 772 } | 772 } |
| 773 } | 773 } |
| 774 | 774 |
| 775 get width => _width == null ? _width = GetImageWidth(_src) : _width; | 775 get width => _width == null ? _width = _GetImageWidth(_src) : _width; |
| 776 get height => _height == null ? _height = GetImageHeight(_src) : _height; | 776 get height => _height == null ? _height = _GetImageHeight(_src) : _height; |
| 777 set width(int widthp) => _width = widthp; | 777 set width(int widthp) => _width = widthp; |
| 778 set height(int heightp) => _height = heightp; | 778 set height(int heightp) => _height = heightp; |
| 779 | 779 |
| 780 ImageElement({String srcp, int widthp, int heightp}) | 780 ImageElement({String srcp, int widthp, int heightp}) |
| 781 : _src = srcp, | 781 : _src = srcp, |
| 782 _width = widthp, | 782 _width = widthp, |
| 783 _height = heightp { | 783 _height = heightp { |
| 784 if (_src != null) { | 784 if (_src != null) { |
| 785 if (_width == null) _width = GetImageWidth(_src); | 785 if (_width == null) _width = _GetImageWidth(_src); |
| 786 if (_height == null) _height = GetImageHeight(_src); | 786 if (_height == null) _height = _GetImageHeight(_src); |
| 787 } | 787 } |
| 788 } | 788 } |
| 789 } | 789 } |
| 790 | 790 |
| 791 class ImageData { | 791 class ImageData { |
| 792 final Uint8ClampedArray data; | 792 final Uint8ClampedArray data; |
| 793 final int height; | 793 final int height; |
| 794 final int width; | 794 final int width; |
| 795 ImageData(this.height, this.width, this.data); | 795 ImageData(this.height, this.width, this.data); |
| 796 } | 796 } |
| (...skipping 22 matching lines...) Expand all Loading... |
| 819 | 819 |
| 820 int _width, _height; | 820 int _width, _height; |
| 821 set width(int w) { _width = SetWidth(_handle, w); } | 821 set width(int w) { _width = SetWidth(_handle, w); } |
| 822 get width => _width; | 822 get width => _width; |
| 823 set height(int h) { _height = SetHeight(_handle, h); } | 823 set height(int h) { _height = SetHeight(_handle, h); } |
| 824 get height => _height; | 824 get height => _height; |
| 825 | 825 |
| 826 CanvasRenderingContext2D(canvas, width, height) : super(canvas) { | 826 CanvasRenderingContext2D(canvas, width, height) : super(canvas) { |
| 827 _width = width; | 827 _width = width; |
| 828 _height = height; | 828 _height = height; |
| 829 CreateNativeContext(_handle = next_handle++, width, height); | 829 _CreateNativeContext(_handle = next_handle++, width, height); |
| 830 } | 830 } |
| 831 | 831 |
| 832 double _alpha = 1.0; | 832 double _alpha = 1.0; |
| 833 set globalAlpha(num a) { | 833 set globalAlpha(num a) { |
| 834 _alpha = SetGlobalAlpha(_handle, a.toDouble()); | 834 _alpha = _SetGlobalAlpha(_handle, a.toDouble()); |
| 835 } | 835 } |
| 836 get globalAlpha => _alpha; | 836 get globalAlpha => _alpha; |
| 837 | 837 |
| 838 // TODO(gram): make sure we support compound assignments like: | 838 // TODO(gram): make sure we support compound assignments like: |
| 839 // fillStyle = strokeStyle = "red" | 839 // fillStyle = strokeStyle = "red" |
| 840 var _fillStyle = "#000"; | 840 var _fillStyle = "#000"; |
| 841 set fillStyle(fs) { | 841 set fillStyle(fs) { |
| 842 _fillStyle = fs; | 842 _fillStyle = fs; |
| 843 // TODO(gram): Support for CanvasPattern. | 843 // TODO(gram): Support for CanvasPattern. |
| 844 if (fs is CanvasGradient) { | 844 if (fs is CanvasGradient) { |
| 845 fs.setAsFillStyle(_handle); | 845 fs.setAsFillStyle(_handle); |
| 846 } else { | 846 } else { |
| 847 SetFillStyle(_handle, fs); | 847 _SetFillStyle(_handle, fs); |
| 848 } | 848 } |
| 849 } | 849 } |
| 850 get fillStyle => _fillStyle; | 850 get fillStyle => _fillStyle; |
| 851 | 851 |
| 852 String _font = "10px sans-serif"; | 852 String _font = "10px sans-serif"; |
| 853 set font(String f) { _font = SetFont(_handle, f); } | 853 set font(String f) { _font = _SetFont(_handle, f); } |
| 854 get font => _font; | 854 get font => _font; |
| 855 | 855 |
| 856 String _globalCompositeOperation = "source-over"; | 856 String _globalCompositeOperation = "source-over"; |
| 857 set globalCompositeOperation(String o) => | 857 set globalCompositeOperation(String o) => |
| 858 SetGlobalCompositeOperation(_handle, _globalCompositeOperation = o); | 858 _SetGlobalCompositeOperation(_handle, _globalCompositeOperation = o); |
| 859 get globalCompositeOperation => _globalCompositeOperation; | 859 get globalCompositeOperation => _globalCompositeOperation; |
| 860 | 860 |
| 861 String _lineCap = "butt"; // "butt", "round", "square" | 861 String _lineCap = "butt"; // "butt", "round", "square" |
| 862 get lineCap => _lineCap; | 862 get lineCap => _lineCap; |
| 863 set lineCap(String lc) => SetLineCap(_handle, _lineCap = lc); | 863 set lineCap(String lc) => _SetLineCap(_handle, _lineCap = lc); |
| 864 | 864 |
| 865 int _lineDashOffset = 0; | 865 int _lineDashOffset = 0; |
| 866 get lineDashOffset => _lineDashOffset; | 866 get lineDashOffset => _lineDashOffset; |
| 867 set lineDashOffset(num v) { | 867 set lineDashOffset(num v) { |
| 868 _lineDashOffset = v.toInt(); | 868 _lineDashOffset = v.toInt(); |
| 869 SetLineDashOffset(_handle, _lineDashOffset); | 869 _SetLineDashOffset(_handle, _lineDashOffset); |
| 870 } | 870 } |
| 871 | 871 |
| 872 String _lineJoin = "miter"; // "round", "bevel", "miter" | 872 String _lineJoin = "miter"; // "round", "bevel", "miter" |
| 873 get lineJoin => _lineJoin; | 873 get lineJoin => _lineJoin; |
| 874 set lineJoin(String lj) => SetLineJoin(_handle, _lineJoin = lj); | 874 set lineJoin(String lj) => _SetLineJoin(_handle, _lineJoin = lj); |
| 875 | 875 |
| 876 num _lineWidth = 1.0; | 876 num _lineWidth = 1.0; |
| 877 get lineWidth => _lineWidth; | 877 get lineWidth => _lineWidth; |
| 878 set lineWidth(num w) { | 878 set lineWidth(num w) { |
| 879 SetLineWidth(_handle, w.toDouble()); | 879 _SetLineWidth(_handle, w.toDouble()); |
| 880 _lineWidth = w; | 880 _lineWidth = w; |
| 881 } | 881 } |
| 882 | 882 |
| 883 num _miterLimit = 10.0; // (default 10) | 883 num _miterLimit = 10.0; // (default 10) |
| 884 get miterLimit => _miterLimit; | 884 get miterLimit => _miterLimit; |
| 885 set miterLimit(num limit) { | 885 set miterLimit(num limit) { |
| 886 SetMiterLimit(_handle, limit.toDouble()); | 886 _SetMiterLimit(_handle, limit.toDouble()); |
| 887 _miterLimit = limit; | 887 _miterLimit = limit; |
| 888 } | 888 } |
| 889 | 889 |
| 890 num _shadowBlur; | 890 num _shadowBlur; |
| 891 get shadowBlur => _shadowBlur; | 891 get shadowBlur => _shadowBlur; |
| 892 set shadowBlur(num blur) { | 892 set shadowBlur(num blur) { |
| 893 _shadowBlur = blur; | 893 _shadowBlur = blur; |
| 894 SetShadowBlur(_handle, blur.toDouble()); | 894 _SetShadowBlur(_handle, blur.toDouble()); |
| 895 } | 895 } |
| 896 | 896 |
| 897 String _shadowColor; | 897 String _shadowColor; |
| 898 get shadowColor => _shadowColor; | 898 get shadowColor => _shadowColor; |
| 899 set shadowColor(String color) => | 899 set shadowColor(String color) => |
| 900 SetShadowColor(_handle, _shadowColor = color); | 900 _SetShadowColor(_handle, _shadowColor = color); |
| 901 | 901 |
| 902 num _shadowOffsetX; | 902 num _shadowOffsetX; |
| 903 get shadowOffsetX => _shadowOffsetX; | 903 get shadowOffsetX => _shadowOffsetX; |
| 904 set shadowOffsetX(num offset) { | 904 set shadowOffsetX(num offset) { |
| 905 _shadowOffsetX = offset; | 905 _shadowOffsetX = offset; |
| 906 SetShadowOffsetX(_handle, offset.toDouble()); | 906 _SetShadowOffsetX(_handle, offset.toDouble()); |
| 907 } | 907 } |
| 908 | 908 |
| 909 num _shadowOffsetY; | 909 num _shadowOffsetY; |
| 910 get shadowOffsetY => _shadowOffsetY; | 910 get shadowOffsetY => _shadowOffsetY; |
| 911 set shadowOffsetY(num offset) { | 911 set shadowOffsetY(num offset) { |
| 912 _shadowOffsetY = offset; | 912 _shadowOffsetY = offset; |
| 913 SetShadowOffsetY(_handle, offset.toDouble()); | 913 _SetShadowOffsetY(_handle, offset.toDouble()); |
| 914 } | 914 } |
| 915 | 915 |
| 916 var _strokeStyle = "#000"; | 916 var _strokeStyle = "#000"; |
| 917 get strokeStyle => _strokeStyle; | 917 get strokeStyle => _strokeStyle; |
| 918 set strokeStyle(ss) { | 918 set strokeStyle(ss) { |
| 919 _strokeStyle = ss; | 919 _strokeStyle = ss; |
| 920 // TODO(gram): Support for CanvasPattern. | 920 // TODO(gram): Support for CanvasPattern. |
| 921 if (ss is CanvasGradient) { | 921 if (ss is CanvasGradient) { |
| 922 ss.setAsStrokeStyle(_handle); | 922 ss.setAsStrokeStyle(_handle); |
| 923 } else { | 923 } else { |
| 924 SetStrokeStyle(_handle, ss); | 924 _SetStrokeStyle(_handle, ss); |
| 925 } | 925 } |
| 926 } | 926 } |
| 927 | 927 |
| 928 String _textAlign = "start"; | 928 String _textAlign = "start"; |
| 929 get textAlign => _textAlign; | 929 get textAlign => _textAlign; |
| 930 set textAlign(String a) { _textAlign = SetTextAlign(_handle, a); } | 930 set textAlign(String a) { _textAlign = _SetTextAlign(_handle, a); } |
| 931 | 931 |
| 932 String _textBaseline = "alphabetic"; | 932 String _textBaseline = "alphabetic"; |
| 933 get textBaseline => _textBaseline; | 933 get textBaseline => _textBaseline; |
| 934 set textBaseline(String b) { _textBaseline = SetTextBaseline(_handle, b); } | 934 set textBaseline(String b) { _textBaseline = _SetTextBaseline(_handle, b); } |
| 935 | 935 |
| 936 get webkitBackingStorePixelRatio => GetBackingStorePixelRatio(_handle); | 936 get webkitBackingStorePixelRatio => _GetBackingStorePixelRatio(_handle); |
| 937 | 937 |
| 938 bool _webkitImageSmoothingEnabled; | 938 bool _webkitImageSmoothingEnabled; |
| 939 get webkitImageSmoothingEnabled => _webkitImageSmoothingEnabled; | 939 get webkitImageSmoothingEnabled => _webkitImageSmoothingEnabled; |
| 940 set webkitImageSmoothingEnabled(bool v) => | 940 set webkitImageSmoothingEnabled(bool v) => |
| 941 SetImageSmoothingEnabled(_webkitImageSmoothingEnabled = v); | 941 _SetImageSmoothingEnabled(_webkitImageSmoothingEnabled = v); |
| 942 | 942 |
| 943 get webkitLineDash => lineDash; | 943 get webkitLineDash => lineDash; |
| 944 set webkitLineDash(List v) => lineDash = v; | 944 set webkitLineDash(List v) => lineDash = v; |
| 945 | 945 |
| 946 get webkitLineDashOffset => lineDashOffset; | 946 get webkitLineDashOffset => lineDashOffset; |
| 947 set webkitLineDashOffset(num v) => lineDashOffset = v; | 947 set webkitLineDashOffset(num v) => lineDashOffset = v; |
| 948 | 948 |
| 949 // Methods | 949 // Methods |
| 950 | 950 |
| 951 void arc(num x, num y, num radius, num a1, num a2, bool anticlockwise) { | 951 void arc(num x, num y, num radius, num a1, num a2, bool anticlockwise) { |
| 952 if (radius < 0) { | 952 if (radius < 0) { |
| 953 // throw IndexSizeError | 953 // throw IndexSizeError |
| 954 } else { | 954 } else { |
| 955 Arc(_handle, x.toDouble(), y.toDouble(), radius.toDouble(), | 955 _Arc(_handle, x.toDouble(), y.toDouble(), radius.toDouble(), |
| 956 a1.toDouble(), a2.toDouble(), anticlockwise); | 956 a1.toDouble(), a2.toDouble(), anticlockwise); |
| 957 } | 957 } |
| 958 } | 958 } |
| 959 | 959 |
| 960 // Note - looking at the Dart docs it seems Dart doesn't support | 960 // Note - looking at the Dart docs it seems Dart doesn't support |
| 961 // the second form in the browser. | 961 // the second form in the browser. |
| 962 void arcTo(num x1, num y1, num x2, num y2, | 962 void arcTo(num x1, num y1, num x2, num y2, |
| 963 num radiusX, [num radiusY, num rotation]) { | 963 num radiusX, [num radiusY, num rotation]) { |
| 964 if (radiusY == null) { | 964 if (radiusY == null) { |
| 965 ArcTo(_handle, x1.toDouble(), y1.toDouble(), | 965 _ArcTo(_handle, x1.toDouble(), y1.toDouble(), |
| 966 x2.toDouble(), y2.toDouble(), radiusX.toDouble()); | 966 x2.toDouble(), y2.toDouble(), radiusX.toDouble()); |
| 967 } else { | 967 } else { |
| 968 ArcTo2(_handle, x1.toDouble(), y1.toDouble(), | 968 _ArcTo2(_handle, x1.toDouble(), y1.toDouble(), |
| 969 x2.toDouble(), y2.toDouble(), | 969 x2.toDouble(), y2.toDouble(), |
| 970 radiusX.toDouble(), radiusY.toDouble(), | 970 radiusX.toDouble(), radiusY.toDouble(), |
| 971 rotation.toDouble()); | 971 rotation.toDouble()); |
| 972 } | 972 } |
| 973 } | 973 } |
| 974 | 974 |
| 975 void beginPath() => BeginPath(_handle); | 975 void beginPath() => _BeginPath(_handle); |
| 976 | 976 |
| 977 void bezierCurveTo(num cp1x, num cp1y, num cp2x, num cp2y, | 977 void bezierCurveTo(num cp1x, num cp1y, num cp2x, num cp2y, |
| 978 num x, num y) => | 978 num x, num y) => |
| 979 BezierCurveTo(_handle, cp1x.toDouble(), cp1y.toDouble(), | 979 _BezierCurveTo(_handle, cp1x.toDouble(), cp1y.toDouble(), |
| 980 cp2x.toDouble(), cp2y.toDouble(), | 980 cp2x.toDouble(), cp2y.toDouble(), |
| 981 x.toDouble(), y.toDouble()); | 981 x.toDouble(), y.toDouble()); |
| 982 | 982 |
| 983 void clearRect(num x, num y, num w, num h) => | 983 void clearRect(num x, num y, num w, num h) => |
| 984 ClearRect(_handle, x.toDouble(), y.toDouble(), | 984 _ClearRect(_handle, x.toDouble(), y.toDouble(), |
| 985 w.toDouble(), h.toDouble()); | 985 w.toDouble(), h.toDouble()); |
| 986 | 986 |
| 987 void clip() => Clip(_handle); | 987 void clip() => _Clip(_handle); |
| 988 | 988 |
| 989 void closePath() => ClosePath(_handle); | 989 void closePath() => _ClosePath(_handle); |
| 990 | 990 |
| 991 ImageData createImageData(var imagedata_OR_sw, [num sh = null]) { | 991 ImageData createImageData(var imagedata_OR_sw, [num sh = null]) { |
| 992 if (sh == null) { | 992 if (sh == null) { |
| 993 throw new Exception('Unimplemented createImageData(imagedata)'); | 993 throw new Exception('Unimplemented createImageData(imagedata)'); |
| 994 } else { | 994 } else { |
| 995 return CreateImageDataFromDimensions(_handle, imagedata_OR_sw, sh); | 995 return _CreateImageDataFromDimensions(_handle, imagedata_OR_sw, sh); |
| 996 } | 996 } |
| 997 } | 997 } |
| 998 | 998 |
| 999 CanvasGradient createLinearGradient(num x0, num y0, num x1, num y1) { | 999 CanvasGradient createLinearGradient(num x0, num y0, num x1, num y1) { |
| 1000 return new CanvasGradient.linear(x0, y0, x1, y1); | 1000 return new CanvasGradient.linear(x0, y0, x1, y1); |
| 1001 } | 1001 } |
| 1002 | 1002 |
| 1003 CanvasPattern createPattern(canvas_OR_image, String repetitionType) { | 1003 CanvasPattern createPattern(canvas_OR_image, String repetitionType) { |
| 1004 throw new Exception('Unimplemented createPattern'); | 1004 throw new Exception('Unimplemented createPattern'); |
| 1005 } | 1005 } |
| 1006 | 1006 |
| 1007 CanvasGradient createRadialGradient(num x0, num y0, num r0, | 1007 CanvasGradient createRadialGradient(num x0, num y0, num r0, |
| 1008 num x1, num y1, num r1) { | 1008 num x1, num y1, num r1) { |
| 1009 return new CanvasGradient.radial(x0, y0, r0, x1, y1, r1); | 1009 return new CanvasGradient.radial(x0, y0, r0, x1, y1, r1); |
| 1010 } | 1010 } |
| 1011 | 1011 |
| 1012 void drawImage(element, num x1, num y1, | 1012 void _drawImage(element, num x1, num y1, |
| 1013 [num w1, num h1, num x2, num y2, num w2, num h2]) { | 1013 [num w1, num h1, num x2, num y2, num w2, num h2]) { |
| 1014 if (element == null || element.src == null || element.src.length == 0) { | 1014 if (element == null || element.src == null || element.src.length == 0) { |
| 1015 throw "drawImage called with no valid src"; | 1015 throw "drawImage called with no valid src"; |
| 1016 } else { | 1016 } else { |
| 1017 log("drawImage ${element.src}"); | 1017 log("drawImage ${element.src}"); |
| 1018 } | 1018 } |
| 1019 var w = (element.width == null) ? 0 : element.width; | 1019 var w = (element.width == null) ? 0 : element.width; |
| 1020 var h = (element.height == null) ? 0 : element.height; | 1020 var h = (element.height == null) ? 0 : element.height; |
| 1021 if (!?w1) { // drawImage(element, dx, dy) | 1021 if (!?w1) { // drawImage(element, dx, dy) |
| 1022 DrawImage(_handle, element.src, 0, 0, false, w, h, | 1022 _DrawImage(_handle, element.src, 0, 0, false, w, h, |
| 1023 x1.toInt(), y1.toInt(), false, 0, 0); | 1023 x1.toInt(), y1.toInt(), false, 0, 0); |
| 1024 } else if (!?x2) { // drawImage(element, dx, dy, dw, dh) | 1024 } else if (!?x2) { // drawImage(element, dx, dy, dw, dh) |
| 1025 DrawImage(_handle, element.src, 0, 0, false, w, h, | 1025 _DrawImage(_handle, element.src, 0, 0, false, w, h, |
| 1026 x1.toInt(), y1.toInt(), true, w1.toInt(), h1.toInt()); | 1026 x1.toInt(), y1.toInt(), true, w1.toInt(), h1.toInt()); |
| 1027 } else { // drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh) | 1027 } else { // drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh) |
| 1028 DrawImage(_handle, element.src, | 1028 _DrawImage(_handle, element.src, |
| 1029 x1.toInt(), y1.toInt(), true, w1.toInt(), h1.toInt(), | 1029 x1.toInt(), y1.toInt(), true, w1.toInt(), h1.toInt(), |
| 1030 x2.toInt(), y2.toInt(), true, w2.toInt(), h2.toInt()); | 1030 x2.toInt(), y2.toInt(), true, w2.toInt(), h2.toInt()); |
| 1031 } | 1031 } |
| 1032 } | 1032 } |
| 1033 | 1033 |
| 1034 void drawImageAtScale(element, Rect dest, {Rect sourceRect}) { | 1034 void drawImage(source, num destX, num destY) { |
| 1035 _drawImage(source, destX, destY); |
| 1036 } |
| 1037 |
| 1038 void drawImageScaled(source, |
| 1039 num destX, num destY, num destWidth, num destHeight) { |
| 1040 _drawImage(source, destX, destY, destWidth, destHeight); |
| 1041 } |
| 1042 |
| 1043 void drawImageScaledFromSource(source, |
| 1044 num sourceX, num sourceY, num sourceWidth, num sourceHeight, |
| 1045 num destX, num destY, num destWidth, num destHeight) { |
| 1046 _drawImage(source, sourceX, sourceY, sourceWidth, sourceHeight, |
| 1047 destX, destY, destWidth, destHeight); |
| 1048 } |
| 1049 |
| 1050 void drawImageToRect(source, Rect dest, {Rect sourceRect}) { |
| 1035 if (sourceRect == null) { | 1051 if (sourceRect == null) { |
| 1036 drawImage(element, dest.left, dest.top, dest.width, dest.height); | 1052 _drawImage(source, dest.left, dest.top, dest.width, dest.height); |
| 1037 } else { | 1053 } else { |
| 1038 drawImage(element, | 1054 _drawImage(source, |
| 1039 sourceRect.left, sourceRect.top, sourceRect.width, sourceRect.height, | 1055 sourceRect.left, sourceRect.top, sourceRect.width, sourceRect.height, |
| 1040 dest.left, dest.top, dest.width, dest.height); | 1056 dest.left, dest.top, dest.width, dest.height); |
| 1041 } | 1057 } |
| 1042 } | 1058 } |
| 1043 | 1059 |
| 1044 void fill() => Fill(_handle); | 1060 void fill() => _Fill(_handle); |
| 1045 | 1061 |
| 1046 void fillRect(num x, num y, num w, num h) => | 1062 void fillRect(num x, num y, num w, num h) => |
| 1047 FillRect(_handle, x.toDouble(), y.toDouble(), | 1063 _FillRect(_handle, x.toDouble(), y.toDouble(), |
| 1048 w.toDouble(), h.toDouble()); | 1064 w.toDouble(), h.toDouble()); |
| 1049 | 1065 |
| 1050 void fillText(String text, num x, num y, [num maxWidth = -1]) => | 1066 void fillText(String text, num x, num y, [num maxWidth = -1]) => |
| 1051 FillText(_handle, text, x.toDouble(), y.toDouble(), | 1067 _FillText(_handle, text, x.toDouble(), y.toDouble(), |
| 1052 maxWidth.toDouble()); | 1068 maxWidth.toDouble()); |
| 1053 | 1069 |
| 1054 ImageData getImageData(num sx, num sy, num sw, num sh) => | 1070 ImageData getImageData(num sx, num sy, num sw, num sh) => |
| 1055 GetImageData(sx, sy, sw, sh); | 1071 _GetImageData(sx, sy, sw, sh); |
| 1056 | 1072 |
| 1057 List<double> _lineDash = null; | 1073 List<double> _lineDash = null; |
| 1058 List<num> getLineDash() { | 1074 List<num> getLineDash() { |
| 1059 if (_lineDash == null) return []; | 1075 if (_lineDash == null) return []; |
| 1060 return _lineDash; // TODO(gram): should we return a copy? | 1076 return _lineDash; // TODO(gram): should we return a copy? |
| 1061 } | 1077 } |
| 1062 | 1078 |
| 1063 bool isPointInPath(num x, num y) { | 1079 bool isPointInPath(num x, num y) { |
| 1064 throw new Exception('Unimplemented isPointInPath'); | 1080 throw new Exception('Unimplemented isPointInPath'); |
| 1065 } | 1081 } |
| 1066 | 1082 |
| 1067 void lineTo(num x, num y) { | 1083 void lineTo(num x, num y) { |
| 1068 LineTo(_handle, x.toDouble(), y.toDouble()); | 1084 _LineTo(_handle, x.toDouble(), y.toDouble()); |
| 1069 } | 1085 } |
| 1070 | 1086 |
| 1071 TextMetrics measureText(String text) { | 1087 TextMetrics measureText(String text) { |
| 1072 double w = MeasureText(_handle, text); | 1088 double w = _MeasureText(_handle, text); |
| 1073 return new TextMetrics(w); | 1089 return new TextMetrics(w); |
| 1074 } | 1090 } |
| 1075 | 1091 |
| 1076 void moveTo(num x, num y) => | 1092 void moveTo(num x, num y) => |
| 1077 MoveTo(_handle, x.toDouble(), y.toDouble()); | 1093 _MoveTo(_handle, x.toDouble(), y.toDouble()); |
| 1078 | 1094 |
| 1079 void putImageData(ImageData imagedata, num dx, num dy, | 1095 void putImageData(ImageData imagedata, num dx, num dy, |
| 1080 [num dirtyX, num dirtyY, num dirtyWidth, num dirtyHeight]) { | 1096 [num dirtyX, num dirtyY, num dirtyWidth, num dirtyHeight]) { |
| 1081 if (dirtyX != null || dirtyY != null) { | 1097 if (dirtyX != null || dirtyY != null) { |
| 1082 throw new Exception('Unimplemented putImageData'); | 1098 throw new Exception('Unimplemented putImageData'); |
| 1083 } else { | 1099 } else { |
| 1084 PutImageData(_handle, imagedata, dx, dy); | 1100 _PutImageData(_handle, imagedata, dx, dy); |
| 1085 } | 1101 } |
| 1086 } | 1102 } |
| 1087 | 1103 |
| 1088 void quadraticCurveTo(num cpx, num cpy, num x, num y) => | 1104 void quadraticCurveTo(num cpx, num cpy, num x, num y) => |
| 1089 QuadraticCurveTo(_handle, cpx.toDouble(), cpy.toDouble(), | 1105 _QuadraticCurveTo(_handle, cpx.toDouble(), cpy.toDouble(), |
| 1090 x.toDouble(), y.toDouble()); | 1106 x.toDouble(), y.toDouble()); |
| 1091 | 1107 |
| 1092 void rect(num x, num y, num w, num h) => | 1108 void rect(num x, num y, num w, num h) => |
| 1093 Rect(_handle, x.toDouble(), y.toDouble(), w.toDouble(), h.toDouble()); | 1109 _Rect(_handle, x.toDouble(), y.toDouble(), w.toDouble(), h.toDouble()); |
| 1094 | 1110 |
| 1095 void restore() => Restore(_handle); | 1111 void restore() => _Restore(_handle); |
| 1096 | 1112 |
| 1097 void rotate(num angle) => Rotate(_handle, angle.toDouble()); | 1113 void rotate(num angle) => _Rotate(_handle, angle.toDouble()); |
| 1098 | 1114 |
| 1099 void save() => Save(_handle); | 1115 void save() => _Save(_handle); |
| 1100 | 1116 |
| 1101 void scale(num x, num y) => Scale(_handle, x.toDouble(), y.toDouble()); | 1117 void scale(num x, num y) => _Scale(_handle, x.toDouble(), y.toDouble()); |
| 1102 | 1118 |
| 1103 void setFillColorHsl(int h, num s, num l, [num a = 1]) { | 1119 void setFillColorHsl(int h, num s, num l, [num a = 1]) { |
| 1104 throw new Exception('Unimplemented setFillColorHsl'); | 1120 throw new Exception('Unimplemented setFillColorHsl'); |
| 1105 } | 1121 } |
| 1106 | 1122 |
| 1107 void setFillColorRgb(int r, int g, int b, [num a = 1]) { | 1123 void setFillColorRgb(int r, int g, int b, [num a = 1]) { |
| 1108 throw new Exception('Unimplemented setFillColorRgb'); | 1124 throw new Exception('Unimplemented setFillColorRgb'); |
| 1109 } | 1125 } |
| 1110 | 1126 |
| 1111 void setLineDash(List<num> dash) { | 1127 void setLineDash(List<num> dash) { |
| (...skipping 14 matching lines...) Expand all Loading... |
| 1126 for (int i = 0; i < dash.length; i++) { | 1142 for (int i = 0; i < dash.length; i++) { |
| 1127 double v = dash[i].toDouble(); | 1143 double v = dash[i].toDouble(); |
| 1128 if (v < 0) { | 1144 if (v < 0) { |
| 1129 valid = false; | 1145 valid = false; |
| 1130 break; | 1146 break; |
| 1131 } | 1147 } |
| 1132 new_dash[i] = v; | 1148 new_dash[i] = v; |
| 1133 } | 1149 } |
| 1134 } | 1150 } |
| 1135 if (valid) { | 1151 if (valid) { |
| 1136 SetLineDash(_handle, _lineDash = new_dash); | 1152 _SetLineDash(_handle, _lineDash = new_dash); |
| 1137 } | 1153 } |
| 1138 } | 1154 } |
| 1139 | 1155 |
| 1140 void setStrokeColorHsl(int h, num s, num l, [num a = 1]) { | 1156 void setStrokeColorHsl(int h, num s, num l, [num a = 1]) { |
| 1141 throw new Exception('Unimplemented setStrokeColorHsl'); | 1157 throw new Exception('Unimplemented setStrokeColorHsl'); |
| 1142 } | 1158 } |
| 1143 | 1159 |
| 1144 void setStrokeColorRgb(int r, int g, int b, [num a = 1]) { | 1160 void setStrokeColorRgb(int r, int g, int b, [num a = 1]) { |
| 1145 throw new Exception('Unimplemented setStrokeColorRgb'); | 1161 throw new Exception('Unimplemented setStrokeColorRgb'); |
| 1146 } | 1162 } |
| 1147 | 1163 |
| 1148 void setTransform(num m11, num m12, num m21, num m22, num dx, num dy) => | 1164 void setTransform(num m11, num m12, num m21, num m22, num dx, num dy) => |
| 1149 SetTransform(_handle, m11.toDouble(), m12.toDouble(), | 1165 _SetTransform(_handle, m11.toDouble(), m12.toDouble(), |
| 1150 m21.toDouble(), m22.toDouble(), | 1166 m21.toDouble(), m22.toDouble(), |
| 1151 dx.toDouble(), dy.toDouble()); | 1167 dx.toDouble(), dy.toDouble()); |
| 1152 | 1168 |
| 1153 void stroke() => Stroke(_handle); | 1169 void stroke() => _Stroke(_handle); |
| 1154 | 1170 |
| 1155 void strokeRect(num x, num y, num w, num h, [num lineWidth]) => | 1171 void strokeRect(num x, num y, num w, num h, [num lineWidth]) => |
| 1156 StrokeRect(_handle, x.toDouble(), y.toDouble(), | 1172 _StrokeRect(_handle, x.toDouble(), y.toDouble(), |
| 1157 w.toDouble(), h.toDouble()); | 1173 w.toDouble(), h.toDouble()); |
| 1158 | 1174 |
| 1159 void strokeText(String text, num x, num y, [num maxWidth = -1]) => | 1175 void strokeText(String text, num x, num y, [num maxWidth = -1]) => |
| 1160 StrokeText(_handle, text, x.toDouble(), y.toDouble(), | 1176 _StrokeText(_handle, text, x.toDouble(), y.toDouble(), |
| 1161 maxWidth.toDouble()); | 1177 maxWidth.toDouble()); |
| 1162 | 1178 |
| 1163 void transform(num m11, num m12, num m21, num m22, num dx, num dy) => | 1179 void transform(num m11, num m12, num m21, num m22, num dx, num dy) => |
| 1164 Transform(_handle, m11.toDouble(), m12.toDouble(), | 1180 _Transform(_handle, m11.toDouble(), m12.toDouble(), |
| 1165 m21.toDouble(), m22.toDouble(), | 1181 m21.toDouble(), m22.toDouble(), |
| 1166 dx.toDouble(), dy.toDouble()); | 1182 dx.toDouble(), dy.toDouble()); |
| 1167 | 1183 |
| 1168 void translate(num x, num y) => | 1184 void translate(num x, num y) => |
| 1169 Translate(_handle, x.toDouble(), y.toDouble()); | 1185 _Translate(_handle, x.toDouble(), y.toDouble()); |
| 1170 | 1186 |
| 1171 ImageData webkitGetImageDataHD(num sx, num sy, num sw, num sh) { | 1187 ImageData webkitGetImageDataHD(num sx, num sy, num sw, num sh) { |
| 1172 throw new Exception('Unimplemented webkitGetImageDataHD'); | 1188 throw new Exception('Unimplemented webkitGetImageDataHD'); |
| 1173 } | 1189 } |
| 1174 | 1190 |
| 1175 void webkitPutImageDataHD(ImageData imagedata, num dx, num dy, | 1191 void webkitPutImageDataHD(ImageData imagedata, num dx, num dy, |
| 1176 [num dirtyX, num dirtyY, | 1192 [num dirtyX, num dirtyY, |
| 1177 num dirtyWidth, num dirtyHeight]) { | 1193 num dirtyWidth, num dirtyHeight]) { |
| 1178 throw new Exception('Unimplemented webkitGetImageDataHD'); | 1194 throw new Exception('Unimplemented webkitGetImageDataHD'); |
| 1179 } | 1195 } |
| 1180 | 1196 |
| 1181 // TODO(vsm): Kill. | 1197 // TODO(vsm): Kill. |
| 1182 noSuchMethod(invocation) { | 1198 noSuchMethod(invocation) { |
| 1183 throw new Exception('Unimplemented/unknown ${invocation.memberName}'); | 1199 throw new Exception('Unimplemented/unknown ${invocation.memberName}'); |
| 1184 } | 1200 } |
| 1185 } | 1201 } |
| 1186 | 1202 |
| 1203 var sfx_extension = 'raw'; |
| 1187 int _loadSample(String s) native "LoadSample"; | 1204 int _loadSample(String s) native "LoadSample"; |
| 1188 int _playSample(String s) native "PlaySample"; | 1205 int _playSample(String s) native "PlaySample"; |
| OLD | NEW |