home *** CD-ROM | disk | FTP | other *** search
/ CLIX - Fazer Clix Custa Nix / CLIX-CD.cdr / mac / lib / Mac / TextEdit.xs < prev    next >
Text File  |  1998-04-05  |  9KB  |  579 lines

  1. /* $Header: /home/neeri/MacCVS/MacPerl/perl/ext/Mac/ExtUtils/MakeToolboxModule,v 1.2 1997/11/18 00:52:19 neeri Exp 
  2.  *    Copyright (c) 1997 Matthias Neeracher
  3.  *
  4.  *    You may distribute under the terms of the Perl Artistic License,
  5.  *    as specified in the README file.
  6.  *
  7.  * $Log: MakeToolboxModule,v  Revision 1.2  1997/11/18 00:52:19  neeri
  8.  * MacPerl 5.1.5
  9.  * 
  10.  * Revision 1.1  1997/04/07 20:49:35  neeri
  11.  * Synchronized with MacPerl 5.1.4a1
  12.  * 
  13.  */
  14.  
  15. #define MAC_CONTEXT
  16.  
  17. #include "EXTERN.h"
  18. #include "perl.h"
  19. #include "XSUB.h"
  20. #include <Types.h>
  21. #include <TextEdit.h>
  22.  
  23. MODULE = Mac::TextEdit  PACKAGE = Mac::TextEdit
  24.  
  25. =head2 Types
  26.  
  27. =over 4
  28.  
  29. =item TEHandle
  30.  
  31. A TextEdit record. Fields are:
  32.  
  33.     Rect        destRect;
  34.     Rect        viewRect;
  35.     Rect        selRect;        READ_ONLY
  36.     short       lineHeight;
  37.     short       fontAscent;
  38.     Point       selPoint;       READ_ONLY
  39.     short       selStart;
  40.     short       selEnd;
  41.     short       active;         READ_ONLY
  42.     long        clickTime;      READ_ONLY
  43.     short       clickLoc;       READ_ONLY
  44.     long        caretTime;      READ_ONLY
  45.     short       caretState;     READ_ONLY
  46.     short       just;
  47.     short       teLength;       READ_ONLY
  48.     Handle      hText;          READ_ONLY
  49.     short       clikStuff;
  50.     short       crOnly;
  51.     short       txFont;
  52.     short       txFace;                     /*txFace is unpacked byte*/
  53.     short       txMode;
  54.     short       txSize;
  55.     GrafPtr     inPort;         READ_ONLY
  56.     short       nLines;         READ_ONLY
  57.  
  58. =cut
  59.  
  60. STRUCT ** TEHandle
  61.     Rect        destRect;
  62.     Rect        viewRect;
  63.     Rect        selRect;
  64.         READ_ONLY
  65.     short       lineHeight;
  66.     short       fontAscent;
  67.     Point       selPoint;
  68.         READ_ONLY
  69.     short       selStart;
  70.     short       selEnd;
  71.     short       active;
  72.         READ_ONLY
  73.     long        clickTime;
  74.         READ_ONLY
  75.     short       clickLoc;
  76.         READ_ONLY
  77.     long        caretTime;
  78.         READ_ONLY
  79.     short       caretState;
  80.         READ_ONLY
  81.     short       just;
  82.     short       teLength;
  83.         READ_ONLY
  84.     Handle      hText;
  85.         READ_ONLY
  86.     short       clikStuff;
  87.     short       crOnly;
  88.     short       txFont;
  89.     short       txFace;                     /*txFace is unpacked byte*/
  90.     short       txMode;
  91.     short       txSize;
  92.     GrafPtr     inPort;
  93.         READ_ONLY
  94.     short       nLines;
  95.         READ_ONLY
  96.  
  97. =item TextStyle
  98.  
  99. A record describing a run of text. Fields are.
  100.  
  101.     short           tsFont;                     /*font (family) number*/
  102.     StyleField      tsFace;                     /*character Style*/
  103.     short           tsSize;                     /*size in point*/
  104.     RGBColor        tsColor;                    /*absolute (RGB) color*/
  105.  
  106. =cut
  107.  
  108. STRUCT TextStyle
  109.     short           tsFont;                     /*font (family) number*/
  110.     short           tsFace;                     /*character Style*/
  111.     short           tsSize;                     /*size in point*/
  112.     RGBColor        tsColor;                    /*absolute (RGB) color*/
  113.  
  114. =head2 Functions
  115.  
  116. =over 4
  117.  
  118. =item TEScrapHandle 
  119.  
  120. =cut
  121. Handle
  122. TEScrapHandle()
  123.  
  124.  
  125. =item TEGetScrapLength 
  126.  
  127. =cut
  128. long
  129. TEGetScrapLength()
  130.  
  131.  
  132. =item TENew DESTRECT, VIEWRECT 
  133.  
  134. =cut
  135. TEHandle
  136. TENew(destRect, viewRect)
  137.     Rect &destRect
  138.     Rect &viewRect
  139.  
  140.  
  141. =item TEDispose HTE 
  142.  
  143. =cut
  144. void
  145. TEDispose(hTE)
  146.     TEHandle    hTE
  147.  
  148.  
  149. =item TESetText TEXT, HTE 
  150.  
  151. =cut
  152. void
  153. TESetText(text, hTE)
  154.     SV *        text
  155.     TEHandle    hTE
  156.     CODE:
  157.     {
  158.         STRLEN  length;
  159.         char *  t = SvPV(text, length);
  160.         TESetText(t, length, hTE);
  161.     }
  162.  
  163.  
  164. =item TEGetText HTE 
  165.  
  166. =cut
  167. Handle
  168. TEGetText(hTE)
  169.     TEHandle    hTE
  170.  
  171.  
  172. =item TEIdle HTE 
  173.  
  174. =cut
  175. void
  176. TEIdle(hTE)
  177.     TEHandle    hTE
  178.  
  179.  
  180. =item TESetSelect SELSTART, SELEND, HTE 
  181.  
  182. =cut
  183. void
  184. TESetSelect(selStart, selEnd, hTE)
  185.     long    selStart
  186.     long    selEnd
  187.     TEHandle    hTE
  188.  
  189.  
  190. =item TEActivate HTE 
  191.  
  192. =cut
  193. void
  194. TEActivate(hTE)
  195.     TEHandle    hTE
  196.  
  197.  
  198. =item TEDeactivate HTE 
  199.  
  200. =cut
  201. void
  202. TEDeactivate(hTE)
  203.     TEHandle    hTE
  204.  
  205.  
  206. =item TEKey KEY, HTE 
  207.  
  208. =cut
  209. void
  210. TEKey(key, hTE)
  211.     char        key
  212.     TEHandle    hTE
  213.  
  214.  
  215. =item TECut HTE 
  216.  
  217. =cut
  218. void
  219. TECut(hTE)
  220.     TEHandle    hTE
  221.  
  222.  
  223. =item TECopy HTE 
  224.  
  225. =cut
  226. void
  227. TECopy(hTE)
  228.     TEHandle    hTE
  229.  
  230.  
  231. =item TEPaste HTE 
  232.  
  233. =cut
  234. void
  235. TEPaste(hTE)
  236.     TEHandle    hTE
  237.  
  238.  
  239. =item TEDelete HTE 
  240.  
  241. =cut
  242. void
  243. TEDelete(hTE)
  244.     TEHandle    hTE
  245.  
  246.  
  247. =item TEInsert TEXT, HTE 
  248.  
  249. =cut
  250. void
  251. TEInsert(text, hTE)
  252.     SV *        text
  253.     TEHandle    hTE
  254.     CODE:
  255.     {
  256.         STRLEN  length;
  257.         char *  t = SvPV(text, length);
  258.         TEInsert(t, length, hTE);
  259.     }
  260.  
  261.  
  262. =item TESetAlignment JUST, HTE 
  263.  
  264. =cut
  265. void
  266. TESetAlignment(just, hTE)
  267.     short       just
  268.     TEHandle    hTE
  269.  
  270.  
  271. =item TEUpdate RUPDATE, HTE 
  272.  
  273. =cut
  274. void
  275. TEUpdate(rUpdate, hTE)
  276.     Rect       &rUpdate
  277.     TEHandle    hTE
  278.  
  279.  
  280. =item TETextBox TEXT, BOX, JUST 
  281.  
  282. =cut
  283. void
  284. TETextBox(text, box, just)
  285.     SV *    text
  286.     Rect   &box
  287.     short   just
  288.     CODE:
  289.     {
  290.         STRLEN  length;
  291.         char *  t = SvPV(text, length);
  292.         TETextBox(t, length, &box, just);
  293.     }
  294.  
  295.  
  296. =item TEScroll DH, DV, HTE 
  297.  
  298. =cut
  299. void
  300. TEScroll(dh, dv, hTE)
  301.     short   dh
  302.     short   dv
  303.     TEHandle    hTE
  304.  
  305.  
  306. =item TESelView HTE 
  307.  
  308. =cut
  309. void
  310. TESelView(hTE)
  311.     TEHandle    hTE
  312.  
  313.  
  314. =item TEPinScroll DH, DV, HTE 
  315.  
  316. =cut
  317. void
  318. TEPinScroll(dh, dv, hTE)
  319.     short   dh
  320.     short   dv
  321.     TEHandle    hTE
  322.  
  323.  
  324. =item TEAutoView FAUTO, HTE 
  325.  
  326. =cut
  327. void
  328. TEAutoView(fAuto, hTE)
  329.     Boolean fAuto
  330.     TEHandle    hTE
  331.  
  332.  
  333. =item TECalText HTE 
  334.  
  335. =cut
  336. void
  337. TECalText(hTE)
  338.     TEHandle    hTE
  339.  
  340.  
  341. =item TEGetOffset PT, HTE 
  342.  
  343. =cut
  344. short
  345. TEGetOffset(pt, hTE)
  346.     Point   pt
  347.     TEHandle    hTE
  348.  
  349.  
  350. =item TEGetPoint OFFSET, HTE 
  351.  
  352. =cut
  353. Point
  354. TEGetPoint(offset, hTE)
  355.     short   offset
  356.     TEHandle    hTE
  357.  
  358.  
  359. =item TEClick PT, FEXTEND, H 
  360.  
  361. =cut
  362. void
  363. TEClick(pt, fExtend, h)
  364.     Point   pt
  365.     Boolean fExtend
  366.     TEHandle    h
  367.  
  368.  
  369. =item TEStyleNew DESTRECT, VIEWRECT 
  370.  
  371. =cut
  372. TEHandle
  373. TEStyleNew(destRect, viewRect)
  374.     Rect &destRect
  375.     Rect &viewRect
  376.  
  377.  
  378. =item TESetStyleHandle THEHANDLE, HTE 
  379.  
  380. =cut
  381. void
  382. TESetStyleHandle(theHandle, hTE)
  383.     TEStyleHandle   theHandle
  384.     TEHandle    hTE
  385.  
  386.  
  387. =item TEGetStyleHandle HTE 
  388.  
  389. =cut
  390. TEStyleHandle
  391. TEGetStyleHandle(hTE)
  392.     TEHandle    hTE
  393.  
  394.  
  395. =item (STYLE, HEIGHT, ASCENT) = TEGetStyle OFFSET, HTE 
  396.  
  397. =cut
  398. void
  399. TEGetStyle(offset, hTE)
  400.     short       offset
  401.     TEHandle    hTE
  402.     PPCODE:
  403.     {
  404.         TextStyle   theStyle;
  405.         short       lineHeight;
  406.         short       fontAscent;
  407.         
  408.         TEGetStyle(offset, &theStyle, &lineHeight, &fontAscent, hTE);
  409.         
  410.         XS_XPUSH(TextStyle, theStyle);
  411.         if (GIMME == G_ARRAY) {
  412.             XS_XPUSH(short, lineHeight);
  413.             XS_XPUSH(short, fontAscent);
  414.         }
  415.     }
  416.  
  417.  
  418. =item TEStylePaste HTE 
  419.  
  420. =cut
  421. void
  422. TEStylePaste(hTE)
  423.     TEHandle    hTE
  424.  
  425.  
  426. =item TESetStyle MODE, NEWSTYLE, FREDRAW, HTE 
  427.  
  428. =cut
  429. void
  430. TESetStyle(mode, newStyle, fRedraw, hTE)
  431.     short       mode
  432.     TextStyle  &newStyle
  433.     Boolean     fRedraw
  434.     TEHandle    hTE
  435.  
  436.  
  437. =item TEReplaceStyle MODE, OLDSTYLE, NEWSTYLE, FREDRAW, HTE 
  438.  
  439. =cut
  440. void
  441. TEReplaceStyle(mode, oldStyle, newStyle, fRedraw, hTE)
  442.     short      mode
  443.     TextStyle &oldStyle
  444.     TextStyle &newStyle
  445.     Boolean    fRedraw
  446.     TEHandle   hTE
  447.  
  448.  
  449. =item TEGetStyleScrapHandle HTE 
  450.  
  451. =cut
  452. StScrpHandle
  453. TEGetStyleScrapHandle(hTE)
  454.     TEHandle    hTE
  455.  
  456.  
  457. =item TEStyleInsert TEXT, HST, HTE 
  458.  
  459. =cut
  460. void
  461. TEStyleInsert(text, hST, hTE)
  462.     SV *            text
  463.     StScrpHandle    hST
  464.     TEHandle        hTE
  465.     CODE:
  466.     {
  467.         STRLEN  length;
  468.         char *  t = SvPV(text, length);
  469.         TEStyleInsert(t, length, hST, hTE);
  470.     }
  471.  
  472.  
  473. =item TEGetHeight ENDLINE, STARTLINE, HTE 
  474.  
  475. =cut
  476. long
  477. TEGetHeight(endLine, startLine, hTE)
  478.     long    endLine
  479.     long    startLine
  480.     TEHandle    hTE
  481.  
  482.  
  483. =item (MODE, STYLE) = TEContinuousStyle MODE, HTE 
  484.  
  485. =cut
  486. void
  487. TEContinuousStyle(mode, hTE)
  488.     short       mode
  489.     TEHandle    hTE
  490.     PPCODE:
  491.     {
  492.         TextStyle   aStyle;
  493.         
  494.         TEContinuousStyle(&mode, &aStyle, hTE);
  495.         XS_PUSH(short, mode);
  496.         if (GIMME == G_ARRAY) {
  497.             XS_XPUSH(TextStyle, aStyle);
  498.         }
  499.     }
  500.         
  501.  
  502.  
  503. =item TEUseStyleScrap RANGESTART, RANGEEND, NEWSTYLES, FREDRAW, HTE 
  504.  
  505. =cut
  506. void
  507. TEUseStyleScrap(rangeStart, rangeEnd, newStyles, fRedraw, hTE)
  508.     long    rangeStart
  509.     long    rangeEnd
  510.     StScrpHandle    newStyles
  511.     Boolean fRedraw
  512.     TEHandle    hTE
  513.  
  514.  
  515. =item TENumStyles RANGESTART, RANGEEND, HTE 
  516.  
  517. =cut
  518. long
  519. TENumStyles(rangeStart, rangeEnd, hTE)
  520.     long    rangeStart
  521.     long    rangeEnd
  522.     TEHandle    hTE
  523.  
  524.  
  525. =item TEFeatureFlag FEATURE, ACTION, HTE 
  526.  
  527. =cut
  528. short
  529. TEFeatureFlag(feature, action, hTE)
  530.     short   feature
  531.     short   action
  532.     TEHandle    hTE
  533.  
  534.  
  535. =item TESetScrapLength LENGTH 
  536.  
  537. =cut
  538. void
  539. TESetScrapLength(length)
  540.     long    length
  541.  
  542.  
  543. =item TEFromScrap 
  544.  
  545. =cut
  546. MacOSRet
  547. TEFromScrap()
  548.  
  549.  
  550. =item TEToScrap 
  551.  
  552. =cut
  553. MacOSRet
  554. TEToScrap()
  555.  
  556. =begin ignore
  557.  
  558. void
  559. TECustomHook(which, addr, hTE)
  560.     TEIntHook   which
  561.     UniversalProcPtr *  addr
  562.     TEHandle    hTE
  563.  
  564. void
  565. TESetClickLoop(clikProc, hTE)
  566.     TEClickLoopUPP  clikProc
  567.     TEHandle    hTE
  568.  
  569. void
  570. TESetWordBreak(wBrkProc, hTE)
  571.     WordBreakUPP    wBrkProc
  572.     TEHandle    hTE
  573.  
  574. =end ignore
  575.  
  576. =back
  577.  
  578. =cut
  579.