internal IvaProgramDescription(int index, CmosType cmosType, ref IvBankList src)
 {
     this.ProgramNo       = index;
     this.ProgramName     = src.BankName;
     this.Configured      = src.ConfiguredBank;
     this.MasterAvailable = src.Enable;
     Color[] imageData = new Color[4800];
     if (this.MasterAvailable)
     {
         if (cmosType == CmosType.CmosMono)
         {
             Holder <IvThumbnailMono> holder = new Holder <IvThumbnailMono>();
             IvaUtils.CopyStructure <IvThumbnailImage, IvThumbnailMono>(ref src.ThumbnailImage, ref holder.Target);
             for (int index1 = 0; index1 < 60; ++index1)
             {
                 for (int index2 = 0; index2 < 80; ++index2)
                 {
                     byte num = holder.Target.ImageBuffer[index1 * 80 + index2];
                     imageData[index1 * 80 + index2] = Color.FromArgb((int)num, (int)num, (int)num);
                 }
             }
         }
         else
         {
             Holder <IvThumbnailColor> holder = new Holder <IvThumbnailColor>();
             IvaUtils.CopyStructure <IvThumbnailImage, IvThumbnailColor>(ref src.ThumbnailImage, ref holder.Target);
             for (int index1 = 0; index1 < 60; ++index1)
             {
                 for (int index2 = 0; index2 < 80; ++index2)
                 {
                     ushort num = holder.Target.ImageBuffer[index1 * 80 + index2];
                     imageData[index1 * 80 + index2] = Color.FromArgb(((int)num & 63488) >> 8, ((int)num & 2000) >> 3, ((int)num & 31) << 3);
                 }
             }
         }
     }
     this.ThumbnailImage = new ThumbnailImage(imageData);
 }
 internal ConcreteProgramDescription(CmosType cmosType, IProgramSetting src)
 {
     this._baseData = src;
     this._cmosType = cmosType;
 }