Example #1
0
    private static object LoadCursor(ContentReader input)
    {

      return null;
#else
      string filename = input.ReadString();
      string subFolder = Path.GetDirectoryName(input.AssetName) ?? string.Empty;

      // Try to load from file system.
      string contentFolder = input.ContentManager.RootDirectory;
      try
      {
        string path = Path.Combine(contentFolder, subFolder, filename);
        var cursor = PlatformHelper.CreateCursor(path);
        if (cursor != null)
          return cursor;

        // Cursor was not found on file system. Perhaps it is in a ZIP storage.
        var storageProvider = input.ContentManager as IStorageProvider;
        if (storageProvider != null)
        {
          path = Path.Combine(subFolder, filename);
          using (var stream = storageProvider.Storage.OpenFile(path))
            cursor = PlatformHelper.CreateCursor(stream);
        }

        return cursor;
      }
      catch (ArgumentException)    // This happens with animated cursors in Linux.
      {
        return null;
      }

    }