public override bool HandleExport(ExportCharsetInfo Info, TextBox EditOutput, DocumentInfo DocInfo) { System.Windows.Forms.SaveFileDialog saveDlg = new System.Windows.Forms.SaveFileDialog(); saveDlg.FileName = Info.Charset.ExportFilename; saveDlg.Title = "Export Charset to"; saveDlg.Filter = "Charset|*.chr|All Files|*.*"; if (DocInfo.Project != null) { saveDlg.InitialDirectory = DocInfo.Project.Settings.BasePath; } if (saveDlg.ShowDialog() != System.Windows.Forms.DialogResult.OK) { return(false); } GR.Memory.ByteBuffer charSet = new GR.Memory.ByteBuffer(); List <int> exportIndices = Info.ExportIndices; foreach (int i in exportIndices) { charSet.Append(Info.Charset.Characters[i].Tile.Data); } if (checkPrefixLoadAddress.Checked) { ushort address = GR.Convert.ToU16(editPrefixLoadAddress.Text, 16); var addressData = new ByteBuffer(); addressData.AppendU16(address); charSet = addressData + charSet; } GR.IO.File.WriteAllBytes(saveDlg.FileName, charSet); return(true); }
public override bool HandleExport(ExportCharsetInfo Info, TextBox EditOutput, DocumentInfo DocInfo) { int wrapByteCount = GetExportWrapCount(); string prefix = editPrefix.Text; GR.Memory.ByteBuffer charSet = new GR.Memory.ByteBuffer(); foreach (int index in Info.ExportIndices) { charSet.Append(Info.Charset.Characters[index].Tile.Data); } bool wrapData = checkExportToDataWrap.Checked; bool prefixRes = checkExportToDataIncludeRes.Checked; string resultText = "CHARS" + System.Environment.NewLine; resultText += Util.ToASMData(charSet, wrapData, wrapByteCount, prefixRes ? prefix : ""); if (checkIncludeColor.Checked) { resultText += System.Environment.NewLine + "COLORS" + System.Environment.NewLine; GR.Memory.ByteBuffer colorData = new GR.Memory.ByteBuffer(); foreach (int index in Info.ExportIndices) { colorData.AppendU8((byte)Info.Charset.Characters[index].Tile.CustomColor); } resultText += Util.ToASMData(colorData, wrapData, wrapByteCount, prefixRes ? prefix : ""); } EditOutput.Text = resultText; return(true); }
public override bool HandleExport(ExportCharsetInfo Info, TextBox EditOutput, DocumentInfo DocInfo) { var sb = new StringBuilder(); int startLine = GR.Convert.ToI32(editExportBASICLineNo.Text); if ((startLine < 0) || (startLine > 63999)) { startLine = 10; } int lineOffset = GR.Convert.ToI32(editExportBASICLineOffset.Text); if ((lineOffset < 0) || (lineOffset > 63999)) { lineOffset = 10; } List <int> exportIndices = Info.ExportIndices; foreach (int index in exportIndices) { sb.Append(startLine); sb.Append("CHARDEF"); sb.Append(index); for (int i = 0; i < 8; ++i) { if (checkExportHex.Checked) { sb.Append(",$"); sb.Append(Info.Charset.Characters[index].Tile.Data.ByteAt(i).ToString("X2")); } else { sb.Append(','); sb.Append(Info.Charset.Characters[index].Tile.Data.ByteAt(i)); } } sb.AppendLine(); startLine += lineOffset; } EditOutput.Font = new System.Drawing.Font(Core.MainForm.m_FontC64.Families[0], 16, System.Drawing.GraphicsUnit.Pixel); EditOutput.Text = sb.ToString(); return(true); }
public override bool HandleExport(ExportCharsetInfo Info, TextBox EditOutput, DocumentInfo DocInfo) { var sb = new StringBuilder(); int startLine = GR.Convert.ToI32(editExportBASICLineNo.Text); if ((startLine < 0) || (startLine > 63999)) { startLine = 10; } int lineOffset = GR.Convert.ToI32(editExportBASICLineOffset.Text); if ((lineOffset < 0) || (lineOffset > 63999)) { lineOffset = 10; } int wrapByteCount = GetExportWrapCount(); bool asHex = checkExportHex.Checked; int wrapCharCount = GetExportCharCount(); List <int> exportIndices = Info.ExportIndices; GR.Memory.ByteBuffer charSet = new GR.Memory.ByteBuffer(); foreach (int index in exportIndices) { charSet.Append(Info.Charset.Characters[index].Tile.Data); } if (asHex) { sb.Append(Util.ToBASICHexData(charSet, startLine, lineOffset, wrapByteCount, wrapCharCount)); } else { sb.Append(Util.ToBASICData(charSet, startLine, lineOffset, wrapByteCount, wrapCharCount)); } EditOutput.Font = new System.Drawing.Font(Core.MainForm.m_FontC64.Families[0], 16, System.Drawing.GraphicsUnit.Pixel); EditOutput.Text = sb.ToString(); return(true); }
public override bool HandleExport(ExportCharsetInfo Info, TextBox EditOutput, DocumentInfo DocInfo) { GR.Image.MemoryImage targetImg = new GR.Image.MemoryImage(128, 128, Info.Charset.Characters[0].Tile.Image.PixelFormat); PaletteManager.ApplyPalette(targetImg); List <int> exportIndices = Info.ExportIndices; foreach (int i in exportIndices) { Info.Charset.Characters[i].Tile.Image.DrawTo(targetImg, (i % 16) * 8, (i / 16) * 8); } System.Drawing.Bitmap bmpTarget = targetImg.GetAsBitmap(); Clipboard.SetImage(bmpTarget); bmpTarget.Dispose(); return(true); }
private void btnExport_Click(object sender, EventArgs e) { List <int> exportIndices = ListOfExportIndices(); GR.Memory.ByteBuffer charSet = new GR.Memory.ByteBuffer(); foreach (int index in exportIndices) { charSet.Append(m_Charset.Characters[index].Tile.Data); } var exportInfo = new ExportCharsetInfo() { Charset = m_Charset, ExportIndices = ListOfExportIndices() }; editDataExport.Text = ""; editDataExport.Font = m_DefaultOutputFont; m_ExportForm.HandleExport(exportInfo, editDataExport, DocumentInfo); }
public override bool HandleExport(ExportCharsetInfo Info, TextBox EditOutput, DocumentInfo DocInfo) { System.Windows.Forms.SaveFileDialog saveDlg = new System.Windows.Forms.SaveFileDialog(); saveDlg.Title = "Export Characters to Image"; saveDlg.Filter = Core.MainForm.FilterString(RetroDevStudio.Types.Constants.FILEFILTER_IMAGE_FILES); if (saveDlg.ShowDialog() != System.Windows.Forms.DialogResult.OK) { return(false); } GR.Image.MemoryImage targetImg = new GR.Image.MemoryImage(128, 128, Info.Charset.Characters[0].Tile.Image.PixelFormat); PaletteManager.ApplyPalette(targetImg); List <int> exportIndices = Info.ExportIndices; foreach (int i in exportIndices) { Info.Charset.Characters[i].Tile.Image.DrawTo(targetImg, (i % 16) * 8, (i / 16) * 8); } System.Drawing.Bitmap bmpTarget = targetImg.GetAsBitmap(); bmpTarget.Save(saveDlg.FileName, System.Drawing.Imaging.ImageFormat.Png); return(true); }
public virtual bool HandleExport(ExportCharsetInfo Info, TextBox EditOutput, DocumentInfo DocInfo) { return(false); }