 			var graphics:Graphics = tempShape.graphics;
 
 			// project data coordinates to screen coordinates and draw graphics onto tempShape
-
-			var x:Number = getCoordFromRecordKey(recordKey, true);
-			var y:Number = getCoordFromRecordKey(recordKey, false);
-			var width:Number = widthData.getValueFromKey(recordKey, Number);
-			var height:Number = heightData.getValueFromKey(recordKey, Number);
-			
-			// project x,y data coordinates to screen coordinates
-			tempPoint.x = x;
-			tempPoint.y = y;
+			getBounds(recordKey, tempBounds);
+			
+			// project x,y data coordinates to screen coordinates
+			tempBounds.getMinPoint(tempPoint);
 			dataBounds.projectPointTo(tempPoint, screenBounds);
 			// add screen offsets
 			tempPoint.x += xMinScreenOffset.getValueFromKey(recordKey, Number);

		 */
		override public function getDataBoundsFromRecordKey(recordKey:IQualifiedKey, output:Array):void
		{
			initBoundsArray(output);
			var x:Number = getCoordFromRecordKey(recordKey, true);
			var y:Number = getCoordFromRecordKey(recordKey, false);
			var width:Number = widthData.getValueFromKey(recordKey, Number);
			var height:Number = heightData.getValueFromKey(recordKey, Number);
			(output[0] as IBounds2D).setBounds(x, y, x + width, y + height);
		}

		/**

			// save x,y screen coordinates
			tempBounds.setMinPoint(tempPoint);
			
			// project x+w,y+h data coordinates to screen coordinates
			tempBounds.getMaxPoint(tempPoint);
			dataBounds.projectPointTo(tempPoint, screenBounds);
			// add screen offsets
			tempPoint.x += xMaxScreenOffset.getValueFromKey(recordKey, Number);
