home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / g_man / cat3 / standard / rectwrite.z / rectwrite
Encoding:
Text File  |  2002-10-03  |  7.2 KB  |  133 lines

  1.  
  2.  
  3.  
  4. rrrreeeeccccttttwwwwrrrriiiitttteeee((((3333GGGG))))                                                    rrrreeeeccccttttwwwwrrrriiiitttteeee((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      rrrreeeeccccttttwwwwrrrriiiitttteeee,,,, llllrrrreeeeccccttttwwwwrrrriiiitttteeee - draws a rectangular array of pixels into the
  10.      frame buffer
  11.  
  12. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  13.      vvvvooooiiiidddd rrrreeeeccccttttwwwwrrrriiiitttteeee((((SSSSccccrrrreeeeeeeennnnccccoooooooorrrrdddd xxxx1111,,,, SSSSccccrrrreeeeeeeennnnccccoooooooorrrrdddd yyyy1111,,,,
  14.                     SSSSccccrrrreeeeeeeennnnccccoooooooorrrrdddd xxxx2222,,,, SSSSccccrrrreeeeeeeennnnccccoooooooorrrrdddd yyyy2222,,,, CCCCoooolllloooorrrriiiinnnnddddeeeexxxx ppppaaaarrrrrrrraaaayyyy[[[[]]]]))))
  15.  
  16.      vvvvooooiiiidddd llllrrrreeeeccccttttwwwwrrrriiiitttteeee((((xxxx1111,,,, yyyy1111,,,, xxxx2222,,,, yyyy2222,,,, ppppaaaarrrrrrrraaaayyyy))))
  17.      SSSSccccrrrreeeeeeeennnnccccoooooooorrrrdddd xxxx1111,,,, yyyy1111,,,, xxxx2222,,,, yyyy2222;;;;
  18.      uuuunnnnssssiiiiggggnnnneeeedddd lllloooonnnngggg ppppaaaarrrrrrrraaaayyyy[[[[]]]];;;;
  19.  
  20. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  21.      _x_1       expects the lower-left x coordinate of the rectangular region.
  22.  
  23.      _y_1       expects the lower-left y coordinate of the rectangular region.
  24.  
  25.      _x_2       expects the upper-right x coordinate of the rectangular region.
  26.  
  27.      _y_2       expects the upper-right y coordinate of the rectangular region.
  28.  
  29.      _p_a_r_r_a_y   expects the array which contains the values of the pixels to be
  30.               drawn.  For RGBA values, pack the bits thusly:  0000xxxx_A_A_B_B_G_G_R_R,
  31.               where:
  32.  
  33.                    _A_A  contains the alpha value,
  34.                    _B_B  contains the blue value,
  35.                    _G_G  contains the green value, and
  36.                    _R_R  contains the red value.
  37.  
  38.               RGBA component values range from 0 to 0xFF (255).  The alpha
  39.               value will be ignored if blending is not active and the machine
  40.               has no alpha bitplanes.
  41.  
  42. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  43.      rrrreeeeccccttttwwwwrrrriiiitttteeee and llllrrrreeeeccccttttwwwwrrrriiiitttteeee draw pixels taken from the array _p_a_r_r_a_y into the
  44.      specified rectangular frame buffer region. The system usually draws
  45.      pixels left-to-right, then bottom-to-top. All coordinates are relative to
  46.      the lower-left corner of the window, not the screen or viewport.
  47.  
  48.      Pixels are written to the currently active framebuffer, as specified by
  49.      ddddrrrraaaawwwwmmmmooooddddeeee.  Thus, to write pixel values to the overlay bitplanes, for
  50.      example, simply set ddddrrrraaaawwwwmmmmooooddddeeee to OOOOVVVVEEEERRRRDDDDRRRRAAAAWWWW.
  51.  
  52.      The number of pixels in _p_a_r_r_a_y is always (x2-x1+1) * (y2-y1+1). If the
  53.      zoom factors set by rrrreeeeccccttttzzzzoooooooommmm are both 1.0, the screen region _x_1 through
  54.      _x_2, _y_1 through _y_2, are filled.  Other zoom factors result in filling past
  55.      _x_2 and/or past _y_2 (_x_1,_y_1 is always the lower-left corner of the filled
  56.      region).
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. rrrreeeeccccttttwwwwrrrriiiitttteeee((((3333GGGG))))                                                    rrrreeeeccccttttwwwwrrrriiiitttteeee((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      rrrreeeeccccttttwwwwrrrriiiitttteeee draws an array of 16-bit words, and therefore should be used
  75.      only to write color index values.  llllrrrreeeeccccttttwwwwrrrriiiitttteeee draws an array of 32-bit
  76.      words.  Based on the current ppppiiiixxxxmmmmooooddddeeee, llllrrrreeeeccccttttwwwwrrrriiiitttteeee can draw pixels of 1, 2,
  77.      4, 8, 12, 16, 24, or 32 bits each.  Use it to write packed RGB or RGBA
  78.      values, color index values, or _z values.
  79.  
  80.      ppppiiiixxxxmmmmooooddddeeee affects the operation of llllrrrreeeeccccttttwwwwrrrriiiitttteeee substantialy, and has no
  81.      effect on the operation of rrrreeeeccccttttwwwwrrrriiiitttteeee.  By default, llllrrrreeeeccccttttwwwwrrrriiiitttteeee draws 32-
  82.      bit pixels in the format used by ccccppppaaaacccckkkk.  Different pixel sizes,
  83.      framebuffer shifts, scan patterns through the framebuffer, and strides
  84.      through memory, can all be specified using ppppiiiixxxxmmmmooooddddeeee.
  85.  
  86.      rrrreeeeccccttttwwwwrrrriiiitttteeee and llllrrrreeeeccccttttwwwwrrrriiiitttteeee leave the current character position
  87.      unpredictable.
  88.  
  89. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  90.      blendfunction, dither, lrectread, pixmode, rectcopy, rectzoom
  91.  
  92. NNNNOOOOTTTTEEEESSSS
  93.      These routines are available only in immediate mode.
  94.  
  95.      On IRIS Indigo, Indy, and XL graphics the pixels written by rrrreeeeccccttttwwwwrrrriiiitttteeee and
  96.      llllrrrreeeeccccttttwwwwrrrriiiitttteeee will be dithered if dithering is enabled.  To write undithered
  97.      pixels the ddddiiiitttthhhheeeerrrr command must be used to turn dithering off.  On the
  98.      Indigo, if dithering is on, pixel images written, then read and written
  99.      again will cause successive dithering to be done each time the pixels are
  100.      written.  On Indy and XL graphics, successive dithering will not occur.
  101.  
  102.      On Indigo Entry graphics, when in color index mode with double-buffering
  103.      enabled, 8-bit values are clamped to 4 bits, rather than being masked.
  104.  
  105. BBBBUUUUGGGGSSSS
  106.      IRIS-4D Personal Iris requires that both |x2-x1| and |y2-y1| be less than
  107.      2048.
  108.  
  109.      IRIS-4D VGX and VGXT require that both |x2-x1+1| and |y2-y1+1| be less
  110.      than 2048.
  111.  
  112.      The size of the array passed to llllrrrreeeeccccttttwwwwrrrriiiitttteeee is limited to the size of the
  113.      screen.
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.