home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mega A/V
/
mega_av.zip
/
mega_av
/
GRAPHUTL
/
PBMPLUS.ZIP
/
LIBPBM.MAN
< prev
next >
Wrap
Text File
|
1991-08-11
|
13KB
|
199 lines
libpbm(3) Unix Programmer's Manual libpbm(3)
NNNAAAMMMEEE
libpbm - functions to support portable bitmap programs
SSSYYYNNNOOOPPPSSSIIISSS
#include <pbm.h>
cc ... libpbm.a
DDDEEESSSCCCRRRIIIPPPTTTIIIOOONNN --- PPPAAACCCKKKAAAGGGEEE-WWWIIIDDDEEE RRROOOUUUTTTIIINNNEEESSS
int pm_keymatch( char* str, char* keyword, int minchars )
DDDoooeeesss aaa cccaaassseee-iiinnnssseeennnsssiiitttiiivvveee mmmaaatttccchhh ooofff ssstttrrr against kkkeeeyyywwwooorrrddd. ssstttrrr can be a
leading sunstring of kkkeeeyyywwwooorrrddd, but at least mmmiiinnnccchhhaaarrrsss must be present.
int pm_maxvaltobits( int maxval )
int pm_bitstomaxval( int bits )
CCCooonnnvvveeerrrttt bbbeeetttwwweeeeeennn aaa mmmaaaxxxvvvaaalll aaannnddd ttthhheee mmmiiinnniiimmmuuummm nnnuuummmbbbeeerrr ooofff bbbiiitttsss rrreeeqqquuuiiirrreeeddd tttooo hhhooolllddd
iiittt...
vvvoooiiiddd pppmmm___mmmeeessssssaaagggeee((( ccchhhaaarrr*** fffmmmttt,,, ......... )))
ppprrriiinnntttfff((())) style routine to write an informational message.
void pm_error( char* fmt, ... )
ppprrriiinnntttfff((())) style routine to write an error message and abort.
void pm_perror( char* reason )
WWWrrriiittteee ooouuuttt aaa sssyyysssttteeemmm eeerrrrrrooorrr mmmeeessssssaaagggeee aaannnddd aaabbbooorrrttt...
vvvoooiiiddd pppmmm___uuusssaaagggeee((( ccchhhaaarrr*** uuusssaaagggeee )))
WWWrrriiittteee aaa uuusssaaagggeee mmmeeessssssaaagggeee... TTThhheee ssstttrrriiinnnggg ssshhhooouuulllddd iiinnndddiiicccaaattteee wwwhhhaaattt aaarrrggguuummmeeennntttsss aaarrreee tttooo
bbbeee ppprrrooovvviiidddeeeddd tttooo ttthhheee ppprrrooogggrrraaammm...
FFFIIILLLEEE*** pppmmm___ooopppeeennnrrr((( ccchhhaaarrr*** nnnaaammmeee )))
OOOpppeeennn ttthhheee gggiiivvveeennn fffiiillleee fffooorrr rrreeeaaadddiiinnnggg,,, wwwiiittthhh aaapppppprrroooppprrriiiaaattteee eeerrrrrrooorrr ccchhheeeccckkkiiinnnggg... AAA
fffiiillleeennnaaammmeee ooofff """-""" iiisss tttaaakkkeeennn aaasss eeeqqquuuiiivvvaaallleeennnttt tttooo ssstttdddiiinnn...
FFFIIILLLEEE*** pppmmm___ooopppeeennnwww((( ccchhhaaarrr*** nnnaaammmeee )))
OOOpppeeennn ttthhheee gggiiivvveeennn fffiiillleee fffooorrr wwwrrriiitttiiinnnggg,,, wwwiiittthhh aaapppppprrroooppprrriiiaaattteee eeerrrrrrooorrr ccchhheeeccckkkiiinnnggg...
vvvoooiiiddd pppmmm___ccclllooossseee((( FFFIIILLLEEE*** fffppp )))
CCClllooossseee ttthhheee fffiiillleee dddeeessscccrrriiippptttooorrr,,, wwwiiittthhh aaapppppprrroooppprrriiiaaattteee eeerrrrrrooorrr ccchhheeeccckkkiiinnnggg...
iiinnnttt pppmmm___rrreeeaaadddbbbiiigggssshhhooorrrttt((( FFFIIILLLEEE*** iiinnn,,, ssshhhooorrrttt*** sssPPP )))
iiinnnttt pppmmm___wwwrrriiittteeebbbiiigggssshhhooorrrttt((( FFFIIILLLEEE*** ooouuuttt,,, ssshhhooorrrttt sss )))
iiinnnttt pppmmm___rrreeeaaadddbbbiiiggglllooonnnggg((( FFFIIILLLEEE*** iiinnn,,, lllooonnnggg*** lllPPP )))
iiinnnttt pppmmm___wwwrrriiittteeebbbiiiggglllooonnnggg((( FFFIIILLLEEE*** ooouuuttt,,, lllooonnnggg lll )))
1
libpbm(3) Unix Programmer's Manual libpbm(3)
iiinnnttt pppmmm___rrreeeaaadddllliiittttttllleeessshhhooorrrttt((( FFFIIILLLEEE*** iiinnn,,, ssshhhooorrrttt*** sssPPP )))
iiinnnttt pppmmm___wwwrrriiittteeellliiittttttllleeessshhhooorrrttt((( FFFIIILLLEEE*** ooouuuttt,,, ssshhhooorrrttt sss )))
iiinnnttt pppmmm___rrreeeaaadddllliiittttttllleeelllooonnnggg((( FFFIIILLLEEE*** iiinnn,,, lllooonnnggg*** lllPPP )))
iiinnnttt pppmmm___wwwrrriiittteeellliiittttttllleeelllooonnnggg((( FFFIIILLLEEE*** ooouuuttt,,, lllooonnnggg lll )))
RRRooouuutttiiinnneeesss tttooo rrreeeaaaddd aaannnddd wwwrrriiittteee ssshhhooorrrttt aaannnddd lllooonnnggg iiinnntttsss iiinnn eeeiiittthhheeerrr bbbiiiggg- ooorrr llliiittttttllleee---
eeennndddiiiaaannn bbbyyyttteee ooorrrdddeeerrr...
DDDEEESSSCCCRRRIIIPPPTTTIIIOOONNN --- PPPBBBMMM-SSSPPPEEECCCIIIFFFIIICCC RRROOOUUUTTTIIINNNEEESSS
typedef ... bit;
#define PBM_WHITE ...
#define PBM_BLACK ...
eeeaaaccchhh bbbiiittt should contain only the values of PPPBBBMMM___WWWHHHIIITTTEEE or PPPBBBMMM___BBBLLLAAACCCKKK.
#define PBM_FORMAT ...
#define RPBM_FORMAT ...
#define PBM_TYPE PBM_FORMAT
#define PBM_FORMAT_TYPE(f) ...
FFFooorrr dddiiissstttiiinnnggguuuiiissshhhiiinnnggg dddiiiffffffeeerrreeennnttt fffiiillleee fffooorrrmmmaaatttsss aaannnddd tttyyypppeeesss...
vvvoooiiiddd pppbbbmmm___iiinnniiittt((( iiinnnttt*** aaarrrgggcccPPP,,, ccchhhaaarrr*** aaarrrgggvvv[[[]]] )))
AAAllllll PPPBBBMMM ppprrrooogggrrraaammmsss mmmuuusssttt cccaaallllll ttthhhiiisss rrrooouuutttiiinnneee...
bbbiiittt****** pppbbbmmm___aaallllllooocccaaarrrrrraaayyy((( iiinnnttt cccooolllsss,,, iiinnnttt rrrooowwwsss )))
AAAllllllooocccaaattteee aaannn aaarrrrrraaayyy ooofff bbbiiitttsss...
bbbiiittt*** pppbbbmmm___aaallllllooocccrrrooowww((( iiinnnttt cccooolllsss )))
AAAllllllooocccaaattteee aaa rrrooowww ooofff ttthhheee gggiiivvveeennn nnnuuummmbbbeeerrr ooofff bbbiiitttsss...
vvvoooiiiddd pppbbbmmm___fffrrreeeeeeaaarrrrrraaayyy((( bbbiiittt****** bbbiiitttsss,,, iiinnnttt rrrooowwwsss )))
FFFrrreeeeee ttthhheee aaarrrrrraaayyy aaallllllooocccaaattteeeddd wwwiiittthhh pppbbbmmm___aaallllllooocccaaarrrrrraaayyy((())) containing the given
number of rows.
void pbm_freerow( bit* bitrow )
FFFrrreeeeee aaa rrrooowww ooofff bbbiiitttsss...
vvvoooiiiddd pppbbbmmm___rrreeeaaadddpppbbbmmmiiinnniiittt((( FFFIIILLLEEE*** fffppp,,, iiinnnttt*** cccooolllsssPPP,,, iiinnnttt*** rrrooowwwsssPPP,,, iiinnnttt*** fffooorrrmmmaaatttPPP )))
RRReeeaaaddd ttthhheee hhheeeaaadddeeerrr fffrrrooommm aaa PPPBBBMMM fffiiillleee,,, fffiiilllllliiinnnggg iiinnn ttthhheee rrrooowwwsss,,, cccooolllsss aaannnddd fffooorrrmmmaaattt
vvvaaarrriiiaaabbbllleeesss...
vvvoooiiiddd pppbbbmmm___rrreeeaaadddpppbbbmmmrrrooowww((( FFFIIILLLEEE*** fffppp,,, bbbiiittt*** bbbiiitttrrrooowww,,, iiinnnttt cccooolllsss,,, iiinnnttt fffooorrrmmmaaattt )))
RRReeeaaaddd aaa rrrooowww ooofff bbbiiitttsss iiinnntttooo ttthhheee bbbiiitttrrrooowww aaarrrrrraaayyy... FFFooorrrmmmaaattt aaannnddd cccooolllsss wwweeerrreee fffiiilllllleeeddd iiinnn
bbbyyy pppbbbmmm___rrreeeaaadddpppbbbmmmiiinnniiittt((())).
bit** pbm_readpbm( FILE* fp, int* colsP, int* rowsP )
2
libpbm(3) Unix Programmer's Manual libpbm(3)
RRReeeaaaddd aaannn eeennntttiiirrreee bbbiiitttmmmaaappp fffiiillleee iiinnntttooo mmmeeemmmooorrryyy,,, rrreeetttuuurrrnnniiinnnggg ttthhheee aaallllllooocccaaattteeeddd aaarrrrrraaayyy aaannnddd
fffiiilllllliiinnnggg iiinnn ttthhheee rrrooowwwsss aaannnddd cccooolllsss vvvaaarrriiiaaabbbllleeesss... TTThhhiiisss fffuuunnnccctttiiiooonnn cccooommmbbbiiinnneeesss
pppbbbmmm___rrreeeaaadddpppbbbmmmiiinnniiittt((())), pppbbbmmm___aaallllllooocccaaarrrrrraaayyy((())) and pppbbbmmm___rrreeeaaadddpppbbbmmmrrrooowww((())).
void pbm_writepbminit( FILE* fp, int cols, int rows, int forceplain )
WWWrrriiittteee ttthhheee hhheeeaaadddeeerrr fffooorrr aaa pppooorrrtttaaabbbllleee bbbiiitttmmmaaappp fffiiillleee... TTThhheee fffooorrrccceeeppplllaaaiiinnn ffflllaaaggg fffooorrrccceeesss
aaa ppplllaaaiiinnn-fffooorrrmmmaaattt fffiiillleee tttooo bbbeee wwwrrriiitttttteeennn,,, aaasss oooppppppooossseeeddd tttooo aaa rrraaawww-fffooorrrmmmaaattt ooonnneee...
vvvoooiiiddd pppbbbmmm___wwwrrriiittteeepppbbbmmmrrrooowww((( FFFIIILLLEEE*** fffppp,,, bbbiiittt*** bbbiiitttrrrooowww,,, iiinnnttt cccooolllsss,,, iiinnnttt fffooorrrccceeeppplllaaaiiinnn )))
WWWrrriiittteee aaa rrrooowww fffrrrooommm aaa pppooorrrtttaaabbbllleee bbbiiitttmmmaaappp...
vvvoooiiiddd pppbbbmmm___wwwrrriiittteeepppbbbmmm((( FFFIIILLLEEE*** fffppp,,, bbbiiittt****** bbbiiitttsss,,, iiinnnttt cccooolllsss,,, iiinnnttt rrrooowwwsss,,, iiinnnttt
fffooorrrccceeeppplllaaaiiinnn )))
WWWrrriiittteee ttthhheee hhheeeaaadddeeerrr aaannnddd aaallllll dddaaatttaaa fffooorrr aaa pppooorrrtttaaabbbllleee bbbiiitttmmmaaappp... TTThhhiiisss fffuuunnnccctttiiiooonnn
cccooommmbbbiiinnneeesss pppbbbmmm___wwwrrriiittteeepppbbbmmmiiinnniiittt((())) and pppbbbmmm___wwwrrriiittteeepppbbbmmmrrrooowww((())).
SSSEEEEEE AAALLLSSSOOO
libpgm(3), libppm(3), libpnm(3)
AAAUUUTTTHHHOOORRR
Copyright (C) 1989, 1991 by Tony Hansen and Jef Poskanzer.
3