1/* 2 * Author: William Chia-Wei Cheng (bill.cheng@acm.org) 3 * 4 * Copyright (C) 2001-2009, William Chia-Wei Cheng. 5 * 6 * This file may be distributed under the terms of the Q Public License 7 * as defined by Trolltech AS of Norway and appearing in the file 8 * LICENSE.QPL included in the packaging of this file. 9 * 10 * THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING 11 * THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 12 * PURPOSE. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, 13 * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING 14 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, 15 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION 16 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 * 18 * @(#)$Header: /mm2/home/cvs/bc-src/tgif/cmd.e,v 1.7 2011/05/16 16:21:56 william Exp $ 19 */ 20 21#ifndef _CMD_E_ 22#define _CMD_E_ 23 24extern int recordCmdIncludeTgifObj; 25extern int recordCmdUsesNewColormap; 26extern int undoingOrRedoing; 27extern int historyDepth, historyCount, defaultHistoryDepth; 28extern struct CmdRec *firstCmd, *lastCmd, *curCmd; 29 30extern struct SelRec *topSelBeforeInCmd, *botSelBeforeInCmd; 31extern int *stackingPosition; 32extern int stackingCount; 33extern int stackingPositionHasIds; 34 35extern int composingCommand; 36extern int undoRedoRestoreDrawingMode; 37extern Colormap preparedColormap; 38 39#ifdef _INCLUDE_FROM_CMD_C_ 40#undef extern 41#define extern 42#endif /*_INCLUDE_FROM_CMD_C_*/ 43 44extern void InsertCmd ARGS_DECL((struct CmdRec *PrevCmd, 45 struct CmdRec *NextCmd, 46 struct CmdRec *CmdPtr, 47 struct CmdRec **ppFirstCmd, 48 struct CmdRec **ppLastCmd)); 49extern void CopyAndInsertCmd ARGS_DECL((int from_remote, 50 char *serialization_buf, 51 struct CmdRec *PrevCmd, 52 struct CmdRec *NextCmd, 53 struct CmdRec *CmdPtr, 54 struct CmdRec **ppFirstCmd, 55 struct CmdRec **ppLastCmd)); 56extern void DeleteARedoRecord ARGS_DECL((struct CmdRec *, double PercStart, 57 double PercEnd)); 58extern void ClearRedoRecords ARGS_DECL((struct CmdRec *)); 59extern void CleanUpCmds ARGS_DECL((void)); 60extern void CopySel ARGS_DECL((struct SelRec *FromTopSel, int Count, 61 struct SelRec **ToTopSel, 62 struct SelRec **ToBotSel)); 63extern void UndoACmd ARGS_DECL((struct CmdRec *CmdPtr, int HighLight, 64 int PerformAction)); 65extern void UndoCmd ARGS_DECL((void)); 66extern int RedoACmd ARGS_DECL((struct CmdRec *CmdPtr, int HighLight, 67 int PerformAction)); 68extern void RedoCmd ARGS_DECL((void)); 69extern void StartCompositeCmd ARGS_DECL((void)); 70extern void EndCompositeCmd ARGS_DECL((void)); 71extern void RestoreDefaultHistoryDepth ARGS_DECL((void)); 72extern void DisableUndo ARGS_DECL((void)); 73extern void EnableUndo ARGS_DECL((void)); 74extern struct SelRec * PrepareStackingInfo ARGS_DECL(( 75 struct SelRec *TopSel, 76 struct SelRec *BotSel, 77 int NumObjs, 78 int PreparePhase, 79 int **ppnStackingPosition, 80 int *pnStackingCount, 81 int *pnStackingPositionHasIds)); 82extern void PrepareToRecord ARGS_DECL((int, struct SelRec *Top, 83 struct SelRec *Bot, int NumObjs)); 84extern void FreeAfterSel ARGS_DECL((struct CmdRec *)); 85extern void RecordCmd ARGS_DECL((int, struct SubCmdRec *, 86 struct SelRec *Top, struct SelRec *Bot, 87 int NumObjs)); 88extern void AbortPrepareCmd ARGS_DECL((int CmdType)); 89extern void RecordNewObjCmd ARGS_DECL((void)); 90extern void PrepareToReplaceAnObj ARGS_DECL((struct ObjRec *)); 91extern void RecordReplaceAnObj ARGS_DECL((struct ObjRec *)); 92extern void ChangeReplaceOneCmdToDeleteCmd ARGS_DECL((void)); 93extern void RecordWBClearAll ARGS_DECL((void)); 94extern void RecordWBSlideShow ARGS_DECL((int nIntoSlideShow)); 95extern void RecordWBChatALine ARGS_DECL((struct SubCmdRec *)); 96 97#ifdef _INCLUDE_FROM_CMD_C_ 98#undef extern 99#ifndef _NO_RECURSIVE_EXTERN 100#define extern extern 101#endif /* ~_NO_RECURSIVE_EXTERN */ 102#endif /*_INCLUDE_FROM_CMD_C_*/ 103 104#endif /*_CMD_E_*/ 105