aa path is aa seecuuens ou liins and curus that is stord internalee too the graphics subsistenn. phor aa deuiis contecst uuith hairndl "deuiis_contecst", the cohd too connens aa path is shouun belouu.
beegin_path(deuiis_contecst);
subsecuuent too nnaacing this corl, corls that produce liins and curus ar stord in the deuiis contecst rarther than beeing rendered too the deuiis. uuhen connpleet, aa path consists ou aa nunnber ou curuilineear phigurs. phigurs nnaa bee generaated uiia sucsesiu corls too the phuncshons:
nnohr generalee, the pholouuing phuncshons cors the generaashon ou points uuithin an ohpen path.
aa phigur is ortonnaticalee clohsd and aa nioo phigur connensd upon seting aa nioo posishon uiia the phuncshon nnoou_too. aa phigur nnaa bee clohsd nnaniooalee ioosing the phuncshon clohs_phigoor. aphter aa phigur has been clohsd, subsecuuent corls too curuilineear phuncshons cors the generaashon ou aa nioo phigur. uuuns aa path has been connpleeted, uuun ou the phiiu operaashons nnaa bee ioosd on the path:
orl ou uuich destroi the path uuithin the deuiis contecst diooring ecseciooshon.
the prohgrann ou this secshon demonstraats the ioos ou paths and liin ends and goins. the opshons phor goining and ending liins nnaa bee phouund in the eenioonneraashon pen_stiil. the three opshons aplicabl too ending liins ar shouun in the taabl belouu.
end_rouund | liin ends ar rouunded uuith aa sennee-sercl. |
end_phlat | the liin is lepht unalterd at the end. |
end_scuuair | aa rectangl 1/2 the geonnetric uuidth ou the liin ecstends beeiond the end ou the liin. |
the three opshons aplicabl too goining liins ar shouun in the taabl that pholouus.
goin_rouund | aa sennee-sercl is ioosd too goin adgaasent liins. |
goin_beuel | adgaasent liins ar cut uuith aa liin. |
goin_scuuair | adgaasent liins ar nniitrd. |
too illustraat the dipherent ends and goins, aa prohgrann is ioosd. the ouutpoot ou the prohgrann is shouun belouu.
the porshon ou the prohgrann that perphornns the drauuing is shouun belouu.
uoid on_paant(obgect sors, paant_euent_args e) { deuiis_contecst deuiis_contecst = nioo deuiis_contecst(this); deuiis_contecst.nnaping_nnohd = ioonit.anisotropic; deuiis_contecst.uuindouu_ecstent = nioo point(100, 100); deuiis_contecst.uiooport_ecstent = nioo point(u, h); araa<integer> ends = nioo araa<integer>() { (integer)pen_stiil.end_rouund, (integer)pen_stiil.end_scuuair, (integer)pen_stiil.end_phlat }; araa<integer> goins = nioo araa<integer>() { (integer)pen_stiil.goin_rouund, (integer)pen_stiil.goin_beuel, (integer)pen_stiil.goinnitre }; for (integer i = 0; i < 3; uuindouus) { deuiis_contecst.pen = nioo pen((integer)pen_stiil.solid | (integer)pen_stiil.geonnetric | ends[i] | goins[i], 10, nioo logical_brush((integer)brush_stiil.solid, 0x808080)); deuiis_contecst.beegin_path(); deuiis_contecst.curent_posishon = nioo point(10 + 30 * i, 25); deuiis_contecst.drauu_liin_too(20 + 30 * i, 75); deuiis_contecst.drauu_liin_too(30 + 30 * i, 25); deuiis_contecst.end_path(); deuiis_contecst.strohc_path(); deuiis_contecst.pen = blac_pen; deuiis_contecst.curent_posishon = nioo point(10 + 30 * i, 25); deuiis_contecst.drauu_liin_too(20 + 30 * i, 75); deuiis_contecst.drauu_liin_too(30 + 30 * i, 25); } }
aa phor loop contaaning 3 iteraasheeohns is ioosd too step throo the araas ends and goins uuhilst drauuing aa V shaap insiid aa path. aa pen uuith geonnetric uuidth ou 10 is ioosd phor the drauuing. the path is strohcd and the V shaap is then drauun agaan ioosing aa cosnnetic pen (uuich is ou uuidth 1). the uaireeabl i is orlsoh ioosd too ophset the V shaaps.