Text.h
上传用户:lctgjx
上传日期:2022-06-04
资源大小:8887k
文件大小:8k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /* $Xorg: Text.h,v 1.4 2001/02/09 02:03:46 xorgcvs Exp $ */
  2. /***********************************************************
  3. Copyright 1987, 1988, 1994, 1998  The Open Group
  4. Permission to use, copy, modify, distribute, and sell this software and its
  5. documentation for any purpose is hereby granted without fee, provided that
  6. the above copyright notice appear in all copies and that both that
  7. copyright notice and this permission notice appear in supporting
  8. documentation.
  9. The above copyright notice and this permission notice shall be included in
  10. all copies or substantial portions of the Software.
  11. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  12. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  13. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  14. OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  15. AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  16. CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  17. Except as contained in this notice, the name of The Open Group shall not be
  18. used in advertising or otherwise to promote the sale, use or other dealings
  19. in this Software without prior written authorization from The Open Group.
  20. Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
  21.                         All Rights Reserved
  22. Permission to use, copy, modify, and distribute this software and its 
  23. documentation for any purpose and without fee is hereby granted, 
  24. provided that the above copyright notice appear in all copies and that
  25. both that copyright notice and this permission notice appear in 
  26. supporting documentation, and that the name of Digital not be
  27. used in advertising or publicity pertaining to distribution of the
  28. software without specific, written prior permission.  
  29. DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  30. ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  31. DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  32. ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  33. WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  34. ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  35. SOFTWARE.
  36. ******************************************************************/
  37. /* $XFree86: xc/lib/Xaw/Text.h,v 1.14 2001/01/17 19:42:34 dawes Exp $ */
  38. #ifndef _XawText_h
  39. #define _XawText_h
  40. #include <X11/Xaw/Simple.h>
  41. /*
  42.  Class:  textWidgetClass
  43.  Class Name: Text
  44.  Superclass: Simple
  45.  Resources added by the Text widget:
  46.  Name      Class      RepType Default Value
  47.  ----      -----      ------- -------------
  48.  autoFill     AutoFill      Boolean False
  49.  bottomMargin     Margin      Position 2
  50.  displayPosition    TextPosition     XawTextPosition 0
  51.  insertPosition     TextPosition     XawTextPosition 0
  52.  justify     JustifyMode      JustifyMode left
  53.  leftColumn     Column      Column 0
  54.  rightColumn     Column      Column 0
  55.  leftMargin     Margin      Position 2
  56.  rightMargin     Margin      Position 4
  57.  positionCallback   Callback      Callback NULL
  58.  scrollHorizontal   Scroll      Boolean False
  59.  scrollVertical     Scroll      Boolean False
  60.  selectTypes        SelectTypes      Pointer            see documentation
  61.  textSink     TextSink      Widget NULL
  62.  textSource     TextSource      Widget NULL
  63.  topMargin     Margin      Position 2
  64.  unrealizeCallback  Callback      Callback NULL
  65.  wrap     Wrap      XawTextWrapMode XawTextWrapNever
  66. */
  67. typedef long XawTextPosition;
  68. #ifndef notdef
  69. typedef enum {
  70.   XawtextScrollNever,
  71.   XawtextScrollWhenNeeded,
  72.   XawtextScrollAlways
  73. } XawTextScrollMode;
  74. typedef enum {
  75.   XawtextResizeNever,
  76.   XawtextResizeWidth,
  77.   XawtextResizeHeight,
  78.   XawtextResizeBoth
  79. } XawTextResizeMode;
  80. #endif
  81. typedef enum {
  82.   XawtextWrapNever,
  83.   XawtextWrapLine,
  84.   XawtextWrapWord
  85. } XawTextWrapMode;
  86. typedef enum {
  87.   XawsdLeft,
  88.   XawsdRight
  89. } XawTextScanDirection;
  90. typedef enum {
  91.   XawtextRead,
  92.   XawtextAppend,
  93.   XawtextEdit
  94. } XawTextEditType;
  95. typedef enum {
  96.   XawselectNull,
  97.   XawselectPosition,
  98.   XawselectChar,
  99.   XawselectWord,
  100.   XawselectLine,
  101.   XawselectParagraph,
  102.   XawselectAll,
  103.   XawselectAlphaNumeric
  104. } XawTextSelectType;
  105. typedef enum {
  106.     XawjustifyLeft,
  107.     XawjustifyRight,
  108.     XawjustifyCenter,
  109.     XawjustifyFull
  110. } XawTextJustifyMode;
  111. typedef struct {
  112.     int  firstPos;
  113.     int  length;
  114.     char *ptr;
  115.     unsigned long format;
  116. } XawTextBlock, *XawTextBlockPtr;
  117. #ifndef OLDXAW
  118. typedef struct {
  119.     int line_number;
  120.     int column_number;
  121.     XawTextPosition insert_position;
  122.     XawTextPosition last_position;
  123.     Boolean overwrite_mode;
  124. } XawTextPositionInfo;
  125. typedef struct {
  126.     XawTextPosition left, right;
  127.     XawTextBlock *block;
  128. } XawTextPropertyInfo;
  129. typedef struct _XawTextAnchor XawTextAnchor;
  130. typedef struct _XawTextEntity XawTextEntity;
  131. typedef struct _XawTextProperty XawTextProperty;
  132. typedef struct _XawTextPropertyList XawTextPropertyList;
  133. #endif
  134. #include <X11/Xaw/TextSink.h>
  135. #include <X11/Xaw/TextSrc.h>
  136. #define XtEtextScrollNever "never"
  137. #define XtEtextScrollWhenNeeded "whenneeded"
  138. #define XtEtextScrollAlways "always"
  139. #define XtEtextResizeNever "never"
  140. #define XtEtextResizeWidth "width"
  141. #define XtEtextResizeHeight "height"
  142. #define XtEtextResizeBoth "both"
  143. #define XtEtextWrapNever "never"
  144. #define XtEtextWrapLine "line"
  145. #define XtEtextWrapWord "word"
  146. #define XtNautoFill "autoFill"
  147. #define XtNbottomMargin "bottomMargin"
  148. #define XtNdialogHOffset "dialogHOffset"
  149. #define XtNdialogVOffset "dialogVOffset"
  150. #define XtNdisplayCaret "displayCaret"
  151. #define XtNdisplayPosition "displayPosition"
  152. #define XtNleftMargin "leftMargin"
  153. #define XtNrightMargin "rightMargin"
  154. #define XtNpositionCallback "positionCallback"
  155. #define XtNscrollVertical "scrollVertical"
  156. #define XtNscrollHorizontal "scrollHorizontal"
  157. #define XtNselectTypes "selectTypes"
  158. #define XtNtopMargin "topMargin"
  159. #define XtNwrap "wrap"
  160. #define XtCColumn "Column"
  161. #define XtNleftColumn "leftColumn"
  162. #define XtNrightColumn "rightColumn"
  163. #define XtCJustifyMode XtCJustify
  164. #define XtNjustifyMode XtNjustify
  165. #define XtEtextJustifyLeft "left"
  166. #define XtEtextJustifyRight "right"
  167. #define XtEtextJustifyCenter "center"
  168. #define XtEtextJustifyFull "full"
  169. #define XtCAutoFill "AutoFill"
  170. #define XtCSelectTypes "SelectTypes"
  171. #define XtCWrap "Wrap"
  172. #ifndef notdef
  173. #define XtCScroll "Scroll"
  174. #endif
  175. #ifndef _XtStringDefs_h_
  176. #define XtNinsertPosition "insertPosition"
  177. #ifndef notdef
  178. #define XtNresize "resize"
  179. #define XtCResize "Resize"
  180. #endif
  181. #define XtNselection "selection"
  182. #endif
  183. /* return Error code for XawTextSearch */
  184. #define XawTextSearchError      (-12345L)
  185. /* return codes from XawTextReplace */
  186. #define XawReplaceError        -1
  187. #define XawEditDone 0
  188. #define XawEditError 1
  189. #define XawPositionError 2
  190. /* XrmQuark is not unsigned long */
  191. #define XawTextFormat(tw,fmt) ((unsigned long)_XawTextFormat(tw) == (fmt))
  192. extern unsigned long FMT8BIT;
  193. extern unsigned long XawFmt8Bit;
  194. extern unsigned long XawFmtWide;
  195. extern WidgetClass textWidgetClass;
  196. typedef struct _TextClassRec *TextWidgetClass;
  197. typedef struct _TextRec      *TextWidget;
  198. _XFUNCPROTOBEGIN
  199. XrmQuark _XawTextFormat
  200. (
  201.  TextWidget tw
  202.  );
  203. void XawTextDisplay
  204. (
  205.  Widget w
  206.  );
  207. void XawTextEnableRedisplay
  208. (
  209.  Widget w
  210.  );
  211. void XawTextDisableRedisplay
  212. (
  213.  Widget w
  214.  );
  215. void XawTextSetSelectionArray
  216. (
  217.  Widget w,
  218.  XawTextSelectType *sarray
  219.  );
  220. void XawTextGetSelectionPos
  221. (
  222.  Widget w,
  223.  XawTextPosition *begin_return,
  224.  XawTextPosition *end_return
  225.  );
  226. void XawTextSetSource
  227. (
  228.  Widget w,
  229.  Widget source,
  230.  XawTextPosition top
  231.  );
  232. int XawTextReplace
  233. (
  234.  Widget w,
  235.  XawTextPosition start,
  236.  XawTextPosition end,
  237.  XawTextBlock *text
  238.  );
  239. XawTextPosition XawTextTopPosition
  240. (
  241.  Widget w
  242.  );
  243. XawTextPosition XawTextLastPosition
  244. (
  245.  Widget w
  246.  );
  247. void XawTextSetInsertionPoint
  248. (
  249.  Widget w,
  250.  XawTextPosition position
  251.  );
  252. XawTextPosition XawTextGetInsertionPoint
  253. (
  254.  Widget w
  255.  );
  256. void XawTextUnsetSelection
  257. (
  258.  Widget w
  259.  );
  260. void XawTextSetSelection
  261. (
  262.  Widget w,
  263.  XawTextPosition left,
  264.  XawTextPosition right
  265.  );
  266. void XawTextInvalidate
  267. (
  268.  Widget w,
  269.  XawTextPosition from,
  270.  XawTextPosition to
  271. );
  272. Widget XawTextGetSource
  273. (
  274.  Widget w
  275.  );
  276. Widget XawTextGetSink
  277. (
  278.  Widget w
  279.  );
  280. XawTextPosition XawTextSearch
  281. (
  282.  Widget w,
  283. #if NeedWidePrototypes
  284.  int dir,
  285. #else
  286.  XawTextScanDirection dir,
  287. #endif
  288.  XawTextBlock *text
  289.  );
  290. void XawTextDisplayCaret
  291. (
  292.  Widget w,
  293. #if NeedWidePrototypes
  294.  int visible
  295. #else
  296.  Boolean visible
  297. #endif
  298.  );
  299. _XFUNCPROTOEND
  300. /*
  301.  * For R3 compatability only
  302.  */
  303. #include <X11/Xaw/AsciiSrc.h>
  304. #include <X11/Xaw/AsciiSink.h>
  305. #endif /* _XawText_h */