git repos / blockattack-game

blame: source/code/editor/editorMain.hpp

normal view · raw

89c4a3a6 sago007 2008-08-29 14:32 1
/*
89c4a3a6 sago007 2008-08-29 14:32 2
editorMain.hpp
89c4a3a6 sago007 2008-08-29 14:32 3
Copyright (C) 2007 Poul Sander
89c4a3a6 sago007 2008-08-29 14:32 4
89c4a3a6 sago007 2008-08-29 14:32 5
    This program is free software; you can redistribute it and/or modify        
89c4a3a6 sago007 2008-08-29 14:32 6
    it under the terms of the GNU General Public License as published by        
89c4a3a6 sago007 2008-08-29 14:32 7
    the Free Software Foundation; either version 2 of the License, or           
89c4a3a6 sago007 2008-08-29 14:32 8
    (at your option) any later version.                                         
89c4a3a6 sago007 2008-08-29 14:32 9
                                                                                
89c4a3a6 sago007 2008-08-29 14:32 10
    This program is distributed in the hope that it will be useful,       
89c4a3a6 sago007 2008-08-29 14:32 11
    but WITHOUT ANY WARRANTY; without even the implied warranty of              
89c4a3a6 sago007 2008-08-29 14:32 12
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               
89c4a3a6 sago007 2008-08-29 14:32 13
    GNU General Public License for more details.                
89c4a3a6 sago007 2008-08-29 14:32 14
                                                                               
89c4a3a6 sago007 2008-08-29 14:32 15
    You should have received a copy of the GNU General Public License           
89c4a3a6 sago007 2008-08-29 14:32 16
    along with this program; if not, write to the Free Software                 
89c4a3a6 sago007 2008-08-29 14:32 17
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA   
89c4a3a6 sago007 2008-08-29 14:32 18
                                                                                
89c4a3a6 sago007 2008-08-29 14:32 19
    Poul Sander
1f61db96 sago007 2010-11-15 20:12 20
    R�veh�jvej 36, V. 1111                                                    
89c4a3a6 sago007 2008-08-29 14:32 21
    2800 Kgs. Lyngby
89c4a3a6 sago007 2008-08-29 14:32 22
    DENMARK
89c4a3a6 sago007 2008-08-29 14:32 23
    blockattack@poulsander.com       
89c4a3a6 sago007 2008-08-29 14:32 24
*/
89c4a3a6 sago007 2008-08-29 14:32 25
89c4a3a6 sago007 2008-08-29 14:32 26
#include "SDL.h" 
89c4a3a6 sago007 2008-08-29 14:32 27
#include "EditorInterface.hpp"
89c4a3a6 sago007 2008-08-29 14:32 28
#include <vector>
89c4a3a6 sago007 2008-08-29 14:32 29
89c4a3a6 sago007 2008-08-29 14:32 30
//Do to stability reasons we load everything in the main and just refer to it here:
89c4a3a6 sago007 2008-08-29 14:32 31
extern SDL_Surface *bCreateFile;
89c4a3a6 sago007 2008-08-29 14:32 32
extern SDL_Surface *bDeletePuzzle;
89c4a3a6 sago007 2008-08-29 14:32 33
extern SDL_Surface *bLoadFile;
89c4a3a6 sago007 2008-08-29 14:32 34
extern SDL_Surface *bMoveBack;
89c4a3a6 sago007 2008-08-29 14:32 35
extern SDL_Surface *bMoveDown;
89c4a3a6 sago007 2008-08-29 14:32 36
extern SDL_Surface *bMoveForward;
89c4a3a6 sago007 2008-08-29 14:32 37
extern SDL_Surface *bMoveLeft;
89c4a3a6 sago007 2008-08-29 14:32 38
extern SDL_Surface *bMoveRight;
89c4a3a6 sago007 2008-08-29 14:32 39
extern SDL_Surface *bMoveUp;
89c4a3a6 sago007 2008-08-29 14:32 40
extern SDL_Surface *bNewPuzzle;
89c4a3a6 sago007 2008-08-29 14:32 41
extern SDL_Surface *bSaveFileAs;
89c4a3a6 sago007 2008-08-29 14:32 42
extern SDL_Surface *bSavePuzzle;
89c4a3a6 sago007 2008-08-29 14:32 43
extern SDL_Surface *bSaveToFile;
89c4a3a6 sago007 2008-08-29 14:32 44
extern SDL_Surface *bTestPuzzle;
89c4a3a6 sago007 2008-08-29 14:32 45
89c4a3a6 sago007 2008-08-29 14:32 46
//The screen we draw on:
89c4a3a6 sago007 2008-08-29 14:32 47
extern SDL_Surface *screen;
89c4a3a6 sago007 2008-08-29 14:32 48
89c4a3a6 sago007 2008-08-29 14:32 49
extern EditorInterface ei;
89c4a3a6 sago007 2008-08-29 14:32 50
89c4a3a6 sago007 2008-08-29 14:32 51
class aButton
89c4a3a6 sago007 2008-08-29 14:32 52
{
89c4a3a6 sago007 2008-08-29 14:32 53
    public:
89c4a3a6 sago007 2008-08-29 14:32 54
        int x,y,width,height;
89c4a3a6 sago007 2008-08-29 14:32 55
        SDL_Surface *label;
89c4a3a6 sago007 2008-08-29 14:32 56
    
89c4a3a6 sago007 2008-08-29 14:32 57
    aButton()
89c4a3a6 sago007 2008-08-29 14:32 58
    {
89c4a3a6 sago007 2008-08-29 14:32 59
    }
89c4a3a6 sago007 2008-08-29 14:32 60
    
89c4a3a6 sago007 2008-08-29 14:32 61
    aButton(int x,int y,SDL_Surface *ss)
89c4a3a6 sago007 2008-08-29 14:32 62
    {
89c4a3a6 sago007 2008-08-29 14:32 63
        this->x = x;
89c4a3a6 sago007 2008-08-29 14:32 64
        this->y = y;
89c4a3a6 sago007 2008-08-29 14:32 65
        this->label = ss;
89c4a3a6 sago007 2008-08-29 14:32 66
        width = this->label->w;
89c4a3a6 sago007 2008-08-29 14:32 67
        height = this->label->h;
89c4a3a6 sago007 2008-08-29 14:32 68
    }
89c4a3a6 sago007 2008-08-29 14:32 69
    
89c4a3a6 sago007 2008-08-29 14:32 70
    void draw();
89c4a3a6 sago007 2008-08-29 14:32 71
    
89c4a3a6 sago007 2008-08-29 14:32 72
    //Function to check if the button is clicked.
89c4a3a6 sago007 2008-08-29 14:32 73
    bool clicked(int x, int y)
89c4a3a6 sago007 2008-08-29 14:32 74
    {
89c4a3a6 sago007 2008-08-29 14:32 75
        if((x>=this->x)&&(x<=this->x+width)&&(y>=this->y)&&(y<=this->y+height))
89c4a3a6 sago007 2008-08-29 14:32 76
            return true;
89c4a3a6 sago007 2008-08-29 14:32 77
        else
89c4a3a6 sago007 2008-08-29 14:32 78
            return false;
89c4a3a6 sago007 2008-08-29 14:32 79
    }
89c4a3a6 sago007 2008-08-29 14:32 80
    
89c4a3a6 sago007 2008-08-29 14:32 81
    void click(int x, int y);
89c4a3a6 sago007 2008-08-29 14:32 82
};
89c4a3a6 sago007 2008-08-29 14:32 83
89c4a3a6 sago007 2008-08-29 14:32 84
const int numberOfButtons = 14;
89c4a3a6 sago007 2008-08-29 14:32 85
89c4a3a6 sago007 2008-08-29 14:32 86
//The editor itself...
89c4a3a6 sago007 2008-08-29 14:32 87
class theEditor
89c4a3a6 sago007 2008-08-29 14:32 88
{
89c4a3a6 sago007 2008-08-29 14:32 89
      private:
89c4a3a6 sago007 2008-08-29 14:32 90
      vector<aButton> buttons;	
89c4a3a6 sago007 2008-08-29 14:32 91
      
89c4a3a6 sago007 2008-08-29 14:32 92
      
89c4a3a6 sago007 2008-08-29 14:32 93
      public:
89c4a3a6 sago007 2008-08-29 14:32 94
      
89c4a3a6 sago007 2008-08-29 14:32 95
      theEditor();
89c4a3a6 sago007 2008-08-29 14:32 96
             
1f61db96 sago007 2010-11-15 20:12 97
      virtual void drawButtons();
89c4a3a6 sago007 2008-08-29 14:32 98
      
1f61db96 sago007 2010-11-15 20:12 99
      virtual void click(int x, int y);
89c4a3a6 sago007 2008-08-29 14:32 100
      
89c4a3a6 sago007 2008-08-29 14:32 101
};
1970-01-01 00:00 102