#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>

#include "Controle.h"
#include "AdhocControle.h"

AdhocControle::AdhocControle(void):Controle() {
  realiserDessin = NULL;
  realiserSauvegarde = NULL;
  realiserAnnulation = NULL;
  realiserActivation = NULL;
}

AdhocControle::~AdhocControle(void) {
}

void AdhocControle::dessiner(void) {
  if ( realiserDessin )
    realiserDessin();
}

void AdhocControle::sauve(void) {
  if ( realiserSauvegarde )
    realiserSauvegarde();
}

void AdhocControle::annule(void) {
  if ( realiserAnnulation )
    realiserAnnulation();
}

int AdhocControle::selection(int x,int y) {
  if ( realiserActivation )
    return(realiserActivation(x,y));
  return(-1);
}

void AdhocControle::setRealiserDessin(void(*fonction) (void)) {
  realiserSauvegarde = fonction;
}

void AdhocControle::setRealiserSauvegarde(void(*fonction) (void)) {
  realiserDessin = fonction;
}

void AdhocControle::setRealiserAnnulation(void(*fonction) (void)) {
  realiserAnnulation = fonction;
}

void AdhocControle::setRealiserActivation(int(*fonction) (int x,int y)) {
  realiserActivation = fonction;
}
