Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(228)

Side by Side Diff: src/utils/SkLua.cpp

Issue 667803004: add gradients and drawPaint to lua (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « samplecode/SampleLua.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2013 Google Inc. 2 * Copyright 2013 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "SkLua.h" 8 #include "SkLua.h"
9 9
10 #if SK_SUPPORT_GPU 10 #if SK_SUPPORT_GPU
11 #include "GrReducedClip.h" 11 #include "GrReducedClip.h"
12 #endif 12 #endif
13 13
14 #include "SkBlurImageFilter.h" 14 #include "SkBlurImageFilter.h"
15 #include "SkCanvas.h" 15 #include "SkCanvas.h"
16 #include "SkData.h" 16 #include "SkData.h"
17 #include "SkDecodingImageGenerator.h" 17 #include "SkDecodingImageGenerator.h"
18 #include "SkDocument.h" 18 #include "SkDocument.h"
19 #include "SkGradientShader.h"
19 #include "SkImage.h" 20 #include "SkImage.h"
20 #include "SkMatrix.h" 21 #include "SkMatrix.h"
21 #include "SkPaint.h" 22 #include "SkPaint.h"
22 #include "SkPath.h" 23 #include "SkPath.h"
23 #include "SkPictureRecorder.h" 24 #include "SkPictureRecorder.h"
24 #include "SkPixelRef.h" 25 #include "SkPixelRef.h"
25 #include "SkRRect.h" 26 #include "SkRRect.h"
26 #include "SkString.h" 27 #include "SkString.h"
27 #include "SkSurface.h" 28 #include "SkSurface.h"
28 #include "SkTextBlob.h" 29 #include "SkTextBlob.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 lua_setmetatable(L, -2); 65 lua_setmetatable(L, -2);
65 return addr; 66 return addr;
66 } 67 }
67 68
68 template <typename T> void push_obj(lua_State* L, const T& obj) { 69 template <typename T> void push_obj(lua_State* L, const T& obj) {
69 new (lua_newuserdata(L, sizeof(T))) T(obj); 70 new (lua_newuserdata(L, sizeof(T))) T(obj);
70 luaL_getmetatable(L, get_mtname<T>()); 71 luaL_getmetatable(L, get_mtname<T>());
71 lua_setmetatable(L, -2); 72 lua_setmetatable(L, -2);
72 } 73 }
73 74
74 template <typename T> void push_ref(lua_State* L, T* ref) { 75 template <typename T> T* push_ref(lua_State* L, T* ref) {
75 *(T**)lua_newuserdata(L, sizeof(T*)) = SkSafeRef(ref); 76 *(T**)lua_newuserdata(L, sizeof(T*)) = SkSafeRef(ref);
76 luaL_getmetatable(L, get_mtname<T>()); 77 luaL_getmetatable(L, get_mtname<T>());
77 lua_setmetatable(L, -2); 78 lua_setmetatable(L, -2);
79 return ref;
78 } 80 }
79 81
80 template <typename T> T* get_ref(lua_State* L, int index) { 82 template <typename T> T* get_ref(lua_State* L, int index) {
81 return *(T**)luaL_checkudata(L, index, get_mtname<T>()); 83 return *(T**)luaL_checkudata(L, index, get_mtname<T>());
82 } 84 }
83 85
84 template <typename T> T* get_obj(lua_State* L, int index) { 86 template <typename T> T* get_obj(lua_State* L, int index) {
85 return (T*)luaL_checkudata(L, index, get_mtname<T>()); 87 return (T*)luaL_checkudata(L, index, get_mtname<T>());
86 } 88 }
87 89
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 static int lcanvas_clear(lua_State* L) { 438 static int lcanvas_clear(lua_State* L) {
437 get_ref<SkCanvas>(L, 1)->clear(0); 439 get_ref<SkCanvas>(L, 1)->clear(0);
438 return 0; 440 return 0;
439 } 441 }
440 442
441 static int lcanvas_drawColor(lua_State* L) { 443 static int lcanvas_drawColor(lua_State* L) {
442 get_ref<SkCanvas>(L, 1)->drawColor(lua2color(L, 2)); 444 get_ref<SkCanvas>(L, 1)->drawColor(lua2color(L, 2));
443 return 0; 445 return 0;
444 } 446 }
445 447
448 static int lcanvas_drawPaint(lua_State* L) {
449 get_ref<SkCanvas>(L, 1)->drawPaint(*get_obj<SkPaint>(L, 2));
450 return 0;
451 }
452
446 static int lcanvas_drawRect(lua_State* L) { 453 static int lcanvas_drawRect(lua_State* L) {
447 SkRect rect; 454 SkRect rect;
448 get_ref<SkCanvas>(L, 1)->drawRect(*lua2rect(L, 2, &rect), 455 get_ref<SkCanvas>(L, 1)->drawRect(*lua2rect(L, 2, &rect),
449 *get_obj<SkPaint>(L, 3)); 456 *get_obj<SkPaint>(L, 3));
450 return 0; 457 return 0;
451 } 458 }
452 459
453 static int lcanvas_drawOval(lua_State* L) { 460 static int lcanvas_drawOval(lua_State* L) {
454 SkRect rect; 461 SkRect rect;
455 get_ref<SkCanvas>(L, 1)->drawOval(*lua2rect(L, 2, &rect), 462 get_ref<SkCanvas>(L, 1)->drawOval(*lua2rect(L, 2, &rect),
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
639 } 646 }
640 647
641 static int lcanvas_newSurface(lua_State* L) { 648 static int lcanvas_newSurface(lua_State* L) {
642 int width = lua2int_def(L, 2, 0); 649 int width = lua2int_def(L, 2, 0);
643 int height = lua2int_def(L, 2, 0); 650 int height = lua2int_def(L, 2, 0);
644 SkImageInfo info = SkImageInfo::MakeN32Premul(width, height); 651 SkImageInfo info = SkImageInfo::MakeN32Premul(width, height);
645 SkSurface* surface = get_ref<SkCanvas>(L, 1)->newSurface(info); 652 SkSurface* surface = get_ref<SkCanvas>(L, 1)->newSurface(info);
646 if (NULL == surface) { 653 if (NULL == surface) {
647 lua_pushnil(L); 654 lua_pushnil(L);
648 } else { 655 } else {
649 push_ref(L, surface); 656 push_ref(L, surface)->unref();
650 surface->unref();
651 } 657 }
652 return 1; 658 return 1;
653 } 659 }
654 660
655 static int lcanvas_gc(lua_State* L) { 661 static int lcanvas_gc(lua_State* L) {
656 get_ref<SkCanvas>(L, 1)->unref(); 662 get_ref<SkCanvas>(L, 1)->unref();
657 return 0; 663 return 0;
658 } 664 }
659 665
660 const struct luaL_Reg gSkCanvas_Methods[] = { 666 const struct luaL_Reg gSkCanvas_Methods[] = {
661 { "clear", lcanvas_clear }, 667 { "clear", lcanvas_clear },
662 { "drawColor", lcanvas_drawColor }, 668 { "drawColor", lcanvas_drawColor },
669 { "drawPaint", lcanvas_drawPaint },
663 { "drawRect", lcanvas_drawRect }, 670 { "drawRect", lcanvas_drawRect },
664 { "drawOval", lcanvas_drawOval }, 671 { "drawOval", lcanvas_drawOval },
665 { "drawCircle", lcanvas_drawCircle }, 672 { "drawCircle", lcanvas_drawCircle },
666 { "drawImage", lcanvas_drawImage }, 673 { "drawImage", lcanvas_drawImage },
667 { "drawImageRect", lcanvas_drawImageRect }, 674 { "drawImageRect", lcanvas_drawImageRect },
668 { "drawPath", lcanvas_drawPath }, 675 { "drawPath", lcanvas_drawPath },
669 { "drawPicture", lcanvas_drawPicture }, 676 { "drawPicture", lcanvas_drawPicture },
670 { "drawText", lcanvas_drawText }, 677 { "drawText", lcanvas_drawText },
671 { "getSaveCount", lcanvas_getSaveCount }, 678 { "getSaveCount", lcanvas_getSaveCount },
672 { "getTotalMatrix", lcanvas_getTotalMatrix }, 679 { "getTotalMatrix", lcanvas_getTotalMatrix },
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
1005 static int lpaint_getShader(lua_State* L) { 1012 static int lpaint_getShader(lua_State* L) {
1006 const SkPaint* paint = get_obj<SkPaint>(L, 1); 1013 const SkPaint* paint = get_obj<SkPaint>(L, 1);
1007 SkShader* shader = paint->getShader(); 1014 SkShader* shader = paint->getShader();
1008 if (shader) { 1015 if (shader) {
1009 push_ref(L, shader); 1016 push_ref(L, shader);
1010 return 1; 1017 return 1;
1011 } 1018 }
1012 return 0; 1019 return 0;
1013 } 1020 }
1014 1021
1022 static int lpaint_setShader(lua_State* L) {
1023 SkPaint* paint = get_obj<SkPaint>(L, 1);
1024 paint->setShader(get_ref<SkShader>(L, 2));
1025 return 0;
1026 }
1027
1015 static int lpaint_getPathEffect(lua_State* L) { 1028 static int lpaint_getPathEffect(lua_State* L) {
1016 const SkPaint* paint = get_obj<SkPaint>(L, 1); 1029 const SkPaint* paint = get_obj<SkPaint>(L, 1);
1017 SkPathEffect* pe = paint->getPathEffect(); 1030 SkPathEffect* pe = paint->getPathEffect();
1018 if (pe) { 1031 if (pe) {
1019 push_ref(L, pe); 1032 push_ref(L, pe);
1020 return 1; 1033 return 1;
1021 } 1034 }
1022 return 0; 1035 return 0;
1023 } 1036 }
1024 1037
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1063 { "getTextEncoding", lpaint_getTextEncoding }, 1076 { "getTextEncoding", lpaint_getTextEncoding },
1064 { "getStrokeWidth", lpaint_getStrokeWidth }, 1077 { "getStrokeWidth", lpaint_getStrokeWidth },
1065 { "setStrokeWidth", lpaint_setStrokeWidth }, 1078 { "setStrokeWidth", lpaint_setStrokeWidth },
1066 { "getStrokeMiter", lpaint_getStrokeMiter }, 1079 { "getStrokeMiter", lpaint_getStrokeMiter },
1067 { "measureText", lpaint_measureText }, 1080 { "measureText", lpaint_measureText },
1068 { "getFontMetrics", lpaint_getFontMetrics }, 1081 { "getFontMetrics", lpaint_getFontMetrics },
1069 { "getEffects", lpaint_getEffects }, 1082 { "getEffects", lpaint_getEffects },
1070 { "getImageFilter", lpaint_getImageFilter }, 1083 { "getImageFilter", lpaint_getImageFilter },
1071 { "setImageFilter", lpaint_setImageFilter }, 1084 { "setImageFilter", lpaint_setImageFilter },
1072 { "getShader", lpaint_getShader }, 1085 { "getShader", lpaint_getShader },
1086 { "setShader", lpaint_setShader },
1073 { "getPathEffect", lpaint_getPathEffect }, 1087 { "getPathEffect", lpaint_getPathEffect },
1074 { "__gc", lpaint_gc }, 1088 { "__gc", lpaint_gc },
1075 { NULL, NULL } 1089 { NULL, NULL }
1076 }; 1090 };
1077 1091
1078 /////////////////////////////////////////////////////////////////////////////// 1092 ///////////////////////////////////////////////////////////////////////////////
1079 1093
1080 static const char* mode2string(SkShader::TileMode mode) { 1094 static const char* mode2string(SkShader::TileMode mode) {
1081 static const char* gNames[] = { "clamp", "repeat", "mirror" }; 1095 static const char* gNames[] = { "clamp", "repeat", "mirror" };
1082 SkASSERT((unsigned)mode < SK_ARRAY_COUNT(gNames)); 1096 SkASSERT((unsigned)mode < SK_ARRAY_COUNT(gNames));
(...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after
1557 // know that it is supposed to be treated as a canvas... 1571 // know that it is supposed to be treated as a canvas...
1558 } 1572 }
1559 return 1; 1573 return 1;
1560 } 1574 }
1561 1575
1562 static int lsurface_newImageSnapshot(lua_State* L) { 1576 static int lsurface_newImageSnapshot(lua_State* L) {
1563 SkImage* image = get_ref<SkSurface>(L, 1)->newImageSnapshot(); 1577 SkImage* image = get_ref<SkSurface>(L, 1)->newImageSnapshot();
1564 if (NULL == image) { 1578 if (NULL == image) {
1565 lua_pushnil(L); 1579 lua_pushnil(L);
1566 } else { 1580 } else {
1567 push_ref(L, image); 1581 push_ref(L, image)->unref();
1568 image->unref();
1569 } 1582 }
1570 return 1; 1583 return 1;
1571 } 1584 }
1572 1585
1573 static int lsurface_newSurface(lua_State* L) { 1586 static int lsurface_newSurface(lua_State* L) {
1574 int width = lua2int_def(L, 2, 0); 1587 int width = lua2int_def(L, 2, 0);
1575 int height = lua2int_def(L, 3, 0); 1588 int height = lua2int_def(L, 3, 0);
1576 SkImageInfo info = SkImageInfo::MakeN32Premul(width, height); 1589 SkImageInfo info = SkImageInfo::MakeN32Premul(width, height);
1577 SkSurface* surface = get_ref<SkSurface>(L, 1)->newSurface(info); 1590 SkSurface* surface = get_ref<SkSurface>(L, 1)->newSurface(info);
1578 if (NULL == surface) { 1591 if (NULL == surface) {
1579 lua_pushnil(L); 1592 lua_pushnil(L);
1580 } else { 1593 } else {
1581 push_ref(L, surface); 1594 push_ref(L, surface)->unref();
1582 surface->unref();
1583 } 1595 }
1584 return 1; 1596 return 1;
1585 } 1597 }
1586 1598
1587 static int lsurface_gc(lua_State* L) { 1599 static int lsurface_gc(lua_State* L) {
1588 get_ref<SkSurface>(L, 1)->unref(); 1600 get_ref<SkSurface>(L, 1)->unref();
1589 return 0; 1601 return 0;
1590 } 1602 }
1591 1603
1592 static const struct luaL_Reg gSkSurface_Methods[] = { 1604 static const struct luaL_Reg gSkSurface_Methods[] = {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1628 push_ref(L, canvas); 1640 push_ref(L, canvas);
1629 return 1; 1641 return 1;
1630 } 1642 }
1631 1643
1632 static int lpicturerecorder_endRecording(lua_State* L) { 1644 static int lpicturerecorder_endRecording(lua_State* L) {
1633 SkPicture* pic = get_obj<SkPictureRecorder>(L, 1)->endRecording(); 1645 SkPicture* pic = get_obj<SkPictureRecorder>(L, 1)->endRecording();
1634 if (NULL == pic) { 1646 if (NULL == pic) {
1635 lua_pushnil(L); 1647 lua_pushnil(L);
1636 return 1; 1648 return 1;
1637 } 1649 }
1638 push_ref(L, pic); 1650 push_ref(L, pic)->unref();
1639 pic->unref(); // lua is the only owner, so we unref ours
1640 return 1; 1651 return 1;
1641 } 1652 }
1642 1653
1643 static int lpicturerecorder_gc(lua_State* L) { 1654 static int lpicturerecorder_gc(lua_State* L) {
1644 get_obj<SkPictureRecorder>(L, 1)->~SkPictureRecorder(); 1655 get_obj<SkPictureRecorder>(L, 1)->~SkPictureRecorder();
1645 return 0; 1656 return 0;
1646 } 1657 }
1647 1658
1648 static const struct luaL_Reg gSkPictureRecorder_Methods[] = { 1659 static const struct luaL_Reg gSkPictureRecorder_Methods[] = {
1649 { "beginRecording", lpicturerecorder_beginRecording }, 1660 { "beginRecording", lpicturerecorder_beginRecording },
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
1723 const char* file = NULL; 1734 const char* file = NULL;
1724 if (lua_gettop(L) > 0 && lua_isstring(L, 1)) { 1735 if (lua_gettop(L) > 0 && lua_isstring(L, 1)) {
1725 file = lua_tolstring(L, 1, NULL); 1736 file = lua_tolstring(L, 1, NULL);
1726 } 1737 }
1727 1738
1728 SkDocument* doc = SkDocument::CreatePDF(file); 1739 SkDocument* doc = SkDocument::CreatePDF(file);
1729 if (NULL == doc) { 1740 if (NULL == doc) {
1730 // do I need to push a nil on the stack and return 1? 1741 // do I need to push a nil on the stack and return 1?
1731 return 0; 1742 return 0;
1732 } else { 1743 } else {
1733 push_ref(L, doc); 1744 push_ref(L, doc)->unref();
1734 doc->unref();
1735 return 1; 1745 return 1;
1736 } 1746 }
1737 } 1747 }
1738 1748
1739 static int lsk_newBlurImageFilter(lua_State* L) { 1749 static int lsk_newBlurImageFilter(lua_State* L) {
1740 SkScalar sigmaX = lua2scalar_def(L, 1, 0); 1750 SkScalar sigmaX = lua2scalar_def(L, 1, 0);
1741 SkScalar sigmaY = lua2scalar_def(L, 2, 0); 1751 SkScalar sigmaY = lua2scalar_def(L, 2, 0);
1742 SkImageFilter* imf = SkBlurImageFilter::Create(sigmaX, sigmaY); 1752 SkImageFilter* imf = SkBlurImageFilter::Create(sigmaX, sigmaY);
1743 if (NULL == imf) { 1753 if (NULL == imf) {
1744 lua_pushnil(L); 1754 lua_pushnil(L);
1745 } else { 1755 } else {
1746 push_ref(L, imf); 1756 push_ref(L, imf)->unref();
1747 imf->unref();
1748 } 1757 }
1749 return 1; 1758 return 1;
1750 } 1759 }
1760
1761 static int lsk_newLinearGradient(lua_State* L) {
1762 SkScalar x0 = lua2scalar_def(L, 1, 0);
1763 SkScalar y0 = lua2scalar_def(L, 2, 0);
1764 SkColor c0 = lua2color(L, 3);
1765 SkScalar x1 = lua2scalar_def(L, 4, 0);
1766 SkScalar y1 = lua2scalar_def(L, 5, 0);
1767 SkColor c1 = lua2color(L, 6);
1768
1769 SkPoint pts[] = { { x0, y0 }, { x1, y1 } };
1770 SkColor colors[] = { c0, c1 };
1771 SkShader* s = SkGradientShader::CreateLinear(pts, colors, NULL, 2, SkShader: :kClamp_TileMode);
1772 if (NULL == s) {
1773 lua_pushnil(L);
1774 } else {
1775 push_ref(L, s)->unref();
1776 }
1777 return 1;
1778 }
1751 1779
1752 static int lsk_newMatrix(lua_State* L) { 1780 static int lsk_newMatrix(lua_State* L) {
1753 push_new<SkMatrix>(L)->reset(); 1781 push_new<SkMatrix>(L)->reset();
1754 return 1; 1782 return 1;
1755 } 1783 }
1756 1784
1757 static int lsk_newPaint(lua_State* L) { 1785 static int lsk_newPaint(lua_State* L) {
1758 push_new<SkPaint>(L); 1786 push_new<SkPaint>(L);
1759 return 1; 1787 return 1;
1760 } 1788 }
(...skipping 24 matching lines...) Expand all
1785 style = lua_tointegerx(L, 2, NULL) & SkTypeface::kBoldItalic; 1813 style = lua_tointegerx(L, 2, NULL) & SkTypeface::kBoldItalic;
1786 } 1814 }
1787 } 1815 }
1788 1816
1789 SkTypeface* face = SkTypeface::CreateFromName(name, 1817 SkTypeface* face = SkTypeface::CreateFromName(name,
1790 (SkTypeface::Style)style); 1818 (SkTypeface::Style)style);
1791 // SkDebugf("---- name <%s> style=%d, face=%p ref=%d\n", name, style, face, f ace->getRefCnt()); 1819 // SkDebugf("---- name <%s> style=%d, face=%p ref=%d\n", name, style, face, f ace->getRefCnt());
1792 if (NULL == face) { 1820 if (NULL == face) {
1793 face = SkTypeface::RefDefault(); 1821 face = SkTypeface::RefDefault();
1794 } 1822 }
1795 push_ref(L, face); 1823 push_ref(L, face)->unref();
1796 face->unref();
1797 return 1; 1824 return 1;
1798 } 1825 }
1799 1826
1800 static int lsk_newRasterSurface(lua_State* L) { 1827 static int lsk_newRasterSurface(lua_State* L) {
1801 int width = lua2int_def(L, 2, 0); 1828 int width = lua2int_def(L, 2, 0);
1802 int height = lua2int_def(L, 2, 0); 1829 int height = lua2int_def(L, 2, 0);
1803 SkImageInfo info = SkImageInfo::MakeN32Premul(width, height); 1830 SkImageInfo info = SkImageInfo::MakeN32Premul(width, height);
1804 SkSurface* surface = SkSurface::NewRaster(info); 1831 SkSurface* surface = SkSurface::NewRaster(info);
1805 if (NULL == surface) { 1832 if (NULL == surface) {
1806 lua_pushnil(L); 1833 lua_pushnil(L);
1807 } else { 1834 } else {
1808 push_ref(L, surface); 1835 push_ref(L, surface)->unref();
1809 surface->unref();
1810 } 1836 }
1811 return 1; 1837 return 1;
1812 } 1838 }
1813 1839
1814 static int lsk_loadImage(lua_State* L) { 1840 static int lsk_loadImage(lua_State* L) {
1815 if (lua_gettop(L) > 0 && lua_isstring(L, 1)) { 1841 if (lua_gettop(L) > 0 && lua_isstring(L, 1)) {
1816 const char* name = lua_tolstring(L, 1, NULL); 1842 const char* name = lua_tolstring(L, 1, NULL);
1817 SkAutoDataUnref data(SkData::NewFromFileName(name)); 1843 SkAutoDataUnref data(SkData::NewFromFileName(name));
1818 if (data.get()) { 1844 if (data.get()) {
1819 SkImage* image = SkImage::NewFromGenerator( 1845 SkImage* image = SkImage::NewFromGenerator(
1820 SkDecodingImageGenerator::Create(data, SkDecodingImageGenerator: :Options())); 1846 SkDecodingImageGenerator::Create(data, SkDecodingImageGenerator: :Options()));
1821 1847
1822 if (image) { 1848 if (image) {
1823 push_ref(L, image); 1849 push_ref(L, image)->unref();
1824 image->unref();
1825 return 1; 1850 return 1;
1826 } 1851 }
1827 } 1852 }
1828 } 1853 }
1829 return 0; 1854 return 0;
1830 } 1855 }
1831 1856
1832 static void register_Sk(lua_State* L) { 1857 static void register_Sk(lua_State* L) {
1833 lua_newtable(L); 1858 lua_newtable(L);
1834 lua_pushvalue(L, -1); 1859 lua_pushvalue(L, -1);
1835 lua_setglobal(L, "Sk"); 1860 lua_setglobal(L, "Sk");
1836 // the Sk table is still on top 1861 // the Sk table is still on top
1837 1862
1838 setfield_function(L, "newDocumentPDF", lsk_newDocumentPDF); 1863 setfield_function(L, "newDocumentPDF", lsk_newDocumentPDF);
1839 setfield_function(L, "loadImage", lsk_loadImage); 1864 setfield_function(L, "loadImage", lsk_loadImage);
1840 setfield_function(L, "newBlurImageFilter", lsk_newBlurImageFilter); 1865 setfield_function(L, "newBlurImageFilter", lsk_newBlurImageFilter);
1866 setfield_function(L, "newLinearGradient", lsk_newLinearGradient);
1841 setfield_function(L, "newMatrix", lsk_newMatrix); 1867 setfield_function(L, "newMatrix", lsk_newMatrix);
1842 setfield_function(L, "newPaint", lsk_newPaint); 1868 setfield_function(L, "newPaint", lsk_newPaint);
1843 setfield_function(L, "newPath", lsk_newPath); 1869 setfield_function(L, "newPath", lsk_newPath);
1844 setfield_function(L, "newPictureRecorder", lsk_newPictureRecorder); 1870 setfield_function(L, "newPictureRecorder", lsk_newPictureRecorder);
1845 setfield_function(L, "newRRect", lsk_newRRect); 1871 setfield_function(L, "newRRect", lsk_newRRect);
1846 setfield_function(L, "newRasterSurface", lsk_newRasterSurface); 1872 setfield_function(L, "newRasterSurface", lsk_newRasterSurface);
1847 setfield_function(L, "newTypeface", lsk_newTypeface); 1873 setfield_function(L, "newTypeface", lsk_newTypeface);
1848 lua_pop(L, 1); // pop off the Sk table 1874 lua_pop(L, 1); // pop off the Sk table
1849 } 1875 }
1850 1876
(...skipping 22 matching lines...) Expand all
1873 REG_CLASS(L, SkSurface); 1899 REG_CLASS(L, SkSurface);
1874 REG_CLASS(L, SkTypeface); 1900 REG_CLASS(L, SkTypeface);
1875 REG_CLASS(L, SkMatrix); 1901 REG_CLASS(L, SkMatrix);
1876 } 1902 }
1877 1903
1878 extern "C" int luaopen_skia(lua_State* L); 1904 extern "C" int luaopen_skia(lua_State* L);
1879 extern "C" int luaopen_skia(lua_State* L) { 1905 extern "C" int luaopen_skia(lua_State* L) {
1880 SkLua::Load(L); 1906 SkLua::Load(L);
1881 return 0; 1907 return 0;
1882 } 1908 }
OLDNEW
« no previous file with comments | « samplecode/SampleLua.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698