public MouseCursorRenderer(INativeGraphicsManager nativeGraphicsManager,
                                   ICharacterProvider characterProvider,
                                   IRenderOffsetCalculator renderOffsetCalculator,
                                   IMapCellStateProvider mapCellStateProvider,
                                   IItemStringService itemStringService,
                                   IEIFFileProvider eifFileProvider,
                                   ICurrentMapProvider currentMapProvider,
                                   IGraphicsDeviceProvider graphicsDeviceProvider,
                                   IMapInteractionController mapInteractionController)
        {
            _mouseCursorTexture       = nativeGraphicsManager.TextureFromResource(GFXTypes.PostLoginUI, 24, true);
            _characterProvider        = characterProvider;
            _renderOffsetCalculator   = renderOffsetCalculator;
            _mapCellStateProvider     = mapCellStateProvider;
            _itemStringService        = itemStringService;
            _eifFileProvider          = eifFileProvider;
            _currentMapProvider       = currentMapProvider;
            _mapInteractionController = mapInteractionController;

            SingleCursorFrameArea = new Rectangle(0, 0,
                                                  _mouseCursorTexture.Width / (int)CursorIndex.NumberOfFramesInSheet,
                                                  _mouseCursorTexture.Height);
            _drawArea = SingleCursorFrameArea;

            _mapItemText = new XNALabel(Constants.FontSize08pt75)
            {
                Visible   = false,
                Text      = string.Empty,
                ForeColor = Color.White,
                AutoSize  = false,
                DrawOrder = 10 //todo: make a better provider for draw orders (see also HudControlsFactory)
            };

            _spriteBatch = new SpriteBatch(graphicsDeviceProvider.GraphicsDevice);
        }
 public MouseCursorRendererFactory(INativeGraphicsManager nativeGraphicsManager,
                                   ICharacterProvider characterProvider,
                                   IRenderOffsetCalculator renderOffsetCalculator,
                                   IMapCellStateProvider mapCellStateProvider,
                                   IItemStringService itemStringService,
                                   IEIFFileProvider eifFileProvider,
                                   ICurrentMapProvider currentMapProvider,
                                   IGraphicsDeviceProvider graphicsDeviceProvider,
                                   IMapInteractionController mapInteractionController)
 {
     _nativeGraphicsManager    = nativeGraphicsManager;
     _characterProvider        = characterProvider;
     _renderOffsetCalculator   = renderOffsetCalculator;
     _mapCellStateProvider     = mapCellStateProvider;
     _itemStringService        = itemStringService;
     _eifFileProvider          = eifFileProvider;
     _currentMapProvider       = currentMapProvider;
     _graphicsDeviceProvider   = graphicsDeviceProvider;
     _mapInteractionController = mapInteractionController;
 }