buildSrc/src/main/java/com/sun/scenario/effect/compiler/backend/sw/me/MEBackend.java

Print this page

        

*** 77,89 **** --- 77,91 ---- rel.append("env->ReleasePrimitiveArrayCritical(" + jarrayName + ", " + cbufName + ", JNI_ABORT);\n"); } public final GenCode getGenCode(String effectName, String peerName, + String genericsName, String interfaceName) { Map<String, Variable> vars = parser.getSymbolTable().getGlobalVariables(); + StringBuilder genericsDecl = new StringBuilder(); StringBuilder interfaceDecl = new StringBuilder(); StringBuilder constants = new StringBuilder(); StringBuilder samplers = new StringBuilder(); StringBuilder srcRects = new StringBuilder(); StringBuilder posDecls = new StringBuilder();
*** 262,280 **** --- 264,287 ---- cparamDecls.append("jfloat src" + i + "Rect_x2, jfloat src" + i + "Rect_y2,\n"); cparamDecls.append("jint src" + i + "w, jint src" + i + "h, jint src" + i + "scan"); } } + if (genericsName != null) { + genericsDecl.append("<"+genericsName+">"); + } + if (interfaceName != null) { interfaceDecl.append("implements "+interfaceName); } Reader template = new InputStreamReader(getClass().getResourceAsStream("MEJavaGlue.stg")); StringTemplateGroup group = new StringTemplateGroup(template, DefaultTemplateLexer.class); StringTemplate jglue = group.getInstanceOf("glue"); jglue.setAttribute("effectName", effectName); jglue.setAttribute("peerName", peerName); + jglue.setAttribute("genericsDecl", genericsDecl.toString()); jglue.setAttribute("interfaceDecl", interfaceDecl.toString()); jglue.setAttribute("usercode", usercode.toString()); jglue.setAttribute("samplers", samplers.toString()); jglue.setAttribute("srcRects", srcRects.toString()); jglue.setAttribute("constants", constants.toString());