示例#1
0
 /// <returns> the single instance of the images cache object </returns>
 public static ImagesCache GetInstance()
 {
     if (_instance == null)
     {
         // synchronize on the class object
         lock (typeof(ImagesCache))
         {
             if (_instance == null)
             {
                 _instance = new ImagesCache();
             }
         }
     }
     return(_instance);
 }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="fileName"></param>
        /// <param name="loadAsIcon"></param>
        /// <returns></returns>
        internal static Image GetImage(String fileName)
        {
            Image image = ImagesCache.GetInstance().Get(fileName);

            if (image == null)
            {
                image = ImageUtils.LoadImage(fileName);

                if (image != null)
                {
                    bool putInCache = true;
#if !PocketPC
                    putInCache = !ImageAnimator.CanAnimate(image);
#endif
                    if (putInCache)
                    {
                        ImagesCache.GetInstance().Put(fileName, image);
                    }
                }
            }

            return(image);
        }