{{fbdoc item="title" value="PMAP"}}----
Maps coordinates between view and physical mapping.

{{fbdoc item="syntax"}}##
	[[KeyPgDeclare|declare]] [[KeyPgFunction|function]] **PMap** ( [[KeyPgByval|byval]] //coord// [[KeyPgAs|as]] [[KeyPgSingle|single]], [[KeyPgByval|byval]] //func// [[KeyPgAs|as]] [[KeyPgLong|long]] ) [[KeyPgAs|as]] [[KeyPgSingle|single]]
##
{{fbdoc item="usage"}}##
	//result// = **PMap**( //coord//, //func// )
##
{{fbdoc item="param"}}
	##//coord//##
		An expression indicating the coordinate to be mapped.
	##//func//##
		The mapping function number to be applied to given coordinate.

{{fbdoc item="ret"}}
	The mapped coordinate value.

{{fbdoc item="desc"}}
	This function converts a coordinate between view (as defined by the ##[[KeyPgWindow|Window]]## statement) and physical (as set by the ##[[KeyPgViewgraphics|View (Graphics)]]## statement) mappings. Depending on the value of ##//func//##, ##//expr//## is used to compute a different mapping to be returned by ##**PMap**##:
	
		{{table columns="2" cellpadding="1" cells="func value:;return value:;0;Treats expr as x view coordinate and returns corresponding x physical coordinate.;1;Treats expr as y view coordinate and returns corresponding y physical coordinate.;2;Treats expr as x physical coordinate and returns corresponding x view coordinate.;3;Treats expr as y physical coordinate and returns corresponding y view coordinate."}}

{{fbdoc item="ex"}}
{{fbdoc item="filename" value="examples/manual/gfx/pmap.bas"}}%%(freebasic)
screenres 640, 480
window screen (0, 0)-(100, 100)
print "Logical x=50, Physical x="; pmap(50, 0)   '' 320
print "Logical y=50, Physical y="; pmap(50, 1)   '' 240
print "Physical x=160, Logical x="; pmap(160, 2) '' 25
print "Physical y=60, Logical y="; pmap(60, 3)   '' 12.5
sleep
%%

{{fbdoc item="diff"}}
	- None

{{fbdoc item="see"}}
	- ##[[KeyPgWindow|Window]]##
	- ##[[KeyPgViewgraphics|View (Graphics)]]##

{{fbdoc item="back" value="CatPgGfxScreen|Screen Functions"}}