Render **dynamic** states reported by the electrode controller.

        **Dynamic** electrode states are only applied while a protocol is
        running -- _not_ while in real-time programming mode.

        See also :meth:`render_electrode_shapes()`.


        .. versionadded:: 0.12

def render_dynamic_electrode_state_shapes(self):
        '''
        Render **dynamic** states reported by the electrode controller.

        **Dynamic** electrode states are only applied while a protocol is
        running -- _not_ while in real-time programming mode.

        See also :meth:`render_electrode_shapes()`.


        .. versionadded:: 0.12
        '''
        df_shapes = self.canvas.df_canvas_shapes.copy()
        # Only include shapes for electrodes reported as actuated.
        on_electrodes = self._dynamic_electrodes[self._dynamic_electrodes > 0]
        df_shapes = (df_shapes.set_index('id').loc[on_electrodes.index]
                     .reset_index())

        return self.render_electrode_shapes(df_shapes=df_shapes,
                                            shape_scale=0.75,
                                            # Lignt blue
                                            fill=(136 / 255.,
                                                  189 / 255.,
                                                  230 / 255.))