﻿id	summary	reporter	owner	description	type	status	milestone	component	version	severity	resolution	keywords	cc
4056	MakePoints addition to WinAPIConv.au3	MattyD	Jpm	"Just a suggestion for an addition to.
 - WinAPIConv.au3
 - and Structures_Constants.au3 (tagPOINTS)

Many WM messages receive mouse coordinates in lparam, which can sometimes have negative values. I figure approximating the makepoints macro could help in handling this. 

[https://learn.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-makepoints]

{{{#!autoit
#include <WinAPIConv.au3>

;tagPoints is short;short, tagPoint is long;long.
Global Const $tagPoints = ""struct;short X;short Y;endstruct""

$lParam = 0x0000FFFF ;-e.g. returned by WM_ messages
$tPoints = _WinAPI_MakePoints($lParam)

ConsoleWrite(StringFormat(""MakePoints: %d, %d\r\n"", $tPoints.X, $tPoints.Y))
ConsoleWrite(StringFormat(""Lo/Hi Word: %d, %d\r\n"", _WinAPI_LoWord($lParam), _WinAPI_HiWord($lParam)))

Func _WinAPI_MakePoints($iValue)
	Local $tPoints = DllStructCreate($tagPoints)
	DllStructSetData($tPoints, 1, _WinAPI_LoWord($iValue))
	DllStructSetData($tPoints, 2, _WinAPI_HiWord($iValue))
	Return $tPoints
EndFunc
}}}"	Feature Request	closed	3.3.19.0	Standard UDFs		None	Completed		
