| OLD | NEW |
| 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 "SkCanvas.h" | 15 #include "SkCanvas.h" |
| 15 #include "SkData.h" | 16 #include "SkData.h" |
| 16 #include "SkDecodingImageGenerator.h" | 17 #include "SkDecodingImageGenerator.h" |
| 17 #include "SkDocument.h" | 18 #include "SkDocument.h" |
| 18 #include "SkImage.h" | 19 #include "SkImage.h" |
| 19 #include "SkMatrix.h" | 20 #include "SkMatrix.h" |
| 20 #include "SkPaint.h" | 21 #include "SkPaint.h" |
| 21 #include "SkPath.h" | 22 #include "SkPath.h" |
| 22 #include "SkPictureRecorder.h" | 23 #include "SkPictureRecorder.h" |
| 23 #include "SkPixelRef.h" | 24 #include "SkPixelRef.h" |
| (...skipping 12 matching lines...) Expand all Loading... |
| 36 // return the metatable name for a given class | 37 // return the metatable name for a given class |
| 37 template <typename T> const char* get_mtname(); | 38 template <typename T> const char* get_mtname(); |
| 38 #define DEF_MTNAME(T) \ | 39 #define DEF_MTNAME(T) \ |
| 39 template <> const char* get_mtname<T>() { \ | 40 template <> const char* get_mtname<T>() { \ |
| 40 return #T "_LuaMetaTableName"; \ | 41 return #T "_LuaMetaTableName"; \ |
| 41 } | 42 } |
| 42 | 43 |
| 43 DEF_MTNAME(SkCanvas) | 44 DEF_MTNAME(SkCanvas) |
| 44 DEF_MTNAME(SkDocument) | 45 DEF_MTNAME(SkDocument) |
| 45 DEF_MTNAME(SkImage) | 46 DEF_MTNAME(SkImage) |
| 47 DEF_MTNAME(SkImageFilter) |
| 46 DEF_MTNAME(SkMatrix) | 48 DEF_MTNAME(SkMatrix) |
| 47 DEF_MTNAME(SkRRect) | 49 DEF_MTNAME(SkRRect) |
| 48 DEF_MTNAME(SkPath) | 50 DEF_MTNAME(SkPath) |
| 49 DEF_MTNAME(SkPaint) | 51 DEF_MTNAME(SkPaint) |
| 50 DEF_MTNAME(SkPathEffect) | 52 DEF_MTNAME(SkPathEffect) |
| 51 DEF_MTNAME(SkPicture) | 53 DEF_MTNAME(SkPicture) |
| 52 DEF_MTNAME(SkPictureRecorder) | 54 DEF_MTNAME(SkPictureRecorder) |
| 53 DEF_MTNAME(SkShader) | 55 DEF_MTNAME(SkShader) |
| 54 DEF_MTNAME(SkSurface) | 56 DEF_MTNAME(SkSurface) |
| 55 DEF_MTNAME(SkTextBlob) | 57 DEF_MTNAME(SkTextBlob) |
| (...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 395 SkScalar value; | 397 SkScalar value; |
| 396 if (lua_isnil(L, -1)) { | 398 if (lua_isnil(L, -1)) { |
| 397 value = def; | 399 value = def; |
| 398 } else { | 400 } else { |
| 399 value = lua2scalar(L, -1); | 401 value = lua2scalar(L, -1); |
| 400 } | 402 } |
| 401 lua_pop(L, 1); | 403 lua_pop(L, 1); |
| 402 return value; | 404 return value; |
| 403 } | 405 } |
| 404 | 406 |
| 407 static SkScalar byte2unit(U8CPU byte) { |
| 408 return byte / 255.0f; |
| 409 } |
| 410 |
| 405 static U8CPU unit2byte(SkScalar x) { | 411 static U8CPU unit2byte(SkScalar x) { |
| 406 if (x <= 0) { | 412 if (x <= 0) { |
| 407 return 0; | 413 return 0; |
| 408 } else if (x >= 1) { | 414 } else if (x >= 1) { |
| 409 return 255; | 415 return 255; |
| 410 } else { | 416 } else { |
| 411 return SkScalarRoundToInt(x * 255); | 417 return SkScalarRoundToInt(x * 255); |
| 412 } | 418 } |
| 413 } | 419 } |
| 414 | 420 |
| (...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 779 static int lpaint_isAutohinted(lua_State* L) { | 785 static int lpaint_isAutohinted(lua_State* L) { |
| 780 lua_pushboolean(L, get_obj<SkPaint>(L, 1)->isAutohinted()); | 786 lua_pushboolean(L, get_obj<SkPaint>(L, 1)->isAutohinted()); |
| 781 return 1; | 787 return 1; |
| 782 } | 788 } |
| 783 | 789 |
| 784 static int lpaint_isVerticalText(lua_State* L) { | 790 static int lpaint_isVerticalText(lua_State* L) { |
| 785 lua_pushboolean(L, get_obj<SkPaint>(L, 1)->isVerticalText()); | 791 lua_pushboolean(L, get_obj<SkPaint>(L, 1)->isVerticalText()); |
| 786 return 1; | 792 return 1; |
| 787 } | 793 } |
| 788 | 794 |
| 795 static int lpaint_getAlpha(lua_State* L) { |
| 796 SkLua(L).pushScalar(byte2unit(get_obj<SkPaint>(L, 1)->getAlpha())); |
| 797 return 1; |
| 798 } |
| 799 |
| 800 static int lpaint_setAlpha(lua_State* L) { |
| 801 get_obj<SkPaint>(L, 1)->setAlpha(unit2byte(lua2scalar(L, 2))); |
| 802 return 0; |
| 803 } |
| 804 |
| 789 static int lpaint_getColor(lua_State* L) { | 805 static int lpaint_getColor(lua_State* L) { |
| 790 SkLua(L).pushColor(get_obj<SkPaint>(L, 1)->getColor()); | 806 SkLua(L).pushColor(get_obj<SkPaint>(L, 1)->getColor()); |
| 791 return 1; | 807 return 1; |
| 792 } | 808 } |
| 793 | 809 |
| 794 static int lpaint_setColor(lua_State* L) { | 810 static int lpaint_setColor(lua_State* L) { |
| 795 get_obj<SkPaint>(L, 1)->setColor(lua2color(L, 2)); | 811 get_obj<SkPaint>(L, 1)->setColor(lua2color(L, 2)); |
| 796 return 0; | 812 return 0; |
| 797 } | 813 } |
| 798 | 814 |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 952 setfield_scalar(L, "bottom", fm.fBottom); | 968 setfield_scalar(L, "bottom", fm.fBottom); |
| 953 setfield_scalar(L, "leading", fm.fLeading); | 969 setfield_scalar(L, "leading", fm.fLeading); |
| 954 SkLua(L).pushScalar(height); | 970 SkLua(L).pushScalar(height); |
| 955 return 2; | 971 return 2; |
| 956 } | 972 } |
| 957 | 973 |
| 958 static int lpaint_getEffects(lua_State* L) { | 974 static int lpaint_getEffects(lua_State* L) { |
| 959 const SkPaint* paint = get_obj<SkPaint>(L, 1); | 975 const SkPaint* paint = get_obj<SkPaint>(L, 1); |
| 960 | 976 |
| 961 lua_newtable(L); | 977 lua_newtable(L); |
| 962 setfield_bool_if(L, "looper", !!paint->getLooper()); | 978 setfield_bool_if(L, "looper", !!paint->getLooper()); |
| 963 setfield_bool_if(L, "pathEffect", !!paint->getPathEffect()); | 979 setfield_bool_if(L, "pathEffect", !!paint->getPathEffect()); |
| 964 setfield_bool_if(L, "rasterizer", !!paint->getRasterizer()); | 980 setfield_bool_if(L, "rasterizer", !!paint->getRasterizer()); |
| 965 setfield_bool_if(L, "maskFilter", !!paint->getMaskFilter()); | 981 setfield_bool_if(L, "maskFilter", !!paint->getMaskFilter()); |
| 966 setfield_bool_if(L, "shader", !!paint->getShader()); | 982 setfield_bool_if(L, "shader", !!paint->getShader()); |
| 967 setfield_bool_if(L, "colorFilter", !!paint->getColorFilter()); | 983 setfield_bool_if(L, "colorFilter", !!paint->getColorFilter()); |
| 968 setfield_bool_if(L, "imageFilter", !!paint->getImageFilter()); | 984 setfield_bool_if(L, "imageFilter", !!paint->getImageFilter()); |
| 969 setfield_bool_if(L, "xfermode", !!paint->getXfermode()); | 985 setfield_bool_if(L, "xfermode", !!paint->getXfermode()); |
| 970 return 1; | 986 return 1; |
| 971 } | 987 } |
| 972 | 988 |
| 989 static int lpaint_getImageFilter(lua_State* L) { |
| 990 const SkPaint* paint = get_obj<SkPaint>(L, 1); |
| 991 SkImageFilter* imf = paint->getImageFilter(); |
| 992 if (imf) { |
| 993 push_ref(L, imf); |
| 994 return 1; |
| 995 } |
| 996 return 0; |
| 997 } |
| 998 |
| 999 static int lpaint_setImageFilter(lua_State* L) { |
| 1000 SkPaint* paint = get_obj<SkPaint>(L, 1); |
| 1001 paint->setImageFilter(get_ref<SkImageFilter>(L, 2)); |
| 1002 return 0; |
| 1003 } |
| 1004 |
| 973 static int lpaint_getShader(lua_State* L) { | 1005 static int lpaint_getShader(lua_State* L) { |
| 974 const SkPaint* paint = get_obj<SkPaint>(L, 1); | 1006 const SkPaint* paint = get_obj<SkPaint>(L, 1); |
| 975 SkShader* shader = paint->getShader(); | 1007 SkShader* shader = paint->getShader(); |
| 976 if (shader) { | 1008 if (shader) { |
| 977 push_ref(L, shader); | 1009 push_ref(L, shader); |
| 978 return 1; | 1010 return 1; |
| 979 } | 1011 } |
| 980 return 0; | 1012 return 0; |
| 981 } | 1013 } |
| 982 | 1014 |
| (...skipping 20 matching lines...) Expand all Loading... |
| 1003 { "isStrikeThruText", lpaint_isStrikeThruText }, | 1035 { "isStrikeThruText", lpaint_isStrikeThruText }, |
| 1004 { "isFakeBoldText", lpaint_isFakeBoldText }, | 1036 { "isFakeBoldText", lpaint_isFakeBoldText }, |
| 1005 { "isLinearText", lpaint_isLinearText }, | 1037 { "isLinearText", lpaint_isLinearText }, |
| 1006 { "isSubpixelText", lpaint_isSubpixelText }, | 1038 { "isSubpixelText", lpaint_isSubpixelText }, |
| 1007 { "setSubpixelText", lpaint_setSubpixelText }, | 1039 { "setSubpixelText", lpaint_setSubpixelText }, |
| 1008 { "isDevKernText", lpaint_isDevKernText }, | 1040 { "isDevKernText", lpaint_isDevKernText }, |
| 1009 { "isLCDRenderText", lpaint_isLCDRenderText }, | 1041 { "isLCDRenderText", lpaint_isLCDRenderText }, |
| 1010 { "isEmbeddedBitmapText", lpaint_isEmbeddedBitmapText }, | 1042 { "isEmbeddedBitmapText", lpaint_isEmbeddedBitmapText }, |
| 1011 { "isAutohinted", lpaint_isAutohinted }, | 1043 { "isAutohinted", lpaint_isAutohinted }, |
| 1012 { "isVerticalText", lpaint_isVerticalText }, | 1044 { "isVerticalText", lpaint_isVerticalText }, |
| 1045 { "getAlpha", lpaint_getAlpha }, |
| 1046 { "setAlpha", lpaint_setAlpha }, |
| 1013 { "getColor", lpaint_getColor }, | 1047 { "getColor", lpaint_getColor }, |
| 1014 { "setColor", lpaint_setColor }, | 1048 { "setColor", lpaint_setColor }, |
| 1015 { "getTextSize", lpaint_getTextSize }, | 1049 { "getTextSize", lpaint_getTextSize }, |
| 1016 { "setTextSize", lpaint_setTextSize }, | 1050 { "setTextSize", lpaint_setTextSize }, |
| 1017 { "getTextScaleX", lpaint_getTextScaleX }, | 1051 { "getTextScaleX", lpaint_getTextScaleX }, |
| 1018 { "getTextSkewX", lpaint_getTextSkewX }, | 1052 { "getTextSkewX", lpaint_getTextSkewX }, |
| 1019 { "getTypeface", lpaint_getTypeface }, | 1053 { "getTypeface", lpaint_getTypeface }, |
| 1020 { "setTypeface", lpaint_setTypeface }, | 1054 { "setTypeface", lpaint_setTypeface }, |
| 1021 { "getHinting", lpaint_getHinting }, | 1055 { "getHinting", lpaint_getHinting }, |
| 1022 { "getFontID", lpaint_getFontID }, | 1056 { "getFontID", lpaint_getFontID }, |
| 1023 { "getTextAlign", lpaint_getTextAlign }, | 1057 { "getTextAlign", lpaint_getTextAlign }, |
| 1024 { "setTextAlign", lpaint_setTextAlign }, | 1058 { "setTextAlign", lpaint_setTextAlign }, |
| 1025 { "getStroke", lpaint_getStroke }, | 1059 { "getStroke", lpaint_getStroke }, |
| 1026 { "setStroke", lpaint_setStroke }, | 1060 { "setStroke", lpaint_setStroke }, |
| 1027 { "getStrokeCap", lpaint_getStrokeCap }, | 1061 { "getStrokeCap", lpaint_getStrokeCap }, |
| 1028 { "getStrokeJoin", lpaint_getStrokeJoin }, | 1062 { "getStrokeJoin", lpaint_getStrokeJoin }, |
| 1029 { "getTextEncoding", lpaint_getTextEncoding }, | 1063 { "getTextEncoding", lpaint_getTextEncoding }, |
| 1030 { "getStrokeWidth", lpaint_getStrokeWidth }, | 1064 { "getStrokeWidth", lpaint_getStrokeWidth }, |
| 1031 { "setStrokeWidth", lpaint_setStrokeWidth }, | 1065 { "setStrokeWidth", lpaint_setStrokeWidth }, |
| 1032 { "getStrokeMiter", lpaint_getStrokeMiter }, | 1066 { "getStrokeMiter", lpaint_getStrokeMiter }, |
| 1033 { "measureText", lpaint_measureText }, | 1067 { "measureText", lpaint_measureText }, |
| 1034 { "getFontMetrics", lpaint_getFontMetrics }, | 1068 { "getFontMetrics", lpaint_getFontMetrics }, |
| 1035 { "getEffects", lpaint_getEffects }, | 1069 { "getEffects", lpaint_getEffects }, |
| 1070 { "getImageFilter", lpaint_getImageFilter }, |
| 1071 { "setImageFilter", lpaint_setImageFilter }, |
| 1036 { "getShader", lpaint_getShader }, | 1072 { "getShader", lpaint_getShader }, |
| 1037 { "getPathEffect", lpaint_getPathEffect }, | 1073 { "getPathEffect", lpaint_getPathEffect }, |
| 1038 { "__gc", lpaint_gc }, | 1074 { "__gc", lpaint_gc }, |
| 1039 { NULL, NULL } | 1075 { NULL, NULL } |
| 1040 }; | 1076 }; |
| 1041 | 1077 |
| 1042 /////////////////////////////////////////////////////////////////////////////// | 1078 /////////////////////////////////////////////////////////////////////////////// |
| 1043 | 1079 |
| 1044 static const char* mode2string(SkShader::TileMode mode) { | 1080 static const char* mode2string(SkShader::TileMode mode) { |
| 1045 static const char* gNames[] = { "clamp", "repeat", "mirror" }; | 1081 static const char* gNames[] = { "clamp", "repeat", "mirror" }; |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1150 } | 1186 } |
| 1151 | 1187 |
| 1152 static const struct luaL_Reg gSkPathEffect_Methods[] = { | 1188 static const struct luaL_Reg gSkPathEffect_Methods[] = { |
| 1153 { "asADash", lpatheffect_asADash }, | 1189 { "asADash", lpatheffect_asADash }, |
| 1154 { "__gc", lpatheffect_gc }, | 1190 { "__gc", lpatheffect_gc }, |
| 1155 { NULL, NULL } | 1191 { NULL, NULL } |
| 1156 }; | 1192 }; |
| 1157 | 1193 |
| 1158 /////////////////////////////////////////////////////////////////////////////// | 1194 /////////////////////////////////////////////////////////////////////////////// |
| 1159 | 1195 |
| 1196 static int lpimagefilter_gc(lua_State* L) { |
| 1197 get_ref<SkImageFilter>(L, 1)->unref(); |
| 1198 return 0; |
| 1199 } |
| 1200 |
| 1201 static const struct luaL_Reg gSkImageFilter_Methods[] = { |
| 1202 { "__gc", lpimagefilter_gc }, |
| 1203 { NULL, NULL } |
| 1204 }; |
| 1205 |
| 1206 /////////////////////////////////////////////////////////////////////////////// |
| 1207 |
| 1160 static int lmatrix_getType(lua_State* L) { | 1208 static int lmatrix_getType(lua_State* L) { |
| 1161 SkMatrix::TypeMask mask = get_obj<SkMatrix>(L, 1)->getType(); | 1209 SkMatrix::TypeMask mask = get_obj<SkMatrix>(L, 1)->getType(); |
| 1162 | 1210 |
| 1163 lua_newtable(L); | 1211 lua_newtable(L); |
| 1164 setfield_boolean(L, "translate", SkToBool(mask & SkMatrix::kTranslate_Mask
)); | 1212 setfield_boolean(L, "translate", SkToBool(mask & SkMatrix::kTranslate_Mask
)); |
| 1165 setfield_boolean(L, "scale", SkToBool(mask & SkMatrix::kScale_Mask)); | 1213 setfield_boolean(L, "scale", SkToBool(mask & SkMatrix::kScale_Mask)); |
| 1166 setfield_boolean(L, "affine", SkToBool(mask & SkMatrix::kAffine_Mask)); | 1214 setfield_boolean(L, "affine", SkToBool(mask & SkMatrix::kAffine_Mask)); |
| 1167 setfield_boolean(L, "perspective", SkToBool(mask & SkMatrix::kPerspective_Ma
sk)); | 1215 setfield_boolean(L, "perspective", SkToBool(mask & SkMatrix::kPerspective_Ma
sk)); |
| 1168 return 1; | 1216 return 1; |
| 1169 } | 1217 } |
| (...skipping 511 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1681 if (NULL == doc) { | 1729 if (NULL == doc) { |
| 1682 // do I need to push a nil on the stack and return 1? | 1730 // do I need to push a nil on the stack and return 1? |
| 1683 return 0; | 1731 return 0; |
| 1684 } else { | 1732 } else { |
| 1685 push_ref(L, doc); | 1733 push_ref(L, doc); |
| 1686 doc->unref(); | 1734 doc->unref(); |
| 1687 return 1; | 1735 return 1; |
| 1688 } | 1736 } |
| 1689 } | 1737 } |
| 1690 | 1738 |
| 1739 static int lsk_newBlurImageFilter(lua_State* L) { |
| 1740 SkScalar sigmaX = lua2scalar_def(L, 1, 0); |
| 1741 SkScalar sigmaY = lua2scalar_def(L, 2, 0); |
| 1742 SkImageFilter* imf = SkBlurImageFilter::Create(sigmaX, sigmaY); |
| 1743 if (NULL == imf) { |
| 1744 lua_pushnil(L); |
| 1745 } else { |
| 1746 push_ref(L, imf); |
| 1747 imf->unref(); |
| 1748 } |
| 1749 return 1; |
| 1750 } |
| 1751 |
| 1691 static int lsk_newMatrix(lua_State* L) { | 1752 static int lsk_newMatrix(lua_State* L) { |
| 1692 push_new<SkMatrix>(L)->reset(); | 1753 push_new<SkMatrix>(L)->reset(); |
| 1693 return 1; | 1754 return 1; |
| 1694 } | 1755 } |
| 1695 | 1756 |
| 1696 static int lsk_newPaint(lua_State* L) { | 1757 static int lsk_newPaint(lua_State* L) { |
| 1697 push_new<SkPaint>(L); | 1758 push_new<SkPaint>(L); |
| 1698 return 1; | 1759 return 1; |
| 1699 } | 1760 } |
| 1700 | 1761 |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1769 } | 1830 } |
| 1770 | 1831 |
| 1771 static void register_Sk(lua_State* L) { | 1832 static void register_Sk(lua_State* L) { |
| 1772 lua_newtable(L); | 1833 lua_newtable(L); |
| 1773 lua_pushvalue(L, -1); | 1834 lua_pushvalue(L, -1); |
| 1774 lua_setglobal(L, "Sk"); | 1835 lua_setglobal(L, "Sk"); |
| 1775 // the Sk table is still on top | 1836 // the Sk table is still on top |
| 1776 | 1837 |
| 1777 setfield_function(L, "newDocumentPDF", lsk_newDocumentPDF); | 1838 setfield_function(L, "newDocumentPDF", lsk_newDocumentPDF); |
| 1778 setfield_function(L, "loadImage", lsk_loadImage); | 1839 setfield_function(L, "loadImage", lsk_loadImage); |
| 1840 setfield_function(L, "newBlurImageFilter", lsk_newBlurImageFilter); |
| 1779 setfield_function(L, "newMatrix", lsk_newMatrix); | 1841 setfield_function(L, "newMatrix", lsk_newMatrix); |
| 1780 setfield_function(L, "newPaint", lsk_newPaint); | 1842 setfield_function(L, "newPaint", lsk_newPaint); |
| 1781 setfield_function(L, "newPath", lsk_newPath); | 1843 setfield_function(L, "newPath", lsk_newPath); |
| 1782 setfield_function(L, "newPictureRecorder", lsk_newPictureRecorder); | 1844 setfield_function(L, "newPictureRecorder", lsk_newPictureRecorder); |
| 1783 setfield_function(L, "newRRect", lsk_newRRect); | 1845 setfield_function(L, "newRRect", lsk_newRRect); |
| 1784 setfield_function(L, "newRasterSurface", lsk_newRasterSurface); | 1846 setfield_function(L, "newRasterSurface", lsk_newRasterSurface); |
| 1785 setfield_function(L, "newTypeface", lsk_newTypeface); | 1847 setfield_function(L, "newTypeface", lsk_newTypeface); |
| 1786 lua_pop(L, 1); // pop off the Sk table | 1848 lua_pop(L, 1); // pop off the Sk table |
| 1787 } | 1849 } |
| 1788 | 1850 |
| 1789 #define REG_CLASS(L, C) \ | 1851 #define REG_CLASS(L, C) \ |
| 1790 do { \ | 1852 do { \ |
| 1791 luaL_newmetatable(L, get_mtname<C>()); \ | 1853 luaL_newmetatable(L, get_mtname<C>()); \ |
| 1792 lua_pushvalue(L, -1); \ | 1854 lua_pushvalue(L, -1); \ |
| 1793 lua_setfield(L, -2, "__index"); \ | 1855 lua_setfield(L, -2, "__index"); \ |
| 1794 luaL_setfuncs(L, g##C##_Methods, 0); \ | 1856 luaL_setfuncs(L, g##C##_Methods, 0); \ |
| 1795 lua_pop(L, 1); /* pop off the meta-table */ \ | 1857 lua_pop(L, 1); /* pop off the meta-table */ \ |
| 1796 } while (0) | 1858 } while (0) |
| 1797 | 1859 |
| 1798 void SkLua::Load(lua_State* L) { | 1860 void SkLua::Load(lua_State* L) { |
| 1799 register_Sk(L); | 1861 register_Sk(L); |
| 1800 REG_CLASS(L, SkCanvas); | 1862 REG_CLASS(L, SkCanvas); |
| 1801 REG_CLASS(L, SkDocument); | 1863 REG_CLASS(L, SkDocument); |
| 1802 REG_CLASS(L, SkImage); | 1864 REG_CLASS(L, SkImage); |
| 1865 REG_CLASS(L, SkImageFilter); |
| 1803 REG_CLASS(L, SkPaint); | 1866 REG_CLASS(L, SkPaint); |
| 1804 REG_CLASS(L, SkPath); | 1867 REG_CLASS(L, SkPath); |
| 1805 REG_CLASS(L, SkPathEffect); | 1868 REG_CLASS(L, SkPathEffect); |
| 1806 REG_CLASS(L, SkPicture); | 1869 REG_CLASS(L, SkPicture); |
| 1807 REG_CLASS(L, SkPictureRecorder); | 1870 REG_CLASS(L, SkPictureRecorder); |
| 1808 REG_CLASS(L, SkRRect); | 1871 REG_CLASS(L, SkRRect); |
| 1809 REG_CLASS(L, SkShader); | 1872 REG_CLASS(L, SkShader); |
| 1810 REG_CLASS(L, SkSurface); | 1873 REG_CLASS(L, SkSurface); |
| 1811 REG_CLASS(L, SkTypeface); | 1874 REG_CLASS(L, SkTypeface); |
| 1812 REG_CLASS(L, SkMatrix); | 1875 REG_CLASS(L, SkMatrix); |
| 1813 } | 1876 } |
| 1814 | 1877 |
| 1815 extern "C" int luaopen_skia(lua_State* L); | 1878 extern "C" int luaopen_skia(lua_State* L); |
| 1816 extern "C" int luaopen_skia(lua_State* L) { | 1879 extern "C" int luaopen_skia(lua_State* L) { |
| 1817 SkLua::Load(L); | 1880 SkLua::Load(L); |
| 1818 return 0; | 1881 return 0; |
| 1819 } | 1882 } |
| OLD | NEW |