.. versionchanged:: 0.12
            Add ``dynamic_electrode_state_shapes`` layer to show dynamic
            electrode actuations.

def render(self):
        '''
        .. versionchanged:: 0.12
            Add ``dynamic_electrode_state_shapes`` layer to show dynamic
            electrode actuations.
        '''
        # Render each layer and update data frame with new content for each
        # surface.
        surface_names = ('background', 'shapes', 'connections', 'routes',
                         'channel_labels', 'static_electrode_state_shapes',
                         'dynamic_electrode_state_shapes', 'registration')
        for k in surface_names:
            self.set_surface(k, getattr(self, 'render_' + k)())
        self.emit('surfaces-reset', self.df_surfaces)
        self.cairo_surface = flatten_surfaces(self.df_surfaces)