After reading all these posts, it seems to me the simplest way to do
it, assuming you have to draw out all the countries anyway, is to draw
a layer on the original image with each country being its own RGB
value. So just draw solid colours of the countires, being as precise
or vague as you care to be, not worrying about keeping to specific
geometric shapes. The differences could be on just one of the RGB
colour values, so (255,255,100), (255,255,95). Easy to fit them all
on if you're not really worried about having high-contrast colours.
The layer could be invisible to the player, so, two surfaces. One
that's blitted to screen and the other with the colours that isn't.
When checking for which country the mouse clicked on, as Henrique
Nakashima said, just check the colour value of the modified-colour
surface. Based on what colour it is, the program will know which
country. You could even assign the colours simply based on
alphabetical order of the countries. So country 1 = (255,255,255), 2
= (255,255,250), etc. Thus vastly simplifying the testing. And if a
mouseclick is not on a country but on an ocean or something, the
modified-colour surface won't have a colour there so you don't need to
do any further processing on that click.