Tratando Cliques do Mouse Sobre uma Imagem - Educational Game Programming Library

Para poder tratar os eventos de clique do mouse sobre uma determinada imagem é necessário definir uma função para essa tarefa. A função para tratar esse evento deve ter a seguinte sintaxe:

void MouseClickMinhaImagem(int button, int state, int x, int y)
{
  /* Bloco de Comandos */
}

Também é necessário indicar que essa é a sua função para tratar eventos de clique do mouse sobre a imagem em questão usando o comando SetOnClick:

MinhaImagem.SetOnClick(MouseClickMinhaImagem);

Dessa forma, sempre que o usuário clicar sobre a imagem “MinhaImagem”, a função MouseClickMinhaImagem será executada e o parâmetro button indicará qual botão foi pressionado. Os parâmetros x e y indicam a posição na tela relativa a imagem em que mouse estava quando o clique foi realizado.

Exemplo:

void MouseClickMinhaImagem(int button, int state, int x, int y)
{
  carregando_imagem = true;
}

Observação Importante: Para poder usar este evento é necessário que a posição da imagem tenha sido definida com o comando SetPosition. Exemplo:

Image minha_imagem;

void MouseClickMinhaImagem(int button, int state, int x, int y)
{
  clicou_na_imagem = true;
}

int main(void)
{
  minha_imagem.LoadPNGImage("Marvin.png");
  minha_imagem.SetPosition(0,100,256,256);
  minha_imagem.SetOnClick(MouseClickMarvin);
}