#ifndef EDITOR_H #define EDITOR_H #include #include "Level.h" #include "InputMenu.h" using namespace std; void fileNew(); void fileOpen(); void fileSave(); void fileSaveAs(); void fileRevert(); void fileViewFileName(); void fileExit(); void editUndo(); void editRedo(); void editCut(); void editCopy(); void editPaste(); void editSelectAll(); void insertWall(); void insertDot(); void insertEnergy(); void insertStart(); void levelSetEnemyRoute(); void levelEditEnemyRoute(); void levelSetBonusRoute(); void levelEditBonusRoute(); void levelSetEnergyLifespan(); void toolsHSymmetry(); void toolsVSymmetry(); void toolsHFlip(); void toolsVFlip(); void initializeEditor(); void findSelectionEdges(int *leftPointer, int *rightPointer, int *topPointer, int *bottomPointer); void prepareToGetDirty(); void note(const char *msg); char* promptText(const char *prompt); int promptMenu(const char *prompt, int length, const char **command, const int *acceleratorKey); bool saveChanges(bool promptForFileName); bool discardChanges(bool promptForFileName); bool askAboutSavingChanges(); bool safe(int x, int y); bool symmetrySafe(int x, int y); void safeSetTile(int x, int y, tile value); void setTile(int x, int y, tile value); void safeSymmetrySetTile(int x, int y, tile value); void symmetrySetTile(int x, int y, tile value); void symmetryHLine(BITMAP *canvas, int x1, int y, int x2, int color); void symmetryVLine(BITMAP *canvas, int x, int y1, int y2, int color); void symmetryRectFill(BITMAP *canvas, int x1, int y1, int x2, int y2, int color); void safeSymmetryGridFlood(tile value); void drawSelection(BITMAP *canvas, int leftEdge, int rightEdge, int topEdge, int bottomEdge); void drawControls(); bool respondToMouse(); bool respondToKeyStroke(); bool editRoute(int initX, int initY, vector route, bool enemyRoute); void edit(Level *userLevel, const char *fn); #endif