I have created two classes that extend ChartElement, one for zooming and one for panning. Both work as wanted if applied separately to a chart using the annotationElements. However, if I apply both only one of the two will ever catch a MouseDown rather than both. I worked out how to implement the classes in the first place by looking at the InteractiveBubble example on the Quietly Scheming website (http://www.quietlyscheming.com/blog/charts/interactive-bubble-chart/).
The jist is that I have overridden the updateDisplayList(..) function with the following to ensure the Pan or Zoom catches the mouse event: override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void { super.updateDisplayList(unscaledWidth,unscaledHeight); graphics.clear(); graphics.moveTo(0,0); graphics.beginFill(0,0); graphics.drawRect(0,0,unscaledWidth,unscaledHeight); } Clearly the problem I am having when I have two classes using this same technique being used at the same time is because one of the "rectangles" is on top of the other. I realise that combining the pan and zoom into a single class, as is done in the Quietly Scheming example, would solve the problem but it is not appropriate for my intensions. Does anyone have any suggestions for a clean solution?