/* editorMain.cpp Copyright (C) 2007 Poul Sander 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 Poul Sander Rævehøjvej 36, V. 1111 2800 Kgs. Lyngby DENMARK blockattack@poulsander.com */ #include "editorMain.hpp" EditorInterface ei; //How to write! inline void DrawIMG(SDL_Surface *img, SDL_Surface *target, int x, int y) { SDL_Rect dest; dest.x = x; dest.y = y; SDL_BlitSurface(img, NULL, target, &dest); } class createFileButton : public aButton { public: createFileButton() { aButton::aButton(100,100,bCreateFile); } void click(int x,int y) { if(clicked(x,y)) { ei.newBoard(); } } }; class deletePuzzleButton : public aButton { public: deletePuzzleButton() { aButton::aButton(240,100,bDeletePuzzle); } void click(int x,int y) { if(clicked(x,y)) { ei.deleteBoard(); } } }; class loadFileButton : public aButton { public: loadFileButton() { aButton::aButton(240,100,bLoadFile); } void click(int x,int y) { if(clicked(x,y)) { //Thing to load file! } } }; class moveBackButton : public aButton { public: moveBackButton() { aButton::aButton(240,100,bMoveBack); } void click(int x,int y) { if(clicked(x,y)) { ei.moveBoardBack(); } } }; class moveDownButton : public aButton { public: moveDownButton() { aButton::aButton(240,100,bMoveDown); } void click(int x,int y) { if(clicked(x,y)) { if(ei.getNumberOfMoves()>0) ei.setNumberOfMoves(ei.getNumberOfMoves()-1); } } }; theEditor::theEditor() { //This is the constructor createFileButton cb; buttons.push_back(cb); deletePuzzleButton dpb; buttons.push_back(dpb); } void theEditor::drawButtons() { for(int i = 0;idraw(); } } void aButton::click(int x, int y) { cout << "Error: aButtons's click command was executed!" << endl; } void aButton::draw() { DrawIMG(label,screen,x,y); } void theEditor::click(int x, int y) { for(int i = 0;iclick(x,y); } }