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/auxtext.e,v 1.7 2011/05/16 16:21:56 william Exp $ 19 */ 20 21#ifndef _AUXTEXT_E_ 22#define _AUXTEXT_E_ 23 24extern GC rotateGC; 25extern Pixmap textBackingBitmap; 26extern Pixmap textBackingBgBitmap; 27extern Pixmap textBackingPixmap; 28extern int textBackingBitmapW; 29extern int textBackingBitmapH; 30extern int doubleQuoteDoubleQuote; 31extern int groupedTextEditable; 32 33extern struct SelRec * outerSel, * innerSel; 34 35#ifdef _INCLUDE_FROM_AUXTEXT_C_ 36#undef extern 37#define extern 38#endif /*_INCLUDE_FROM_AUXTEXT_C_*/ 39 40extern void GetStrSizeInfo ARGS_DECL((struct DynStrRec *, int *w, 41 int *lbearing, int *rbearing)); 42extern int GetNumberOfMiniLines ARGS_DECL((MiniLinesInfo*)); 43extern int IsHex ARGS_DECL((char, int*)); 44extern int InputOctalString ARGS_DECL((char *pszBuf, int *pnBufSize)); 45extern int CharIsCntrlINS ARGS_DECL((XKeyEvent*, KeySym)); 46extern int CharIsShiftINS ARGS_DECL((XKeyEvent*, KeySym)); 47extern int CharIsCntrlShiftINS ARGS_DECL((XKeyEvent*, KeySym)); 48extern int CharIsESC ARGS_DECL((XKeyEvent*, char*, KeySym, int *pnHasCh)); 49extern int CharIsCRorLF ARGS_DECL((XKeyEvent*, char*, KeySym, 50 int *pnHasCh)); 51extern int CharIsDEL ARGS_DECL((XKeyEvent*, char*, KeySym, int *pnHasCh)); 52extern int CharIsBS ARGS_DECL((XKeyEvent*, char*, KeySym, int *pnHasCh, 53 int LeftIsBS)); 54extern int CharIsBSorDEL ARGS_DECL((XKeyEvent*, char*, KeySym, 55 int *pnHasCh, int LeftIsBS)); 56extern int CharIsTAB ARGS_DECL((XKeyEvent*, char*, KeySym, int *pnHasCh)); 57extern int CharIsHome ARGS_DECL((XKeyEvent*, char*, KeySym, int *pnHasCh)); 58extern int CharIsEnd ARGS_DECL((XKeyEvent*, char*, KeySym, int *pnHasCh)); 59extern int CharIsCntrlSpace ARGS_DECL((XKeyEvent*, char*, KeySym, 60 int *pnHasCh)); 61extern void TranslateKeys ARGS_DECL((char *, KeySym *)); 62extern void SetTextOBBox ARGS_DECL((struct ObjRec *, int Just, 63 int W, int H, int LBearing, 64 int RightExtra, int Rotate)); 65extern void SetTextBBox ARGS_DECL((struct ObjRec *, int Just, 66 int W, int H, int LBearing, 67 int RightExtra, int Rotate)); 68extern void SetTextOrigBBoxes ARGS_DECL((struct ObjRec *, int Just, 69 int W, int H, int LBearing, 70 int RightExtra, int Rotate)); 71extern int UpdTextBBox ARGS_DECL((struct ObjRec *)); 72extern int PixelOnOff ARGS_DECL((XImage *, int Col, int Row, int Scale)); 73extern void MakeCachedTextBitmap ARGS_DECL((struct ObjRec *)); 74extern void CleanOuterInnerSel ARGS_DECL((void)); 75extern void UpdateOuterInnerSel ARGS_DECL((struct ObjRec *)); 76extern struct ObjRec * FindTextObj ARGS_DECL((int XOff, int YOff, 77 struct ObjRec *ObjToBeFound)); 78extern void UnlinkCurTextFromInnerSel ARGS_DECL((void)); 79extern void AdjAncestorsBBox ARGS_DECL((void)); 80extern void DumpTextObj ARGS_DECL((FILE *, struct ObjRec *)); 81extern int NeedToCacheMiniLines ARGS_DECL((MiniLinesInfo*)); 82extern int NeedsToCacheTextObj ARGS_DECL((struct ObjRec *)); 83extern void SaveString ARGS_DECL((FILE *, char *)); 84extern void SaveDoubleByteString ARGS_DECL((FILE *, char *)); 85extern void SaveMiniLines ARGS_DECL((FILE*, MiniLinesInfo*)); 86extern void CombineOverUnderYOffsets ARGS_DECL((int underline_y_offset, 87 int overline_y_offset, 88 int *pn_combined)); 89extern void UncombineOverUnderYOffsets ARGS_DECL((int combined, 90 int *pn_underline_y_offset, 91 int *pn_overline_y_offset)); 92extern void SaveTextObj ARGS_DECL((FILE *, struct ObjRec *)); 93extern void SaveHexString ARGS_DECL((FILE *, char *)); 94extern char * ReadString ARGS_DECL((char *)); 95extern StrSegInfo * CreateStrSegFromString ARGS_DECL((char*, 96 StrBlockInfo*)); 97extern StrBlockInfo * CreateStrBlockFromString ARGS_DECL((char*, 98 MiniLineInfo*)); 99extern MiniLineInfo * CreateMiniLineFromString ARGS_DECL((char*, 100 MiniLineInfo**, 101 MiniLineInfo**)); 102extern struct ObjRec * FormTextObjectFromFile ARGS_DECL((FILE *, int AbsX, 103 int AbsBaselineY)); 104extern void RepaintFirstStr ARGS_DECL((struct ObjRec *, char *)); 105 106#ifdef _INCLUDE_FROM_AUXTEXT_C_ 107#undef extern 108#ifndef _NO_RECURSIVE_EXTERN 109#define extern extern 110#endif /* ~_NO_RECURSIVE_EXTERN */ 111#endif /*_INCLUDE_FROM_AUXTEXT_C_*/ 112 113#endif /*_AUXTEXT_E_*/ 114