private void mnuColors_DropDownOpening(object sender, EventArgs e) { mnuPalettes.DropDownItems.Clear(); var paths = Directory.GetFiles("Palettes", "*.json"); foreach (var path in paths) { var fileName = Path.GetFileName(path); mnuPalettes.DropDownItems.Add( new ToolStripMenuItem( Path.GetFileNameWithoutExtension(path), null, (s, e) => { ColorManager.LoadPalette(PaletteDefinition.FromFile(fileName)); Settings.Default.CurrentColorPalette = fileName; } ) { Checked = fileName == Settings.Default.CurrentColorPalette } ); } }
private void mnuImportVICEPaletteFile_Click(object sender, EventArgs e) { if (ofdImportVicePaletteFile.ShowDialog() == DialogResult.OK) { var fn = ofdImportVicePaletteFile.FileName; var pd = PaletteDefinition.ImportVicePaletteFile(fn); ColorManager.LoadPalette(pd); Settings.Default.CurrentColorPalette = $"{Path.GetFileNameWithoutExtension(fn)}.json"; } }
public VicIi(TvSystem tvSystem) { ColorManager.LoadPalette(PaletteDefinition.FromFile(Settings.Default.CurrentColorPalette)); _tvSystem = tvSystem; _fullHeight = tvSystem == TvSystem.PAL ? FULL_HEIGHT_PAL : FULL_HEIGHT_NTSC; var fullHeight = tvSystem == TvSystem.PAL ? FULL_HEIGHT_PAL : FULL_HEIGHT_NTSC; FullFrame = new Rectangle(0, 0, FULL_WIDTH, fullHeight); BorderFrame = new Rectangle(48, 14, 403, USABLE_HEIGHT_BORDER); DisplayFrame = new Rectangle(88, 56, USABLE_WIDTH, USABLE_HEIGHT); ScreenBufferPixels = new Color[fullHeight, FULL_WIDTH]; }
private async Task HandleFileOpen(string fileName) { var ext = Path.GetExtension(fileName); switch (ext.ToLower()) { case ".prg": await C64.Cpu.Pause(); LoadPrg(fileName, true); C64.Cpu.Resume(); _osdManager.AddItem($"Loaded {Path.GetFileName(fileName)}"); fsw.Path = Path.GetDirectoryName(fileName); break; case ".crt": case ".bin": await InsertCartridge(fileName); _osdManager.AddItem($"Inserted {Path.GetFileName(fileName)}"); break; case ".vpl": // VICE Palette file ColorManager.LoadPalette(PaletteDefinition.FromVicePaletteFile(fileName)); _osdManager.AddItem($"Loaded {Path.GetFileName(fileName)}"); break; case ".json": // Just color palettes for now ColorManager.LoadPalette(PaletteDefinition.FromFile(fileName)); _osdManager.AddItem($"Loaded {Path.GetFileName(fileName)}"); break; default: // Using Task.Run to prevent a bug where the window locks up when using drag and drop _osdManager.AddItem($"Unknown file format!"); await Task.Run(() => MessageBox.Show("Unknown file format.", "Unknown", MessageBoxButtons.OK, MessageBoxIcon.Warning)); return; } }
public PaletteHolder(PaletteDefinition definition) { TreeItems = new List <TreeItemModel>(); Definition = definition; }
private DefinitionBase CreateDefinition(FieldList source) { if (source == null) { return(null); } int defID = source[MessageOutFieldID.DefinitionID].AsInteger() ?? 0; short primitiveType = source[DefAgentFieldID.DefinitionType].AsShort() ?? 0; short secondaryCharacteristic = 0; DefinitionBase res = null; switch ((DefinitionType)primitiveType) { case DefinitionType.AtomicBlock: { FieldList firstStateData = (FieldList)source[DefAgentFieldID.DataPerComponentState]; if (firstStateData != null) { secondaryCharacteristic = firstStateData[DefAgentFieldID.LayoutType].AsByte() ?? 0; switch ((LayoutType)secondaryCharacteristic) { case LayoutType.Table: AtomicBlockDefinition ab = new AtomicBlockDefinition(); ab.Unpack(source); res = ab; break; case LayoutType.SingleSlot: SingleSlotBlockDefinition ssb = new SingleSlotBlockDefinition(); ssb.Unpack(source); res = ssb; break; case LayoutType.ScrollingText: ScrollingTextBlockDefinition stbd = new ScrollingTextBlockDefinition(); stbd.Unpack(source); res = stbd; break; default: DebugHelper.Out("Unsupported layout type for atomic: {0}", ((LayoutType)secondaryCharacteristic).ToString()); break; } } break; } case DefinitionType.Container: { secondaryCharacteristic = source[DefAgentFieldID.LayoutType].AsByte() ?? 0; switch ((LayoutType)secondaryCharacteristic) { case LayoutType.Box: BoxLayoutBlockDefinition bx = new BoxLayoutBlockDefinition(); bx.Unpack(source); res = bx; break; case LayoutType.Flow: ListBlockDefinition fl = new ListBlockDefinition(); fl.Unpack(source); res = fl; break; case LayoutType.Grid: GridBlockDefinition gr = new GridBlockDefinition(); gr.Unpack(source); res = gr; break; default: DebugHelper.Out("Unsupported layout type for container: {0}", ((LayoutType)secondaryCharacteristic).ToString()); break; } break; } case DefinitionType.Frame: { FrameDefinition fd = new FrameDefinition(); fd.Unpack(source); res = fd; break; } case DefinitionType.Plugin: { secondaryCharacteristic = source[DefAgentFieldID.PluginType].AsByte() ?? 0; switch ((PluginType)secondaryCharacteristic) { case PluginType.Map: MapPluginBlockDefinition mpbd = new MapPluginBlockDefinition(); mpbd.Unpack(source); res = mpbd; break; default: DebugHelper.Out("Unsupported plug-in type: {0}", ((PluginType)secondaryCharacteristic).ToString()); break; } break; } case DefinitionType.Palette: { PaletteDefinition palette = new PaletteDefinition(); palette.Unpack(source); res = palette; break; } case DefinitionType.Font: { FontDefinition font = new FontDefinition(); font.Unpack(source); res = font; break; } case DefinitionType.ApplicationEvents: { ApplicationEventsDefinition appEvents = new ApplicationEventsDefinition(); appEvents.Unpack(source); res = appEvents; break; } default: DebugHelper.Out("Unsupported definition type: {0}", ((DefinitionType)primitiveType).ToString()); break; } if ((res != null) && res.IsUnpacked) { return(res); } else { return(null); } }
private void SetPalette(PaletteDefinition palette) { spaceGridControl.SetPalette(palette); }