home *** CD-ROM | disk | FTP | other *** search
/ Mega A/V / mega_av.zip / mega_av / GRAPHUTL / PBMPLUS.ZIP / LIBPBM.MAN < prev    next >
Text File  |  1991-08-11  |  13KB  |  199 lines

  1.  
  2.  
  3. libpbm(3)                  Unix Programmer's Manual                  libpbm(3)
  4.  
  5.  
  6. NNNAAAMMMEEE
  7.      libpbm - functions to support portable bitmap programs
  8.  
  9. SSSYYYNNNOOOPPPSSSIIISSS
  10.  
  11.      #include <pbm.h>
  12.      cc ... libpbm.a
  13.  
  14.  
  15. DDDEEESSSCCCRRRIIIPPPTTTIIIOOONNN --- PPPAAACCCKKKAAAGGGEEE-WWWIIIDDDEEE RRROOOUUUTTTIIINNNEEESSS
  16.  
  17.      int pm_keymatch( char* str, char* keyword, int minchars )
  18.  
  19.      DDDoooeeesss aaa cccaaassseee-iiinnnssseeennnsssiiitttiiivvveee mmmaaatttccchhh ooofff ssstttrrr  against  kkkeeeyyywwwooorrrddd.   ssstttrrr  can  be  a
  20.      leading sunstring of kkkeeeyyywwwooorrrddd, but at least mmmiiinnnccchhhaaarrrsss must be present.
  21.  
  22.      int pm_maxvaltobits( int maxval )
  23.      int pm_bitstomaxval( int bits )
  24.  
  25.      CCCooonnnvvveeerrrttt bbbeeetttwwweeeeeennn aaa mmmaaaxxxvvvaaalll aaannnddd ttthhheee mmmiiinnniiimmmuuummm nnnuuummmbbbeeerrr ooofff bbbiiitttsss rrreeeqqquuuiiirrreeeddd tttooo  hhhooolllddd
  26.      iiittt...
  27.  
  28.      vvvoooiiiddd pppmmm___mmmeeessssssaaagggeee((( ccchhhaaarrr*** fffmmmttt,,, ......... )))
  29.  
  30.      ppprrriiinnntttfff((())) style routine to write an informational message.
  31.  
  32.      void pm_error( char* fmt, ... )
  33.  
  34.      ppprrriiinnntttfff((())) style routine to write an error message and abort.
  35.  
  36.      void pm_perror( char* reason )
  37.  
  38.      WWWrrriiittteee ooouuuttt aaa sssyyysssttteeemmm eeerrrrrrooorrr mmmeeessssssaaagggeee aaannnddd aaabbbooorrrttt...
  39.  
  40.      vvvoooiiiddd pppmmm___uuusssaaagggeee((( ccchhhaaarrr*** uuusssaaagggeee )))
  41.  
  42.      WWWrrriiittteee aaa uuusssaaagggeee mmmeeessssssaaagggeee...  TTThhheee ssstttrrriiinnnggg ssshhhooouuulllddd iiinnndddiiicccaaattteee wwwhhhaaattt aaarrrggguuummmeeennntttsss aaarrreee  tttooo
  43.      bbbeee ppprrrooovvviiidddeeeddd tttooo ttthhheee ppprrrooogggrrraaammm...
  44.  
  45.      FFFIIILLLEEE*** pppmmm___ooopppeeennnrrr((( ccchhhaaarrr*** nnnaaammmeee )))
  46.  
  47.      OOOpppeeennn ttthhheee gggiiivvveeennn fffiiillleee fffooorrr rrreeeaaadddiiinnnggg,,,  wwwiiittthhh  aaapppppprrroooppprrriiiaaattteee  eeerrrrrrooorrr  ccchhheeeccckkkiiinnnggg...   AAA
  48.      fffiiillleeennnaaammmeee ooofff """-""" iiisss tttaaakkkeeennn aaasss eeeqqquuuiiivvvaaallleeennnttt tttooo ssstttdddiiinnn...
  49.  
  50.      FFFIIILLLEEE*** pppmmm___ooopppeeennnwww((( ccchhhaaarrr*** nnnaaammmeee )))
  51.  
  52.      OOOpppeeennn ttthhheee gggiiivvveeennn fffiiillleee fffooorrr wwwrrriiitttiiinnnggg,,, wwwiiittthhh aaapppppprrroooppprrriiiaaattteee eeerrrrrrooorrr ccchhheeeccckkkiiinnnggg...
  53.  
  54.      vvvoooiiiddd pppmmm___ccclllooossseee((( FFFIIILLLEEE*** fffppp )))
  55.  
  56.      CCClllooossseee ttthhheee fffiiillleee dddeeessscccrrriiippptttooorrr,,, wwwiiittthhh aaapppppprrroooppprrriiiaaattteee eeerrrrrrooorrr ccchhheeeccckkkiiinnnggg...
  57.  
  58.      iiinnnttt pppmmm___rrreeeaaadddbbbiiigggssshhhooorrrttt((( FFFIIILLLEEE*** iiinnn,,, ssshhhooorrrttt*** sssPPP )))
  59.      iiinnnttt pppmmm___wwwrrriiittteeebbbiiigggssshhhooorrrttt((( FFFIIILLLEEE*** ooouuuttt,,, ssshhhooorrrttt sss )))
  60.      iiinnnttt pppmmm___rrreeeaaadddbbbiiiggglllooonnnggg((( FFFIIILLLEEE*** iiinnn,,, lllooonnnggg*** lllPPP )))
  61.      iiinnnttt pppmmm___wwwrrriiittteeebbbiiiggglllooonnnggg((( FFFIIILLLEEE*** ooouuuttt,,, lllooonnnggg lll )))
  62.  
  63.  
  64.                                                                              1
  65.  
  66.  
  67.  
  68.  
  69. libpbm(3)                  Unix Programmer's Manual                  libpbm(3)
  70.  
  71.  
  72.      iiinnnttt pppmmm___rrreeeaaadddllliiittttttllleeessshhhooorrrttt((( FFFIIILLLEEE*** iiinnn,,, ssshhhooorrrttt*** sssPPP )))
  73.      iiinnnttt pppmmm___wwwrrriiittteeellliiittttttllleeessshhhooorrrttt((( FFFIIILLLEEE*** ooouuuttt,,, ssshhhooorrrttt sss )))
  74.      iiinnnttt pppmmm___rrreeeaaadddllliiittttttllleeelllooonnnggg((( FFFIIILLLEEE*** iiinnn,,, lllooonnnggg*** lllPPP )))
  75.      iiinnnttt pppmmm___wwwrrriiittteeellliiittttttllleeelllooonnnggg((( FFFIIILLLEEE*** ooouuuttt,,, lllooonnnggg lll )))
  76.  
  77.      RRRooouuutttiiinnneeesss tttooo rrreeeaaaddd aaannnddd wwwrrriiittteee ssshhhooorrrttt aaannnddd lllooonnnggg iiinnntttsss iiinnn eeeiiittthhheeerrr bbbiiiggg- ooorrr  llliiittttttllleee---
  78.      eeennndddiiiaaannn bbbyyyttteee ooorrrdddeeerrr...
  79.  
  80. DDDEEESSSCCCRRRIIIPPPTTTIIIOOONNN --- PPPBBBMMM-SSSPPPEEECCCIIIFFFIIICCC RRROOOUUUTTTIIINNNEEESSS
  81.  
  82.      typedef ... bit;
  83.      #define PBM_WHITE ...
  84.      #define PBM_BLACK ...
  85.  
  86.      eeeaaaccchhh bbbiiittt should contain only the values of PPPBBBMMM___WWWHHHIIITTTEEE or PPPBBBMMM___BBBLLLAAACCCKKK.
  87.  
  88.      #define PBM_FORMAT ...
  89.      #define RPBM_FORMAT ...
  90.      #define PBM_TYPE PBM_FORMAT
  91.      #define PBM_FORMAT_TYPE(f) ...
  92.  
  93.      FFFooorrr dddiiissstttiiinnnggguuuiiissshhhiiinnnggg dddiiiffffffeeerrreeennnttt fffiiillleee fffooorrrmmmaaatttsss aaannnddd tttyyypppeeesss...
  94.  
  95.      vvvoooiiiddd pppbbbmmm___iiinnniiittt((( iiinnnttt*** aaarrrgggcccPPP,,, ccchhhaaarrr*** aaarrrgggvvv[[[]]] )))
  96.  
  97.      AAAllllll PPPBBBMMM ppprrrooogggrrraaammmsss mmmuuusssttt cccaaallllll ttthhhiiisss rrrooouuutttiiinnneee...
  98.  
  99.      bbbiiittt****** pppbbbmmm___aaallllllooocccaaarrrrrraaayyy((( iiinnnttt cccooolllsss,,, iiinnnttt rrrooowwwsss )))
  100.  
  101.      AAAllllllooocccaaattteee aaannn aaarrrrrraaayyy ooofff bbbiiitttsss...
  102.  
  103.      bbbiiittt*** pppbbbmmm___aaallllllooocccrrrooowww((( iiinnnttt cccooolllsss )))
  104.  
  105.      AAAllllllooocccaaattteee aaa rrrooowww ooofff ttthhheee gggiiivvveeennn nnnuuummmbbbeeerrr ooofff bbbiiitttsss...
  106.  
  107.      vvvoooiiiddd pppbbbmmm___fffrrreeeeeeaaarrrrrraaayyy((( bbbiiittt****** bbbiiitttsss,,, iiinnnttt rrrooowwwsss )))
  108.  
  109.      FFFrrreeeeee ttthhheee aaarrrrrraaayyy  aaallllllooocccaaattteeeddd  wwwiiittthhh  pppbbbmmm___aaallllllooocccaaarrrrrraaayyy((()))  containing  the  given
  110.      number of rows.
  111.  
  112.      void pbm_freerow( bit* bitrow )
  113.  
  114.      FFFrrreeeeee aaa rrrooowww ooofff bbbiiitttsss...
  115.  
  116.      vvvoooiiiddd pppbbbmmm___rrreeeaaadddpppbbbmmmiiinnniiittt((( FFFIIILLLEEE*** fffppp,,, iiinnnttt*** cccooolllsssPPP,,, iiinnnttt*** rrrooowwwsssPPP,,, iiinnnttt*** fffooorrrmmmaaatttPPP )))
  117.  
  118.      RRReeeaaaddd ttthhheee hhheeeaaadddeeerrr fffrrrooommm aaa PPPBBBMMM fffiiillleee,,, fffiiilllllliiinnnggg iiinnn ttthhheee  rrrooowwwsss,,,  cccooolllsss  aaannnddd  fffooorrrmmmaaattt
  119.      vvvaaarrriiiaaabbbllleeesss...
  120.  
  121.      vvvoooiiiddd pppbbbmmm___rrreeeaaadddpppbbbmmmrrrooowww((( FFFIIILLLEEE*** fffppp,,, bbbiiittt*** bbbiiitttrrrooowww,,, iiinnnttt cccooolllsss,,, iiinnnttt fffooorrrmmmaaattt )))
  122.  
  123.      RRReeeaaaddd aaa rrrooowww ooofff bbbiiitttsss iiinnntttooo ttthhheee bbbiiitttrrrooowww aaarrrrrraaayyy...  FFFooorrrmmmaaattt aaannnddd cccooolllsss wwweeerrreee fffiiilllllleeeddd iiinnn
  124.      bbbyyy pppbbbmmm___rrreeeaaadddpppbbbmmmiiinnniiittt((())).
  125.  
  126.      bit** pbm_readpbm( FILE* fp, int* colsP, int* rowsP )
  127.  
  128.  
  129.  
  130.                                                                              2
  131.  
  132.  
  133.  
  134.  
  135. libpbm(3)                  Unix Programmer's Manual                  libpbm(3)
  136.  
  137.  
  138.      RRReeeaaaddd aaannn eeennntttiiirrreee bbbiiitttmmmaaappp fffiiillleee iiinnntttooo mmmeeemmmooorrryyy,,, rrreeetttuuurrrnnniiinnnggg ttthhheee aaallllllooocccaaattteeeddd aaarrrrrraaayyy aaannnddd
  139.      fffiiilllllliiinnnggg   iiinnn  ttthhheee  rrrooowwwsss  aaannnddd  cccooolllsss  vvvaaarrriiiaaabbbllleeesss...   TTThhhiiisss  fffuuunnnccctttiiiooonnn  cccooommmbbbiiinnneeesss
  140.      pppbbbmmm___rrreeeaaadddpppbbbmmmiiinnniiittt((())), pppbbbmmm___aaallllllooocccaaarrrrrraaayyy((())) and pppbbbmmm___rrreeeaaadddpppbbbmmmrrrooowww((())).
  141.  
  142.      void pbm_writepbminit( FILE* fp, int cols, int rows, int forceplain )
  143.  
  144.      WWWrrriiittteee ttthhheee hhheeeaaadddeeerrr fffooorrr aaa pppooorrrtttaaabbbllleee bbbiiitttmmmaaappp fffiiillleee...  TTThhheee fffooorrrccceeeppplllaaaiiinnn ffflllaaaggg  fffooorrrccceeesss
  145.      aaa ppplllaaaiiinnn-fffooorrrmmmaaattt fffiiillleee tttooo bbbeee wwwrrriiitttttteeennn,,, aaasss oooppppppooossseeeddd tttooo aaa rrraaawww-fffooorrrmmmaaattt ooonnneee...
  146.  
  147.      vvvoooiiiddd pppbbbmmm___wwwrrriiittteeepppbbbmmmrrrooowww((( FFFIIILLLEEE*** fffppp,,, bbbiiittt*** bbbiiitttrrrooowww,,, iiinnnttt cccooolllsss,,, iiinnnttt fffooorrrccceeeppplllaaaiiinnn )))
  148.  
  149.      WWWrrriiittteee aaa rrrooowww fffrrrooommm aaa pppooorrrtttaaabbbllleee bbbiiitttmmmaaappp...
  150.  
  151.      vvvoooiiiddd pppbbbmmm___wwwrrriiittteeepppbbbmmm(((  FFFIIILLLEEE***  fffppp,,,  bbbiiittt******  bbbiiitttsss,,,  iiinnnttt  cccooolllsss,,,  iiinnnttt  rrrooowwwsss,,,  iiinnnttt
  152.      fffooorrrccceeeppplllaaaiiinnn )))
  153.  
  154.      WWWrrriiittteee ttthhheee hhheeeaaadddeeerrr aaannnddd aaallllll dddaaatttaaa  fffooorrr  aaa  pppooorrrtttaaabbbllleee  bbbiiitttmmmaaappp...   TTThhhiiisss  fffuuunnnccctttiiiooonnn
  155.      cccooommmbbbiiinnneeesss pppbbbmmm___wwwrrriiittteeepppbbbmmmiiinnniiittt((())) and pppbbbmmm___wwwrrriiittteeepppbbbmmmrrrooowww((())).
  156.  
  157. SSSEEEEEE AAALLLSSSOOO
  158.      libpgm(3), libppm(3), libpnm(3)
  159.  
  160. AAAUUUTTTHHHOOORRR
  161.      Copyright (C) 1989, 1991 by Tony Hansen and Jef Poskanzer.
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.                                                                              3
  197.  
  198.  
  199.