     fn(this)
 
 class ShannonFanoNode extends Node
-  constructor: (@contains, @shape, @def_bbox, @label) ->
+  constructor: (@contains, @shape, @default_bbox, @label) ->
+    @len_x = @default_bbox.len.x
+    @len_y = @default_bbox.len.y
+    @x = @default_bbox.min.x + @len_x/2
+    @y = @default_bbox.min.y + @len_y/2
+
     @update()
 
   render: (ctx) ->
 
     ctx.save()
     setStyle(ctx, node_style)
-    ctx.translate(
-      @bbox.min.x + @bbox.len.x/2,
-      @bbox.min.y + @bbox.len.y/2)
+    ctx.translate(@x, @y)
 
     ctx.save()
-    ctx.scale(@bbox.len.x,@bbox.len.y)
+    ctx.scale(@len_x,@len_y)
     ctx.beginPath()
-    renderShape(ctx, @shape, .75)
+    renderShape(ctx, @shape, 1)
     # fix line width
-    ctx.scale(1/@bbox.len.x, 1/@bbox.len.y)
+    ctx.scale(1/@len_x, 1/@len_y)
     ctx.fill()
     ctx.stroke()
     ctx.restore()

    ctx.textAlign = 'center'
    ctx.textBaseline = 'top'

    ctx.fillText(@label + ":" + @value,0,@bbox.len.y)

    ctx.restore()

    for n in @contains
      n.render(ctx)


  update: ->
    @bbox = @def_bbox
    @value = 0
#      min: x: @bbox0.min.x + @bbox0.len.x*2, y:
#                @bbox0.min.y
#        len: x: default_node_radius * 2, y: default_node_radius * 2

    if @contains.length > 0
      minx = maxx = @contains[0].x

        return result

    fn(this)

collection_dropdown_menu = [
  {
