home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / X / mit / doc / CLX / s10.doc < prev    next >
Encoding:
Interleaf document  |  1989-10-18  |  21.5 KB  |  821 lines

  1. <!OPS, Version = 5.2>
  2.  
  3. <!Document,
  4.     Print Rev Bars =    no,
  5.     Final Output Device =    "ps",
  6.     Default Printer =    "nearest-adps">
  7.  
  8. <!Font Definitions,
  9.     F2 = Times 10 Italic,
  10.     F3 = Times 10,
  11.     F4 = Times 8 Italic,
  12.     F5 = Times 18 Bold,
  13.     F6 = Times 18,
  14.     F7 = Times 10 Bold,
  15.     F8 = Times 12 Bold,
  16.     F9 = Symbol_B 8>
  17.  
  18. <!Page,
  19.     Bottom Margin =        1 inches,
  20.     Left Margin =        1 inches,
  21.     Right Margin =        1.15 inches,
  22.     First Page =        Right,
  23.     Starting Page # =    107,
  24.     Page # Prefix =        "10<#1e>",
  25.     Hyphenation =        on,
  26.     Consecutive Hyphens =    2,
  27.     Vert. Just. =        off>
  28.  
  29. <!Autonumber Stream, List, 2,
  30.     Level 2 Suffix =    ,
  31.     Level 2 Starting Value = 0,
  32.     Level 2 Show =        no>
  33.  
  34. <!Autonumber Stream, Outline, 3,
  35.     Level 1 Symbol Type =    UPPER ROMAN,
  36.     Level 2 Symbol Type =    UPPER ALPHA>
  37.  
  38. <!Autonumber Stream, figure, 2,
  39.     Level 1 Prefix =    "Figure ",
  40.     Level 1 Suffix =    "<#1e>",
  41.     Level 1 Show =        no,
  42.     Level 2 Suffix =    ,
  43.     Level 2 Starting Value = 0,
  44.     Level 2 Show =        no>
  45.  
  46. <!Autonumber Stream, figurelet, 2,
  47.     Level 1 Symbol Type =    UPPER ALPHA,
  48.     Level 1 Prefix =    "Figure ",
  49.     Level 1 Suffix =    "<#1e>",
  50.     Level 1 Show =        no,
  51.     Level 2 Suffix =    "<#04>">
  52.  
  53. <!Autonumber Stream, invisible, 1,
  54.     Level 1 Suffix =    ,
  55.     Level 1 Show =        no>
  56.  
  57. <!Autonumber Stream, item, 2,
  58.     Level 2 Symbol Type =    LOWER ALPHA,
  59.     Level 2 Trail =        yes>
  60.  
  61. <!Autonumber Stream, paralet, 4,
  62.     Level 1 Symbol Type =    UPPER ALPHA,
  63.     Level 1 Suffix =    ,
  64.     Level 1 Show =        no,
  65.     Level 2 Prefix =    .,
  66.     Level 2 Suffix =    ,
  67.     Level 3 Prefix =    .,
  68.     Level 3 Suffix =    ,
  69.     Level 4 Prefix =    .,
  70.     Level 4 Suffix =    >
  71.  
  72. <!Autonumber Stream, paranum, 4,
  73.     Level 1 Suffix =    ,
  74.     Level 1 Show =        no,
  75.     Level 2 Prefix =    .,
  76.     Level 2 Suffix =    ,
  77.     Level 3 Prefix =    .,
  78.     Level 3 Suffix =    ,
  79.     Level 4 Prefix =    .,
  80.     Level 4 Suffix =    >
  81.  
  82. <!Autonumber Stream, table, 2,
  83.     Level 1 Prefix =    "Table ",
  84.     Level 1 Suffix =    "<#1e>",
  85.     Level 1 Show =        no,
  86.     Level 2 Suffix =    >
  87.  
  88. <!Autonumber Stream, tablelet, 2,
  89.     Level 1 Symbol Type =    UPPER ALPHA,
  90.     Level 1 Prefix =    "Table ",
  91.     Level 1 Suffix =    "<#1e>",
  92.     Level 1 Show =        no,
  93.     Level 2 Suffix =    "<#04>">
  94.  
  95. <!Class, arg,
  96.     Bottom Margin =        0.08 inches,
  97.     Left Margin =        1.85 inches,
  98.     First Indent =        -0.25 inches,
  99.     Line Spacing =        1.121 lines,
  100.     Font =            F2,
  101.     Left Tab =        -0.25/0 inches>
  102.  
  103. <!Class, bullet,
  104.     Bottom Margin =        0.153 inches,
  105.     Left Margin =        1.85 inches,
  106.     First Indent =        -0.25 inches,
  107.     Line Spacing =        1.121 lines,
  108.     Font =            F3,
  109.     Allow Page Break Within = no,
  110.     Left Tab =        -0.50/0 inches>
  111.  
  112. <!Class, caption,
  113.     Top Margin =        0.07 inches,
  114.     Bottom Margin =        0.07 inches,
  115.     Line Spacing =        1.100 lines,
  116.     Font =            F4>
  117.  
  118. <!Class, fig,
  119.     Top Margin =        0.07 inches,
  120.     Bottom Margin =        0.07 inches,
  121.     Line Spacing =        1.100 lines,
  122.     Alignment =        Left,
  123.     Font =            F5>
  124.  
  125. <!Class, newpage,
  126.     Bottom Margin =        0 inches,
  127.     Line Spacing =        1 lines,
  128.     Alignment =        Left,
  129.     Font =            F6,
  130.     Hyphenation =        off,
  131.     New Page =        yes,
  132.     Left Tab =        >
  133.  
  134. <!Class, p1para,
  135.     Bottom Margin =        0.153 inches,
  136.     Left Margin =        1.60 inches,
  137.     First Indent =        -1.60 inches,
  138.     Line Spacing =        1.121 lines,
  139.     Font =            F7,
  140.     Allow Page Break Within = no,
  141.     Left Tab =        -1.60/-0.17/0 inches>
  142.  
  143. <!Class, p1rule,
  144.     Bottom Margin =        0 inches,
  145.     Line Spacing =        1 lines,
  146.     Font =            F3,
  147.     Hyphenation =        off,
  148.     Allow Page Break After = no,
  149.     Left Tab =        0/0.75*13 inches>
  150.  
  151. <!Class, p1stacked,
  152.     Bottom Margin =        0 inches,
  153.     Left Margin =        1.60 inches,
  154.     First Indent =        -1.60 inches,
  155.     Line Spacing =        1 lines,
  156.     Font =            F7,
  157.     Allow Page Break Within = no,
  158.     Allow Page Break After = no,
  159.     Left Tab =        -1.60/-0.17/0 inches>
  160.  
  161. <!Class, para,
  162.     Bottom Margin =        0.153 inches,
  163.     Left Margin =        1.60 inches,
  164.     Line Spacing =        1.121 lines,
  165.     Font =            F3,
  166.     Allow Page Break Within = no,
  167.     Left Tab =        0/0.75*13 inches>
  168.  
  169. <!Class, return,
  170.     Bottom Margin =        0.077 inches,
  171.     Left Margin =        1.60 inches,
  172.     First Indent =        -0.90 inches,
  173.     Line Spacing =        1.121 lines,
  174.     Alignment =        Left,
  175.     Font =            F7,
  176.     Hyphenation =        off,
  177.     Allow Page Break Within = no,
  178.     Allow Page Break After = no,
  179.     Left Tab =        -0.90/0 inches,
  180.     Right Tab =        7.50 inches>
  181.  
  182. <!Class, secno,
  183.     Top Margin =        0.07 inches,
  184.     Bottom Margin =        0.07 inches,
  185.     Line Spacing =        1.100 lines,
  186.     Alignment =        Left,
  187.     Font =            F5,
  188.     Autonumber Name =    paranum>
  189.  
  190. <!Class, secrule,
  191.     Bottom Margin =        0 inches,
  192.     Line Spacing =        1 lines,
  193.     Font =            F3,
  194.     Hyphenation =        off,
  195.     Allow Page Break After = no,
  196.     Left Tab =        0/0.75*13 inches,
  197.     Autonumber Name =    table>
  198.  
  199. <!Class, sectitle,
  200.     Bottom Margin =        0 inches,
  201.     Line Spacing =        1 lines,
  202.     Alignment =        Right,
  203.     Font =            F5,
  204.     Hyphenation =        off,
  205.     New Page =        yes,
  206.     Left Tab =        0/0.75*13 inches>
  207.  
  208. <!Class, syntax,
  209.     Bottom Margin =        0.077 inches,
  210.     Left Margin =        1.60 inches,
  211.     First Indent =        -0.90 inches,
  212.     Line Spacing =        1.121 lines,
  213.     Alignment =        Left,
  214.     Font =            F7,
  215.     Hyphenation =        off,
  216.     Allow Page Break Within = no,
  217.     Allow Page Break After = no,
  218.     Left Tab =        -0.90/0 inches,
  219.     Right Tab =        8 inches>
  220.  
  221. <!Class, syntax0,
  222.     Bottom Margin =        0 inches,
  223.     Left Margin =        1.60 inches,
  224.     First Indent =        -0.90 inches,
  225.     Line Spacing =        1.121 lines,
  226.     Alignment =        Left,
  227.     Font =            F7,
  228.     Hyphenation =        off,
  229.     Allow Page Break Within = no,
  230.     Allow Page Break After = no,
  231.     Left Tab =        -0.90/0 inches,
  232.     Right Tab =        8 inches>
  233.  
  234. <!Class, "table",
  235.     Top Margin =        0.07 inches,
  236.     Bottom Margin =        0.07 inches,
  237.     Line Spacing =        1.100 lines,
  238.     Font =            F7,
  239.     Autonumber Name =    table>
  240.  
  241. <!Class, title,
  242.     Top Margin =        0.07 inches,
  243.     Bottom Margin =        0.07 inches,
  244.     Line Spacing =        1.100 lines,
  245.     Alignment =        Right,
  246.     Font =            F5,
  247.     TOC Doc Name =        TOC>
  248.  
  249. <!Master Frame,
  250.     Name =            "At Anchor",
  251.     Placement =        At Anchor,
  252.     Width =            0.41 inches,
  253.     Height =        0.137 inches,
  254.     Vertical Alignment =    0.03 inches,
  255.     Diagram =
  256. V4,
  257. (g9,32767,0
  258.  (E10,0,0,0,1,1,0.053333,1,15,0,0,1,0,0,0,1,0,1,1,0.066667,0.066667,6,6,0,0.066
  259.   667,6))>
  260.  
  261. <!Master Frame,
  262.     Name =            p1rule,
  263.     Placement =        At Anchor,
  264.     Width =            6.35 inches,
  265.     Height =        0.153 inches,
  266.     Vertical Alignment =    0.007 inches,
  267.     Shared Contents =    yes,
  268.     Diagram =
  269. V4,
  270. (g9,1,0
  271.  (v4,1,0,0.006667,0.066723,6.326667,0.066611,17,2,0)
  272.  (E10,0,0,0,1,1,0.053333,1,15,0,0,1,0,0,0,0,0,1,1,0.066667,0.066667,6,6,0,0.066
  273.   667,6))>
  274.  
  275. <First Page Header, Frame =
  276. V4,
  277. (g9,0,0
  278.  (E10,0,0,0,1,1,0.053333,1,15,0,0,1,0,0,0,1,1,1,1,0.066667,0.066667,6,6,0,0.066
  279.   667,6))>
  280.  
  281. <Right Page Header, Frame =
  282. V4,
  283. (g9,1,0
  284.  (T8,1,12,4.533333,0.306667,1.8,1,0.333333,0,516,0,17,0,0,0,0,0,0,1,1,2048,512,
  285.   102,1101,2,
  286. <caption,
  287.     Alignment =        Right>
  288.  
  289. Cursors
  290.  
  291. <End Text>)
  292.  (E10,0,0,0,1,0,0.053333,1,15,0,0,1,0,0,0,0,1,0,1,0.066667,0.066667,6,6,0,0.066
  293.   667,6))>
  294.  
  295. <Left Page Header, Frame =
  296. V4,
  297. (g9,1,0
  298.  (T8,1,12,0,0.293333,2.4,1,0.333333,0,516,0,17,0,0,0,0,0,0,1,1,2048,512,102,110
  299.   1,2,
  300. <caption>
  301.  
  302. Cursors
  303.  
  304. <End Text>)
  305.  (E10,0,0,0,1,1,0.053333,1,15,0,0,1,0,0,0,0,1,1,1,0.066667,0.066667,6,6,0,0.066
  306.   667,6))>
  307.  
  308. <Right Page Footer, Frame =
  309. V4,
  310. (g9,1,0
  311.  (t8,1,4,6.333333,0.266667,2,17,@nntimsps10b,\240)
  312.  (t8,2,4,0.006667,0.266667,0,17,@nntimsps8i,CLX\ Programmer's\ Reference)
  313.  (v4,3,0,0,0.066667,6.333333,0.066554,17,2,0)
  314.  (E10,0,0,0,1,1,0.053333,1,15,0,0,1,0,0,0,0,1,1,1,0.066667,0.066667,6,6,0,0.066
  315.   667,6))>
  316.  
  317. <Left Page Footer, Frame =
  318. V4,
  319. (g9,1,0
  320.  (t8,1,4,0,0.266667,0,17,@nntimsps10b,\240)
  321.  (t8,2,4,6.333333,0.266667,2,17,@nntimsps8i,CLX\ Programmer's\ Reference)
  322.  (v4,3,0,0.026667,0.066667,6.333333,0.066554,17,2,0)
  323.  (E10,0,0,0,1,0,0.053333,1,15,0,0,1,0,0,0,0,1,0,1,0.066667,0.066667,6,6,0,0.066
  324.   667,6))>
  325.  
  326. <sectitle,
  327.     Allow Page Break Within = no,
  328.     Allow Page Break After = no>
  329.  
  330. <|,"10<#1e>107">
  331. <Frame,
  332.     Name =            "At Anchor",
  333.     Placement =        At Anchor,
  334.     Width =            4.72 inches,
  335.     Height =        0.94 inches,
  336.     Vertical Alignment =    0.03 inches,
  337.     Diagram =
  338. V4,
  339. (g9,1,0
  340.  (T8,1,12,0.133333,0.72,4.563333,1,0.333333,0,516,0,17,0,0,0,0,0,0,1,1,2048,512
  341.   ,102,1101,3,
  342. <title>
  343.  
  344. CURSORS
  345.  
  346. <End Text>)
  347.  (E10,0,0,0,1,0,0.053333,1,15,0,0,1,0,0,0,0,1,0,1,0.066667,0.066667,6,6,0,0.066
  348.   667,6))>
  349. <Frame,
  350.     Name =            "At Anchor",
  351.     Placement =        At Anchor,
  352.     Width =            1.626 inches,
  353.     Height =        0.938 inches,
  354.     Vertical Alignment =    0 inches,
  355.     Diagram =
  356. V4,
  357. (g9,1,0
  358.  (T8,1,12,0.066667,0.276667,0,1,0.333333,0,516,0,17,0,0,0,0,0,0,1,1,2048,512,10
  359.   2,1101,3,
  360. <secno,
  361.     TOC Doc Name =        TOC>
  362.  
  363. <Autonum, paranum, 1, First = Yes>
  364.  
  365. <End Text>)
  366.  (T8,2,12,0.026667,0.733333,0,1,0.333333,0,516,0,17,0,0,0,0,0,0,1,1,2048,512,10
  367.   2,1101,3,
  368. <"table">
  369.  
  370. <Autonum, table, 1, First = Yes>
  371.  
  372. <End Text>)
  373.  (T8,3,12,0.066667,0.6,0,1,0.333333,0,516,0,17,0,0,0,0,0,0,1,1,2048,512,102,110
  374.   1,3,
  375. <fig,
  376.     Alignment =        Both,
  377.     Font =            F7,
  378.     Autonumber Name =    figure>
  379.  
  380. <Autonum, figure, 1, First = Yes>
  381.  
  382. <End Text>)
  383.  (g9,5,0
  384.    (p7,5,8,19
  385.      (g9,5,0
  386.        (g9,5,0
  387.          (v4,5,0,0.266667,0,1.6,0,17,1,0)
  388.          (v4,6,0,1.6,0,1.6,0.933333,17,1,0)
  389.          (v4,7,0,1.6,0.933333,0.266667,0.933333,17,1,0)
  390.          (v4,8,0,0.266667,0.933333,0.266667,0,17,1,0))))
  391.    (g9,10,8
  392.      (g9,10,1032
  393.        (p7,10,8,13
  394.          (g9,10,0
  395.            (g9,10,0
  396.              (v4,10,0,1.375614,0.934817,1.484035,0.822222,17,1,0)
  397.              (v4,11,0,1.484035,0.822222,1.484035,0.259258,17,1,0)
  398.              (v4,12,0,1.484035,0.259258,1.375614,0.146667,17,1,0)
  399.              (v4,13,0,1.375614,0.146667,1.122632,0.146667,17,1,0)
  400.              (v4,14,32,1.122632,0.146667,1.176842,0.296786,17,0,0)
  401.              (v4,15,0,1.176842,0.296786,1.321403,0.296786,17,1,0)
  402.              (v4,16,0,1.321403,0.296786,1.321403,0.784693,17,1,0)
  403.              (v4,17,0,1.321403,0.784693,1.176842,0.784693,17,1,0)
  404.              (v4,18,32,1.176842,0.784693,1.122632,0.934817,17,0,0)
  405.              (v4,19,0,1.122632,0.934817,1.375614,0.934817,17,1,0))))
  406.        (p7,21,8,13
  407.          (g9,21,0
  408.            (g9,21,0
  409.              (v4,21,32,1.122632,0.934817,1.176842,0.784693,17,0,0)
  410.              (v4,22,0,1.176842,0.784693,1.176842,0.296786,17,1,0)
  411.              (v4,23,32,1.176842,0.296786,1.122632,0.146667,17,0,0)
  412.              (v4,24,0,1.122632,0.146667,1.014211,0.259258,17,1,0)
  413.              (v4,25,0,1.014211,0.259258,1.014211,0.822222,17,1,0)
  414.              (v4,26,0,1.014211,0.822222,1.122632,0.934817,17,1,0)))))
  415.      (g9,27,2048
  416.        (v4,27,33,0.96,1.160001,0.96,1.160001,17,0,0)
  417.        (v4,28,33,0.96,0.146667,0.96,0.146667,17,0,0)
  418.        (v4,29,33,1.538245,0.146667,1.538245,0.146667,17,0,0)
  419.        (v4,30,33,1.538245,1.160001,1.538245,1.160001,17,0,0)))
  420.    (g9,32,8
  421.      (p7,32,1032,13
  422.        (g9,32,0
  423.          (g9,32,0
  424.            (v4,32,0,0.914386,0.934813,0.914386,0.146667,17,1,0)
  425.            (v4,33,0,0.914386,0.146667,0.769824,0.146667,17,1,0)
  426.            (v4,34,0,0.769824,0.146667,0.625263,0.296789,17,1,0)
  427.            (v4,35,0,0.625263,0.296789,0.625263,0.371848,17,1,0)
  428.            (v4,36,0,0.625263,0.371848,0.751755,0.371848,17,1,0)
  429.            (v4,37,0,0.751755,0.371848,0.751755,0.934813,17,1,0)
  430.            (v4,38,0,0.751755,0.934813,0.914386,0.934813,17,1,0))))
  431.      (g9,39,2048
  432.        (v4,39,33,0.607192,0.146667,0.607192,0.146667,17,0,0)
  433.        (v4,40,33,0.607192,1.159997,0.607192,1.159997,17,0,0)
  434.        (v4,41,33,0.986667,1.159997,0.986667,1.159997,17,0,0)
  435.        (v4,42,33,0.986667,0.146667,0.986667,0.146667,17,0,0))))
  436.  (E10,0,0,0,1,1,0.053333,1,15,0,0,1,0,0,0,0,1,1,1,0.066667,0.066667,6,6,0,0.066
  437.   667,6))>
  438.  
  439. <secrule,
  440.     Allow Page Break Within = no,
  441.     Allow Page Break After = yes,
  442.     Autonumber Name =    >
  443.  
  444. <Index, "cursor", To Named = sectitle>
  445. <Frame,
  446.     Name =            "At Anchor",
  447.     Placement =        At Anchor,
  448.     Width =            6.35 inches,
  449.     Height =        0.153 inches,
  450.     Vertical Alignment =    0.007 inches,
  451.     Diagram =
  452. V4,
  453. (g9,1,0
  454.  (v4,1,0,0.006667,0.066723,6.333333,0.066611,17,2,0)
  455.  (E10,0,0,0,1,1,0.053333,1,15,0,0,1,0,0,0,0,0,1,1,0.066667,0.066667,6,6,0,0.066
  456.   667,6))>
  457.  
  458. <p1para,
  459.     Font =            F3,
  460.     Left Tab =        -1.70/0 inches>
  461.  
  462. <F8>Introduction<Tab><F7>10.1<#04><F0>A <F2>cursor<F0> is a visible 
  463. shape that appears at the current position of<SP>the pointer device. 
  464. The cursor shape moves with the pointer to provide<SP>continuous feedback 
  465. to the user about the current location of the pointer.<SP>Each window 
  466. can have a cursor attribute that defines the appearance of the<SP>pointer 
  467. cursor when the pointer position lies within the window. See <F7>window<#1e>cu
  468. rsor<F0>.
  469.  
  470. <para>
  471.  
  472. A cursor image is composed of a source bitmap, a mask bitmap, a <F2>hot 
  473. spot<F0>, a foreground color, and a background color. Either 1<#1e>bit 
  474. pixmaps or<SP>font glyphs can be used to specify source and mask bitmaps. 
  475. The source<SP>bitmap identifies the foreground and background pixels 
  476. of the cursor image;<SP>the mask bitmap identifies which source pixels 
  477. are actually drawn. The mask<SP>bitmap thus allows a cursor to assume 
  478. any shape. The hot spot defines the<SP>position within the cursor 
  479. image that is displayed at the pointer position.
  480.  
  481. In CLX, a cursor is represented by a <F7>cursor<F0> object. This 
  482. section describes<SP>the CLX functions to:
  483.  
  484. <bullet>
  485.  
  486. <F9>w<Tab><F0>Create and free cursor objects 
  487.  
  488. <F9>w<Tab><F0>Change cursor colors 
  489.  
  490. <F9>w<Tab><F0>Inquire the best cursor size 
  491.  
  492. <F9>w<Tab><F0>Access cursor attributes 
  493.  
  494. <p1rule>
  495.  
  496. <Frame,
  497.     Name =            p1rule,
  498.     Placement =        At Anchor,
  499.     Width =            6.35 inches,
  500.     Height =        0.153 inches,
  501.     Vertical Alignment =    0.007 inches,
  502.     Shared Contents =    yes>
  503.  
  504. <p1para,
  505.     Bottom Margin =        0 inches,
  506.     Font =            F3,
  507.     Left Tab =        -1.70/0 inches>
  508.  
  509. <F8>Creating <Tab><F7>10.2<F0><#04>The following paragraphs describe 
  510. the CLX functions used to create<FJ>
  511.  
  512. <p1para>
  513.  
  514. <F8>Cursors<Tab><F3><Tab>and free <F0>cursor<F3><SP>objects.
  515.  
  516. <syntax0>
  517.  
  518. create<#1e>cursor<F3> &key <F0>:source :mask :x :y :foreground :background<Tab>
  519. <F3>Function<Index, Doc = operations, "xlib:create<#1e>cursor", Sort String = "create<#1e>cursor">
  520.  
  521. <return>
  522.  
  523. <F3><Tab>Returns: <F2><HR>
  524.  cursor <#1f> <F3>Type <F0>cursor<F3>.
  525.  
  526. <para>
  527.  
  528. Creates and returns a cursor. <F7>:x<F0> and <F7>:y<F0> define 
  529. the position of the hot spot relative to the origin of the <F7>:source. 
  530. :foreground<F0> and <F7>:background<F0> colors must be<SP>specified, 
  531. even if the server only has a <F7>:static<#1e>gray<F0> or <F7>:gray<#1e>scal
  532. e<F0> screen.<SP>The <F7>:source<F0>, <F7>:x<F0>, and <F7>:y<F0><SP>argu
  533. ments must also be specified.
  534.  
  535. The cursor image is drawn by drawing a pixel from the <F7>:source<F0> 
  536. bitmap at<SP>every position where the corresponding bit in the <F7>:mask<F0> 
  537. bitmap is 1. If the<SP>corresponding <F7>:source<F0> bit is 1, a 
  538. pixel is drawn in the <F7>:foreground<F0><SP>color; otherwise, a 
  539. pixel is drawn in the <F7>:background<F0> color. If the <F7>:mask<F0> 
  540. is<SP>omitted, all <F7>:source<F0> pixels are drawn. If given, the <F7>:mask
  541. <F0> must be the same size as the <F7>:source<F0>.
  542.  
  543. An X server may not be able to support every cursor size. A server 
  544. is free to modify any component of the cursor to satisfy hardware 
  545. or software limitations.
  546.  
  547. The <F7>:source<F0> and <F7>:mask<F0> can be freed immediately 
  548. after the cursor is created. Subsequent drawing in the <F7>:source<F0> 
  549. or<SP><F7>:mask<F0> pixmap has an undefined effect on the cursor.
  550.  
  551. <arg>
  552.  
  553. <F7>:source<F3> <#1f> The source pixmap. This argument is required.
  554.  
  555. <|,"10<#1e>108"><F7>:mask<F3> <#1f> The mask pixmap.
  556.  
  557. <F7>:x<F3>, <F7>:y<F3> <#1f> The hot spot position in the <F7>:source
  558. <F3>. This argument is required.
  559.  
  560. <F7>:foreground<F3> <#1f> A <F7>color<F3> object specifying the 
  561. foreground color. This argument is required.
  562.  
  563. <F7>:background<F3> <#1f> A <F7>color<F3> object specifying the 
  564. background color. This argument is required.
  565.  
  566. <syntax0>
  567.  
  568. create<#1e>glyph<#1e>cursor<F3> &key <F0>:source<#1e>font :source<#1e>char 
  569. :mask<#1e>font <Tab><F3>Function<Index, Doc = operations, "xlib:create<#1e>glyph<#1e>cursor", Sort String = "create<#1e>glyph<#1e>cursor"><HR>
  570. (<F0>:mask<#1e>char<F3> 0)<F0> :foreground :background
  571.  
  572. <return>
  573.  
  574. <F3><Tab>Returns: <F2><HR>
  575.  cursor <#1f> <F3>Type <F0>cursor<F3>.
  576.  
  577. <para>
  578.  
  579. Creates and returns a cursor defined by font glyphs. The source bitmap 
  580. is<SP>defined by the <F7>:source<#1e>font<F0> and <F7>:source<#1e>char<F0>. 
  581. The mask bitmap is defined by<SP>the <F7>:mask<#1e>font<F0> and <F7>:mask<#1e>
  582. char<F0>. It is an error if the <F7>:source<#1e>char<F0> and<SP><F7>:mask<#1e>
  583. char<F0> are not valid indexes for the <F7>:source<#1e>font<F0> 
  584. and <F7>:mask<#1e>font<F0>,<SP>respectively. The hot spot position 
  585. is defined by the <#7f>character origin" of<SP> the source glyph, 
  586. that is, the position [- <F2>char<#1e>left<#1e>bearing<F0>, <F2>char<#1e>asc
  587. ent<F0>]<SP>relative to the upper left corner of the source glyph 
  588. bitmap.
  589.  
  590. Source and mask bits are compared after aligning the character origins 
  591. of<SP>the source and mask glyphs. The source and mask glyphs need 
  592. not have the<SP>same size or character origin position. If the <F7>:mask<#1e>f
  593. ont<F0> is<SP>omitted, all source pixels are drawn.
  594.  
  595. An X server may not be able to support every cursor size. A server 
  596. is free<SP>to modify any component of the cursor to satisfy hardware 
  597. or software limitations.
  598.  
  599. Either of the <F7>:source<#1e>font<F0> or <F7>:mask<#1e>font<F0> 
  600. can be closed after the cursor is<SP>created.
  601.  
  602. <arg>
  603.  
  604. <F7>:source<#1e>font<F3> <#1f> The source font. This is a required 
  605. argument.
  606.  
  607. <F7>:source<#1e>char<F3> <#1f> An index specifying a glyph in the 
  608. source font. This<SP>is a required argument.
  609.  
  610. <F7>:mask<#1e>font<F3> <#1f> The mask font.<F0> 
  611.  
  612. <F7>:mask<#1e>char<F3> <#1f> An index specifying a glyph in the 
  613. mask font.
  614.  
  615. <F7>:foreground<F3> <#1f> A <F7>color<F3> object specifying the 
  616. foreground color. This<SP>is a required argument.
  617.  
  618. <F7>:background<F3> <#1f> A <F7>color<F3> object specifying the 
  619. background color. This<SP>is a required argument.<F0> 
  620.  
  621. <syntax>
  622.  
  623. free<#1e>cursor<F3> <F2>cursor<F0><Tab><F3>Function<Index, Doc = operations, "xlib:free<#1e>cursor", Sort String = "free<#1e>cursor">
  624.  
  625. <para>
  626.  
  627. Destroys the <F7>cursor<F0> object. Cursor server resources are 
  628. freed when no other<SP> references remain.
  629.  
  630. <arg>
  631.  
  632. cursor<F3> <#1f> A <F7>cursor<F3> object.
  633.  
  634. <p1rule>
  635.  
  636. <Frame,
  637.     Name =            p1rule,
  638.     Placement =        At Anchor,
  639.     Width =            6.35 inches,
  640.     Height =        0.153 inches,
  641.     Vertical Alignment =    0.007 inches,
  642.     Shared Contents =    yes>
  643.  
  644. <p1stacked,
  645.     Font =            F3,
  646.     Left Tab =        -1.70/0 inches>
  647.  
  648. <F8>Cursor<Tab><F7>10.3<F0><#04>The following paragraphs describe 
  649. the CLX functions used to operate
  650.  
  651. <p1para,
  652.     Font =            F3,
  653.     Left Tab =        -1.70/0 inches>
  654.  
  655. <F8>Functions<Tab><F0>on <F7>cursor<F0> objects.
  656.  
  657. <syntax0>
  658.  
  659. <|,"10<#1e>109">query<#1e>best<#1e>cursor <F2>width height display<F0><Tab><F3>Functio
  660. n<Index, Doc = operations, "xlib:query<#1e>best<#1e>cursor", Sort String = "query<#1e>best<#1e>cursor">
  661.  
  662. <return>
  663.  
  664. <F3><Tab>Returns: <F2><HR>
  665.  width<F3>,<F2> height <#1f> <F3>Type <F0>card16<F3>.
  666.  
  667. <para>
  668.  
  669. Returns the cursor size closest to the requested <F2>width<F0> and <F2>heigh
  670. t<F0> that is best suited to the display. The <F2>width<F0> and <F2>height
  671. <F0> returned define the largest<SP>cursor size supported by the 
  672. X server. Clients should always be prepared to<SP>limit cursor sizes 
  673. to those supported by the server.
  674.  
  675. <arg>
  676.  
  677. display<F3> <#1f> A <F7>display<F3> object.
  678.  
  679. width<F3>,<F0><SP>height<F3> <#1f> The requested cursor size. 
  680.  
  681. <syntax>
  682.  
  683. recolor<#1e>cursor<F3> <F2>cursor foreground background<F0><Tab><F3>Functio
  684. n<Index, Doc = operations, "xlib:recolor<#1e>cursor", Sort String = "recolor<#1e>cursor">
  685.  
  686. <para>
  687.  
  688. Changes the color of the specified <F2>cursor<F0>. If the<SP>cursor 
  689. is displayed on a screen, the change is visible immediately.
  690.  
  691. <arg>
  692.  
  693. cursor<F3> <#1f> A <F7>cursor<F3> object.
  694.  
  695. foreground<F3> <#1f> A <F7>color<F3> object specifying the new 
  696. foreground color.
  697.  
  698. background<F3> <#1f> A <F7>color<F3> object specifying the new 
  699. background color.
  700.  
  701. <p1rule>
  702.  
  703. <Frame,
  704.     Name =            p1rule,
  705.     Placement =        At Anchor,
  706.     Width =            6.35 inches,
  707.     Height =        0.153 inches,
  708.     Vertical Alignment =    0.007 inches,
  709.     Shared Contents =    yes>
  710.  
  711. <p1stacked,
  712.     Font =            F3,
  713.     Left Tab =        -1.70/0 inches>
  714.  
  715. <F8>Cursor<Tab><F7>10.4<F0><#04>The complete set of cursor attributes 
  716. is discussed in the following<F7><FJ>
  717.  
  718. <p1para,
  719.     Font =            F3,
  720.     Left Tab =        -1.70/0 inches>
  721.  
  722. <F8>Attributes<Tab><F0>paragraphs.
  723.  
  724. <syntax0>
  725.  
  726. cursor<#1e>display<F3> <F2>cursor<F0><Tab><F3>Function<Index, Doc = operations, "xlib:cursor<#1e>display", Sort String = "cursor<#1e>display">
  727.  
  728. <return>
  729.  
  730. <Tab><F3>Returns: <F2><HR>
  731.   display <F3><#1f> Type <F0>display<F3>. 
  732.  
  733. <para>
  734.  
  735. Returns the <F7>display<F0> object associated with the specified <F2>cursor
  736. <F0>. 
  737.  
  738. <arg>
  739.  
  740. cursor <#1f> <F3>A <F7>cursor<F3> object. 
  741.  
  742. <syntax,
  743.     Left Tab =        -0.90/0 inches,
  744.     Right Tab =        7.50 inches>
  745.  
  746. cursor<#1e>equal <F2>cursor<#1e>1<F3> <F2>cursor<#1e>2<F0><Tab><F3>Functio
  747. n<Index, Doc = operations, "xlib:cursor<#1e>equal", Sort String = "cursor<#1e>equal">
  748.  
  749. <para>
  750.  
  751. Returns true if the two arguments refer to the same server resource 
  752. and <F7>nil<F0> if they do not.
  753.  
  754. <arg>
  755.  
  756. cursor<#1e>1<F3>, <F0>cursor<#1e>2 <F3><#1f> <F7>cursor<F3> objects.
  757.  
  758. <syntax,
  759.     Bottom Margin =        0 inches,
  760.     Left Tab =        -0.90/0 inches,
  761.     Right Tab =        7.50 inches>
  762.  
  763. cursor<#1e>id<F3> <F2>cursor<F0><Tab><F3>Function<Index, Doc = operations, "xlib:cursor<#1e>id", Sort String = "cursor<#1e>id">
  764.  
  765. <return>
  766.  
  767. <Tab><F3>Returns: <F2><HR>
  768.   id <F3><#1f> Type <F0>resource<#1e>id.<F3> 
  769.  
  770. <para>
  771.  
  772. Returns the unique resource ID that has been assigned to the specified <F2>cur
  773. sor<F0>.
  774.  
  775. <arg>
  776.  
  777. cursor <F3><#1f> A <F7>cursor<F3> object.
  778.  
  779. <syntax,
  780.     Bottom Margin =        0 inches,
  781.     Left Tab =        -0.90/0 inches,
  782.     Right Tab =        7.50 inches>
  783.  
  784. cursor<#1e>p<F3> <F2>cursor<F0><Tab><F3>Function<Index, Doc = operations, "xlib:cursor<#1e>p", Sort String = "cursor<#1e>p">
  785.  
  786. <return>
  787.  
  788. <Tab><F3>Returns: <F2><HR>
  789.   cursor<#1e>p<F3> <#1f> Type <F0>boolean<F3>. 
  790.  
  791. <para>
  792.  
  793. Returns true if the argument is a <F7>cursor<F0> object and <F7>nil<F0> 
  794. otherwise.
  795.  
  796. <syntax,
  797.     Bottom Margin =        0 inches,
  798.     Left Tab =        -0.90/0 inches,
  799.     Right Tab =        7.50 inches>
  800.  
  801. cursor<#1e>plist<F3> <F2>cursor<F0><Tab><F3>Function<Index, Doc = operations, "xlib:cursor<#1e>plist", Sort String = "cursor<#1e>plist">
  802.  
  803. <return>
  804.  
  805. <Tab><F3>Returns: <F2><HR>
  806.   plist<F3> <#1f> A property list.
  807.  
  808. <para>
  809.  
  810. Returns and (with <F7>setf<F0>) sets the property list for the specified 
  811. <F2>cursor<F0>. This function provides a hook where extensions can 
  812. add data.
  813.  
  814. <arg>
  815.  
  816. cursor <F3><#1f> A <F7>cursor<F3> object.
  817.  
  818. <newpage>
  819.  
  820. <|,"10<#1e>110">
  821.