awele.h 2.47 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
/*
 * gcompris - awele.h Copyright (C) 2005 Frederic Mazzarol This program is
 * free software; you can redistribute it and/or modify it under the terms 
 * of the GNU General Public License as published by the Free Software
 * Foundation; either version 2 of the License, or (at your option) any
 * later version.  This program is distributed in the hope that it will
 * be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.  You should have received a
 * copy of the GNU General Public License along with this program; if not, 
 * write to the Free Software Foundation, Inc., 59 Temple Place, Suite
 * 330, Boston, MA 02111-1307 USA 
 */

15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

#define BOUTON "awele/bouton1.png"	//Chemin relatif vers fichiers boutons
#define BOUTON_NOTIFY "awele/bouton1_notify.png"	//Chemin relatif vers fichiers boutons cliqus
#define BOUTON_CLIC "awele/bouton1_clic.png"	//Chemin relatif vers fichiers boutons cliqus
#define BEAN "awele/graine1.png"	//Chemin relatif vers fichiers graines

#define Y_BOUTONS 412		//Abcisse des boutons

#define WIDTH 800 	// Largeur Fenetre
#define HEIGHT 600	// Hauteur Fenetre
/**
*	Tableau de graines
*/
typedef struct {
	GnomeCanvasItem *beanPixbuf;
	char hole;
}BEANHOLE_LINK;


typedef struct {
    GnomeCanvasItem *msg;	//Item message pour dialogue avec utilisateur   
    GnomeCanvasItem *nbBeansHole[12];	//Tableau d'item affichant le nbre de graine par trou.
    BEANHOLE_LINK *ptBeansHoleLink;	//pointeur sur structures stockant les item graines et la case dans laquelle elles se trouvent.
    GnomeCanvasItem *button[6];	//Item des boutons (affichs avec pixbufButton) 
    GdkPixbuf *pixbufButtonNotify[6];	//pixbux des boutons notifis
    GdkPixbuf *pixbufButton[6];	//pixbuf des boutons(selection de la case a jouer)
    GdkPixbuf *pixbufButtonClicked[6];	//pixbuf des boutons cliqus
    GnomeCanvasItem *Captures[2];	//Tableau d'item affichage nbre graine captures.
    GdkPixbuf *pixbufBeans[4];	//pixbufs des graines
} GRAPHICS_ELT;

typedef struct {
    short int numeroCase;
    GRAPHICS_ELT *graphsElt;
} CALLBACK_ARGS;

/* 
52
*	Fonctions de traitement des events, signaux et rappels
53
*/
54
static gint buttonClick (GtkWidget *item, GdkEvent *event, gpointer data);
55 56 57 58

/**
*	Fonctions Mise a jour de l'affichage
*/
59 60
static BEANHOLE_LINK * updateNbBeans (int alpha);
static void updateCapturedBeans (void);
61
static void initBoardGraphics (GRAPHICS_ELT *graphsElt);