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

Print this page

        

*** 61,73 **** --- 61,75 ---- this.body = scanner.getResult(); } public final String 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 cleanup = new StringBuilder(); StringBuilder srcRects = new StringBuilder();
*** 207,225 **** --- 209,232 ---- posIncrX.append("pos" + i + "_x += inc" + i + "_x;\n"); posIncrY.append("pos" + i + "_y += inc" + i + "_y;\n"); } } + if (genericsName != null) { + genericsDecl.append("<"+genericsName+">"); + } + if (interfaceName != null) { interfaceDecl.append("implements "+interfaceName); } Reader template = new InputStreamReader(getClass().getResourceAsStream("JSWGlue.stg")); StringTemplateGroup group = new StringTemplateGroup(template, DefaultTemplateLexer.class); StringTemplate glue = group.getInstanceOf("glue"); glue.setAttribute("effectName", effectName); glue.setAttribute("peerName", peerName); + glue.setAttribute("genericsDecl", genericsDecl.toString()); glue.setAttribute("interfaceDecl", interfaceDecl.toString()); glue.setAttribute("usercode", usercode.toString()); glue.setAttribute("samplers", samplers.toString()); glue.setAttribute("cleanup", cleanup.toString()); glue.setAttribute("srcRects", srcRects.toString());