? drupal_render_mod.patch Index: drawing.module =================================================================== RCS file: /cvs/drupal/contributions/modules/drawing/drawing.module,v retrieving revision 1.15 diff -r1.15 drawing.module 44,45c44,45 98c98 < '#type' => 'ellipse', --- > '#type' => 'drawing_ellipse', 105c105 < '#type' => 'ellipse', --- > '#type' => 'drawing_ellipse', 206c210 < $output = drawing_render($canvas); --- > $output = drupal_render($canvas); < /** 304,306c231 < '#theme' => $method . '_draw_canvas', < '#prefix' => svg_open(), < '#suffix' => svg_close(), --- > '#method' => 'svg', 308c233,234 < $type['ellipse'] = array( --- > $type['drawing_ellipse'] = array( > '#input' => FALSE 311a238,250 > > function theme_canvas ($element) { > return theme($element['#method'] .'_canvas', $element); > } > > function theme_drawing_ellipse ($element) { > // chx says we should use '#process to tell the element that it's parent is svg. > // quote: "add a #process to the element and propagate down the value. > > //for now I'm just applying svg > $method = 'svg'; > return theme($method .'_'. $element['#type'], $element); > } Index: svg.inc =================================================================== RCS file: /cvs/drupal/contributions/modules/drawing/svg.inc,v retrieving revision 1.10 diff -r1.10 svg.inc 10c10 58,59c58,59 < function theme_svg_draw_canvas($shape) { < return ''; --- > function theme_svg_canvas($element) { > return svg_header() . $element['#children'] . svg_finish(); 66c66 < function theme_svg_draw_ellipse($shape) { --- > function theme_svg_drawing_ellipse($shape) { 79c79 < function theme_svg_draw_rectangle($shape) { --- > function theme_svg_drawing_rectangle($shape) {