public List <DecodedFrame> GetDecodedFrameList() { var result = new List <DecodedFrame>(); for (int i = 0; i < Frames.Length; i++) { var df = new DecodedFrame(); for (int x = 0; x < 256; x++) { for (int y = 0; y < 192; y++) { df.Layer1Data[x, y] = Frames[i].Layer1[y, x]; df.Layer2Data[x, y] = Frames[i].Layer2[y, x]; } } int f = (Frames[i].FirstByteHeader & 0b00000110) >> 1; if (f > 0) { df.Layer1Color = (LayerColor)(f - 1); } f = (Frames[i].FirstByteHeader & 0b00011000) >> 3; if (f > 0) { df.Layer2Color = (LayerColor)(f - 1); } df.IsPaperWhite = (Frames[i].FirstByteHeader & 1) == 1; df.SetImage(null, true); result.Add(df); } return(result); }
public DecodedFrame(DecodedFrame src) { Array.Copy(src.Layer1Data, Layer1Data, 256 * 192); Array.Copy(src.Layer2Data, Layer2Data, 256 * 192); IsPaperWhite = src.IsPaperWhite; Layer1Color = src.Layer1Color; Layer2Color = src.Layer2Color; SetImage(null, true); }