apple2: properly instantiate the template methods [R. Belmont]

This commit is contained in:
arbee 2021-11-28 22:48:15 -05:00
parent d7c71b7788
commit 7d4c5c7848
2 changed files with 8 additions and 14 deletions

View File

@ -764,18 +764,14 @@ void a2_video_device::text_update(screen_device &screen, bitmap_ind16 &bitmap, c
}
}
// this function forces all of the template versions to be created, otherwise there's a link error
void a2_video_device::hackery(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int beginrow, int endrow)
{
text_update<false, false, false>(screen, bitmap, cliprect, beginrow, endrow);
text_update<false, false, true>(screen, bitmap, cliprect, beginrow, endrow);
text_update<false, true, false>(screen, bitmap, cliprect, beginrow, endrow);
text_update<false, true, true>(screen, bitmap, cliprect, beginrow, endrow);
text_update<true, false, false>(screen, bitmap, cliprect, beginrow, endrow);
text_update<true, false, true>(screen, bitmap, cliprect, beginrow, endrow);
text_update<true, true, false>(screen, bitmap, cliprect, beginrow, endrow);
text_update<true, true, true>(screen, bitmap, cliprect, beginrow, endrow);
}
template void a2_video_device::text_update<false, true, true>(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int beginrow, int endrow);
template void a2_video_device::text_update<false, true, false>(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int beginrow, int endrow);
template void a2_video_device::text_update<false, false, true>(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int beginrow, int endrow);
template void a2_video_device::text_update<false, false, false>(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int beginrow, int endrow);
template void a2_video_device::text_update<true, true, true>(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int beginrow, int endrow);
template void a2_video_device::text_update<true, true, false>(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int beginrow, int endrow);
template void a2_video_device::text_update<true, false, true>(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int beginrow, int endrow);
template void a2_video_device::text_update<true, false, false>(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int beginrow, int endrow);
void a2_video_device::text_update_jplus(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int beginrow, int endrow)
{

View File

@ -78,8 +78,6 @@ private:
void plot_text_character_ultr(bitmap_ind16 &bitmap, int xpos, int ypos, int xscale, uint32_t code, int fg, int bg);
void plot_text_character_jplus(bitmap_ind16 &bitmap, int xpos, int ypos, int xscale, uint32_t code, int fg, int bg);
void plot_text_characterGS(bitmap_ind16 &bitmap, int xpos, int ypos, int xscale, uint32_t code, int fg, int bg);
void hackery(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int beginrow, int endrow);
};
// device type definition