Fix ColorPicker detecting grid (#24413)

* Fix ColorPicker sampling colour from the grid

Addresses #13831. The sampled pixel is now completely avoided by the grid.
Also, this should address the timing issue from the sampling being done
every 10ms, which overlaps strangely with monitor refresh rates at 16.6ms,
13.3ms, etc.

* Forgot extra library

* Revert rounding in GetPixelColor

* Ensure EnumDisplaySettingsW returns true

Assigning refreshRate only if EnumDisplaySettingsW returns true,
otherwise defaulting to 60.0Hz.

* Run spellchecker

* Spellcheck again

---------

Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
This commit is contained in:
Tudor Croitoru
2023-03-17 21:25:03 +00:00
committed by GitHub
parent dbe52d3d52
commit 41997eb599
6 changed files with 99 additions and 139 deletions

View File

@@ -77,10 +77,10 @@
^\.gitmodules$
^\Q.github/workflows/spelling2.yml\E$
^\Q.pipelines/ESRPSigning_core.json\E$
^\Qinstaller/PowerToysSetup/Settings.wxs\E$
^\Qsrc/common/ManagedCommon/ColorFormatHelper.cs\E$
^\Qsrc/modules/colorPicker/ColorPickerUI/Shaders/GridShader.cso\E$
^\Qsrc/modules/MouseUtils/MouseJumpUI/MainForm.resx\E$
^\Qsrc/common/ManagedCommon/ColorFormatHelper.cs\E$
^\Qinstaller/PowerToysSetup/Settings.wxs\E$
^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/CorruptJson/Microsoft/PowerToys/settings.json\E$
^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/v0.18.2/Microsoft/PowerToys/PowerRename/power-rename-ui-flags\E$
^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/v0.19.2/Microsoft/PowerToys/PowerRename/power-rename-ui-flags\E$

View File

@@ -29,8 +29,6 @@ AFFINETRANSFORM
AFX
AGGREGATABLE
AHybrid
Akrotiri
Aktobe
ALarger
alekhyareddy
ALLAPPS
@@ -43,13 +41,12 @@ amd
AModifier
AMPROPERTY
AMPROPSETID
Andreanof
ANDSCANS
anges
angularsen
Animatable
ansicolor
ANull
ANDSCANS
AOC
aocfnapldcnfbofgmbbllojgocaelgdd
APARTMENTTHREADED
@@ -72,10 +69,8 @@ appref
apps
appwindow
appwiz
appxpackage
APSTUDIO
AQS
Aqtobe
ARCHITEW
arcosh
ARemapped
@@ -94,7 +89,6 @@ ASingle
ASSOCCHANGED
ASYNCWINDOWPLACEMENT
ASYNCWINDOWPOS
Atikokan
atl
atlbase
atlcom
@@ -102,7 +96,6 @@ atleast
atlfile
atlstr
Attribs
Atyrau
aumid
Aut
Authenticode
@@ -113,18 +106,14 @@ AUTOMATIONPROPERTIES
Autorun
AUTOUPDATE
AValid
Avanc
awakeness
awakeversion
AYUV
azman
backtracer
bak
Bashkortostan
Bayan
bbwe
bck
Belarus
betadele
betsegaw
BGR
@@ -142,8 +131,8 @@ BITSPIXEL
bla
BLACKONWHITE
Blockquotes
Blt
blogs
Blt
BLUEGRAY
Bluetooth
BLURBEHIND
@@ -164,7 +153,6 @@ bricelam
BRIGHTGREEN
Browsable
bsd
Bson
bstr
bthprops
bti
@@ -176,14 +164,10 @@ bugreport
BUILDNUMBER
buildtask
buildtransitive
Burkina
Buryatia
BUTTONUP
BValue
BYPOSITION
bytearray
Cabo
Caiguna
CALG
callbackptr
Cangjie
@@ -192,6 +176,10 @@ CAPTUREBLT
CAPTURECHANGED
CAtl
cch
CCHDEVICENAME
CCHDEVICENAME
CCHFORMNAME
CCHFORMNAME
CCom
CContext
cdecl
@@ -208,28 +196,24 @@ Changemove
chdir
CHILDACTIVATE
CHILDWINDOW
Choibalsan
chrdavis
Chrzan
cht
Chukotka
Chuuk
CIELAB
CIEXYZ
cim
CImage
cla
clangformat
clayton
CLASSDC
CLASSNOTAVAILABLE
clayton
clickable
clickonce
CLIENTEDGE
clientid
clientside
CLIPCHILDREN
Clipperton
CLIPSIBLINGS
Cloneable
clrcall
@@ -249,7 +233,6 @@ cmpgt
cmyk
cne
cnt
Cocklebiddy
coclass
CODENAME
codeofconduct
@@ -274,7 +257,6 @@ cominterop
commandline
COMMANDTITLE
commctrl
Comoros
compmgmt
COMPOSITIONFULL
comsupp
@@ -296,7 +278,6 @@ CONTROLL
CONTROLPARENT
Controlz
copiedcolorrepresentation
corewebview
cortana
cotaskmem
COULDNOT
@@ -310,7 +291,6 @@ CProj
CREATESCHEDULEDTASK
CREATESTRUCT
CREATEWINDOWFAILED
createcompatibledc
critsec
Crossdevice
CRSEL
@@ -327,7 +307,6 @@ CTRLALTDEL
Ctrls
Ctx
CUI
Cunha
currentculture
CURRENTDIR
CURSORINFO
@@ -351,12 +330,10 @@ cziplib
Dac
dacl
damienleroy
Danmarkshavn
DARKPURPLE
DARKTEAL
DARKYELLOW
datareader
datatemplate
Datavalue
dataversion
DATAW
@@ -414,6 +391,8 @@ devblogs
devdocs
devenum
devmgmt
DEVMODEW
DEVMODEW
DEVMON
devpkey
DEVSOURCE
@@ -436,7 +415,6 @@ dllmain
DNLEN
Dns
DONOTROUND
DONTRESOLVEDLLREFERENCES
DONTVALIDATEPATH
dotnet
DPICHANGED
@@ -500,7 +478,6 @@ endpointvolume
endregion
ENTERSIZEMOVE
enu
enumerationoptions
EOAC
epicgames
epu
@@ -514,10 +491,8 @@ ESettings
esize
esn
esrp
Eswatini
etl
etw
Eucla
EUQ
eurochange
eventlog
@@ -554,7 +529,6 @@ fancyzones
FANCYZONESDRAWLAYOUTTEST
FANCYZONESEDITOR
Farbraum
Faroe
FARPROC
fdw
feimage
@@ -594,7 +568,6 @@ FSCTL
fsmgmt
FTYPE
Functiondiscoverykeys
Futuna
fwlink
FZE
gabime
@@ -612,8 +585,6 @@ gcode
gdi
gdiplus
GDISCALED
getancestor
getasynckeystate
GETDESKWALLPAPER
GETDLGCODE
GETDPISCALEDSIZE
@@ -623,7 +594,6 @@ GETSTATE
GETTEXT
GETTEXTLENGTH
GHND
globalassemblycache
Globbing
GMEM
GNumber
@@ -642,7 +612,6 @@ gwl
GWLP
HACCEL
handlekeyboardhookevent
handlerroutine
hangeul
Hankaku
hanselman
@@ -672,7 +641,6 @@ HEB
Heiko
Helpline
helptext
Heure
HGFE
hglobal
hhk
@@ -711,7 +679,6 @@ hotkeycontrol
hotkeys
hotlight
hotspot
Hovd
HPAINTBUFFER
HPALETTE
HRAWINPUT
@@ -793,7 +760,6 @@ Inlines
inorder
INPC
inproc
inputdev
INPUTHARDWARE
INPUTKEYBOARD
INPUTLANGCHANGED
@@ -822,7 +788,6 @@ ipcmanager
IPlugin
IPower
IPREVIEW
ipreviewhandler
ipreviewhandlervisualssetfont
IProperty
IPublic
@@ -837,11 +802,8 @@ iss
ITask
ith
ITHUMBNAIL
Ittoqqortoormiit
IUI
IUnknown
ivirtualdesktopmanager
Ivoire
IWbem
IWIC
iwr
@@ -876,20 +838,11 @@ keynum
keyremaps
Keytool
keyup
Khakassia
Khanty
Khovd
KILLFOCUS
killrunner
Kitts
Knownfolders
Krai
KSPROPERTY
Kwango
Kwilu
Kybd
Kyrgyzstan
Kyzylorda
LAlt
Lambson
langword
@@ -909,8 +862,8 @@ LCtrl
Ldone
ldx
LEFTDOWN
LEFTUP
LEFTSCROLLBAR
LEFTUP
lego
len
LError
@@ -935,7 +888,6 @@ LMEM
LMENU
lnk
LOADFROMFILE
LOADLIBRARYASDATAFILE
LOBYTE
LOCALAPPDATA
LOCALDISPLAY
@@ -988,16 +940,12 @@ lstrcmpi
lstrlen
LTRB
LTRREADING
Luhansk
luid
lusrmgr
LWA
lwin
LZero
lzw
Maarten
Macquarie
Magadan
Mainwindow
majortype
MAJORVERSION
@@ -1005,10 +953,7 @@ makecab
MAKEINTRESOURCE
MAKEINTRESOURCEW
makepri
Mangere
Mangystau
manifestdependency
Mansi
MAPPEDTOSAMEKEY
MAPTOSAMESHORTCUT
MAPVK
@@ -1016,10 +961,8 @@ Markdig
markdownpreviewhandler
MARKDOWNPREVIEWHANDLERCPP
Markovic
Marquesas
martinchrzan
martinmoene
Mato
Maximizable
MAXIMIZEBOX
MAXSHORTCUTSIZE
@@ -1031,8 +974,6 @@ MBUTTON
MBUTTONDBLCLK
MBUTTONDOWN
MBUTTONUP
MCDT
MCST
MDICHILD
MDL
mdtext
@@ -1043,7 +984,6 @@ mediatype
Melman
MENUITEMINFO
MENUITEMINFOW
menurc
MERGECOPY
MERGEPAINT
Metadatas
@@ -1059,9 +999,9 @@ mftransform
Mgmt
mic
microsoft
Midl
MIDDLEDOWN
MIDDLEUP
Midl
mii
MIIM
millis
@@ -1075,7 +1015,6 @@ miniz
minlevel
MINORVERSION
Miracast
Mishkeegogamang
mjpg
mkd
mkdn
@@ -1091,8 +1030,6 @@ mockapi
MODECHANGE
modernwpf
MODESPRUNED
Moldova
Mongala
MONITORINFO
MONITORINFOEX
MONITORINFOEXW
@@ -1137,15 +1074,11 @@ MTND
Mul
MULTIPLEUSE
multizone
Mundrabilla
mvvm
myfile
MYICON
MYTZ
NAMECHANGE
nameof
Navassa
navigatetostring
NCACTIVATE
ncc
NCCALCSIZE
@@ -1167,7 +1100,6 @@ NCRBUTTONDBLCLK
NCRBUTTONDOWN
NCRBUTTONUP
NCRENDERING
Ndombe
ndp
NEEDDISPATCH
Nemeth
@@ -1211,7 +1143,6 @@ nonclient
NONCONVERT
NONELEVATED
NONINFRINGEMENT
nonpackaged
nonstd
NOOWNERZORDER
NOPARENTNOTIFY
@@ -1224,7 +1155,6 @@ NOREPOSITION
norestart
NORMALDISPLAY
NORMALUSER
Noronha
NOSEARCH
NOSENDCHANGING
NOSIZE
@@ -1251,8 +1181,6 @@ nullonfailure
numberbox
NUMLOCK
NUMPAD
Nunavut
Nusa
nwc
Objbase
OBJID
@@ -1273,8 +1201,6 @@ oldtheme
oleaut
OLECHAR
OLEDB
oledbcommand
oledbconnection
OLIVEGREEN
onebranch
onenote
@@ -1339,6 +1265,8 @@ pdtobj
pdw
PDWORD
pedrolamas
Pels
Pels
PERCEIVEDFLAG
perfmon
pesi
@@ -1362,7 +1290,6 @@ PINDIR
pinfo
pinvoke
pipename
Pitcairn
PKBDLLHOOKSTRUCT
PKEY
plib
@@ -1374,7 +1301,6 @@ plugins
pluginsmodel
PMSIHANDLE
Pnp
Pohnpei
Popups
POPUPWINDOW
posix
@@ -1415,7 +1341,6 @@ PREVIOUSVERSIONSINSTALLED
prevpane
prgms
pri
Primorsky
PRINTCLIENT
printmanagement
prm
@@ -1464,7 +1389,6 @@ QITAB
QITABENT
qps
QUERYENDSESSION
queryfocus
QUERYOPEN
QUEUESYNC
Quickime
@@ -1509,7 +1433,6 @@ regfile
REGFILTER
REGFILTERPINS
REGISTERCLASSFAILED
registerhotkey
registrypath
regkey
REGPINTYPES
@@ -1536,7 +1459,6 @@ resizers
RESIZETOFIT
resmimetype
RESOURCEID
resourcemanager
RESTORETOMAXIMIZED
restrictedcapabilities
restrictederrorinfo
@@ -1553,21 +1475,19 @@ rhs
ricardosantos
RIDEV
RIGHTDOWN
RIGHTUP
RIGHTSCROLLBAR
RIGHTUP
riid
RKey
RLO
RMENU
RNumber
roadmap
Roamable
robmensching
Roboto
rooler
rop
roslyn
Rothera
roundf
ROUNDSMALL
Rpc
@@ -1606,7 +1526,6 @@ SAMESHORTCUTPREVIOUSLYMAPPED
SAVEFAILED
scancode
scanled
Schd
schedtasks
Scip
scipbe
@@ -1618,10 +1537,8 @@ sddl
SDKDDK
sdns
searchterm
secauthz
secpol
Secur
securityoverview
Segoe
Sekan
SENDCHANGE
@@ -1657,7 +1574,6 @@ shellex
SHELLEXECUTEINFO
SHELLEXECUTEINFOW
shellscalingapi
shemptyrecyclebina
SHFILEINFO
SHGFI
Shl
@@ -1722,13 +1638,12 @@ Soref
SOURCECLIENTAREAONLY
SOURCEHEADER
sourcesdirectory
SPACEBAR
spam
spdisp
spdlog
spdo
specialfolder
spec'ing
specialfolder
spesi
splitwstring
spsi
@@ -1742,7 +1657,6 @@ Srch
SRCINVERT
SRCPAINT
sre
Srednekolymsk
SResize
srme
srre
@@ -1794,9 +1708,7 @@ subkey
SUBLANG
subquery
subresource
Sul
Superbar
Suri
sut
SVE
SVGIn
@@ -1816,7 +1728,6 @@ SYSCOMMAND
SYSDEADCHAR
sysdm
SYSICONINDEX
sysinfo
SYSKEY
syskeydown
SYSKEYUP
@@ -1826,7 +1737,6 @@ systemroot
SYSTEMTIME
sysvol
Tadele
Tajikistan
talynone
TApp
TApplication
@@ -1854,7 +1764,6 @@ telem
telephon
Templated
templatenamespace
Tenggara
testapp
testcase
testhost
@@ -1874,7 +1783,6 @@ timedate
timediff
timeunion
timeutil
timezones
Titlecase
TKey
TLayout
@@ -1887,7 +1795,6 @@ toolkitconverters
Toolset
toolwindow
TOPDOWNDIB
tostring
TOUCHEVENTF
TOUCHINPUT
touchpad
@@ -1895,15 +1802,12 @@ Towindow
tracelogging
traies
transicc
Transnistria
TRAYMOUSEMESSAGE
triaging
TRK
trl
TServer
Tshuapa
TStr
Tuva
TValue
TWF
tymed
@@ -1917,23 +1821,18 @@ TYPESHORTCUT
UAC
UAL
uap
uapmanifestschema
udit
Udk
Udmurtia
Udp
uefi
UHash
UIA
uiauto
uid
UIEx
uipi
UIs
Ulaanbaatar
ULARGE
ULONGLONG
UMsg
unassign
uncompilable
UNCPRIORITY
@@ -1954,13 +1853,11 @@ unmute
UNORM
unregistering
unremapped
Unstub
unsubscribe
unvirtualized
Updatelayout
UPGRADINGPRODUCTCODE
Uptool
Urville
Usb
USEDEFAULT
USEFILEATTRIBUTES
@@ -1973,7 +1870,6 @@ USRDLL
Utc
utf
uuidof
Uvs
uwp
uxtheme
UYVY
@@ -2014,7 +1910,6 @@ viewbox
viewmodel
vih
VIRTUALDESK
virtualkey
visiblecolorformats
Visibletrue
VKey
@@ -2070,7 +1965,6 @@ wikipedia
wildcards
winapi
winappdriver
winauto
wincodec
Wincodecsdk
wincolor
@@ -2097,7 +1991,6 @@ winevt
winexe
winforms
winfx
wingdi
winget
wingetcreate
Winhook
@@ -2105,7 +1998,6 @@ winkey
WINL
winmd
winmm
winmsg
WINNT
winres
winrt
@@ -2116,7 +2008,6 @@ winternl
WINTHRESHOLD
winui
winuiex
winuser
winxamlmanager
wistd
withinrafael
@@ -2170,11 +2061,9 @@ wtoi
WTS
wtsapi
WTSAT
wtypes
Wubi
wuceffectsi
WVC
WVk
Wwan
Wwanpp
XAttribute
@@ -2184,11 +2073,9 @@ XBUTTON
XBUTTONDBLCLK
XBUTTONDOWN
XBUTTONUP
XControl
xcopy
XDocument
XDOWN
XUP
XElement
XFile
XIncrement
@@ -2199,14 +2086,16 @@ XPixel
XResource
xsi
XStr
XUP
XVIRTUALSCREEN
Yamalia
YAxis
YIncrement
yinle
yinwang
yinyue
YOffset
YResolution
YResolution
YStr
YUY
yuyoyuppe
@@ -2214,7 +2103,6 @@ YUYV
YVIRTUALSCREEN
YVU
YVYU
Zabaykalsky
ZEROINIT
ZIndex
zipfile
@@ -2222,6 +2110,5 @@ zipfolder
zonable
zoneset
Zoneszonabletester
Zonev
Zykova
zzz