//------------------------------------------------- // interface_post_start - work to be done after // actually starting a device //------------------------------------------------- public override void interface_post_start() { // set up save/restore of the palette m_save_pen.resize(m_palette.num_colors()); m_save_contrast.resize(m_palette.num_colors()); device().save_item(m_save_pen, "m_save_pen"); device().save_item(m_save_contrast, "m_save_contrast"); // save indirection tables if we have them if (m_indirect_colors.size() > 0) { device().save_item(m_indirect_colors, "m_indirect_colors"); device().save_item(m_indirect_pens, "m_indirect_pens"); } }
//------------------------------------------------- // interface_post_start - work to be done after // actually starting a device //------------------------------------------------- public override void interface_post_start() { // set up save/restore of the palette m_save_pen.resize((size_t)m_palette.num_colors()); m_save_contrast.resize((size_t)m_palette.num_colors()); device().save_item(NAME(new { m_save_pen })); device().save_item(NAME(new { m_save_contrast })); // save indirection tables if we have them if (m_indirect_colors.size() > 0) { device().save_item(NAME(new { m_indirect_colors })); device().save_item(NAME(new { m_indirect_pens })); } }
dirty_state [] m_dirty = new dirty_state[2]; // two dirty states // construction/destruction //------------------------------------------------- // palette_client - constructor //------------------------------------------------- public palette_client(palette_t palette) { m_palette = palette; m_next = null; m_liveIdx = 0; // m_live(&m_dirty[0]), m_previousIdx = 1; // m_previous(&m_dirty[1]) // add a reference to the palette palette.ref_(); // resize the dirty lists uint32_t total_colors = (uint32_t)(palette.num_colors() * palette.num_groups()); m_dirty[0] = new dirty_state(); m_dirty[1] = new dirty_state(); m_dirty[0].resize(total_colors); m_dirty[1].resize(total_colors); // now add us to the list of clients m_next = palette.m_client_list; palette.m_client_list = this; }