mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-15 19:27:56 +01:00
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:
4
.github/actions/spell-check/excludes.txt
vendored
4
.github/actions/spell-check/excludes.txt
vendored
@@ -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$
|
||||
|
||||
149
.github/actions/spell-check/expect.txt
vendored
149
.github/actions/spell-check/expect.txt
vendored
@@ -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
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace ColorPicker.Mouse
|
||||
[PartCreationPolicy(CreationPolicy.Shared)]
|
||||
public class MouseInfoProvider : IMouseInfoProvider
|
||||
{
|
||||
private const int MousePullInfoIntervalInMs = 10;
|
||||
private readonly double _mousePullInfoIntervalInMs;
|
||||
private readonly DispatcherTimer _timer = new DispatcherTimer();
|
||||
private readonly MouseHook _mouseHook;
|
||||
private readonly IUserSettings _userSettings;
|
||||
@@ -29,7 +29,8 @@ namespace ColorPicker.Mouse
|
||||
[ImportingConstructor]
|
||||
public MouseInfoProvider(AppStateHandler appStateMonitor, IUserSettings userSettings)
|
||||
{
|
||||
_timer.Interval = TimeSpan.FromMilliseconds(MousePullInfoIntervalInMs);
|
||||
_mousePullInfoIntervalInMs = 1000.0 / GetMainDisplayRefreshRate();
|
||||
_timer.Interval = TimeSpan.FromMilliseconds(_mousePullInfoIntervalInMs);
|
||||
_timer.Tick += Timer_Tick;
|
||||
|
||||
if (appStateMonitor != null)
|
||||
@@ -111,6 +112,22 @@ namespace ColorPicker.Mouse
|
||||
return (System.Windows.Point)lpPoint;
|
||||
}
|
||||
|
||||
private static double GetMainDisplayRefreshRate()
|
||||
{
|
||||
double refreshRate = 60.0;
|
||||
|
||||
foreach (var monitor in MonitorResolutionHelper.AllMonitors)
|
||||
{
|
||||
if (monitor.IsPrimary && EnumDisplaySettingsW(monitor.Name, ENUM_CURRENT_SETTINGS, out DEVMODEW lpDevMode))
|
||||
{
|
||||
refreshRate = (double)lpDevMode.dmDisplayFrequency;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return refreshRate;
|
||||
}
|
||||
|
||||
private void AppStateMonitor_AppClosed(object sender, EventArgs e)
|
||||
{
|
||||
DisposeHook();
|
||||
|
||||
@@ -22,6 +22,9 @@ namespace ColorPicker
|
||||
public const int KfAltdown = 0x2000;
|
||||
public const int LlkhfAltdown = KfAltdown >> 8;
|
||||
public const int MonitorinfofPrimary = 0x00000001;
|
||||
public const int CCHDEVICENAME = 32;
|
||||
public const int CCHFORMNAME = 32;
|
||||
public const uint ENUM_CURRENT_SETTINGS = 4294967295;
|
||||
public const int VK_SHIFT = 0x10;
|
||||
public const int VK_CONTROL = 0x11;
|
||||
public const int VK_MENU = 0x12;
|
||||
@@ -57,6 +60,13 @@ namespace ColorPicker
|
||||
internal static extern bool EnumDisplayMonitors(
|
||||
HandleRef hdc, IntPtr rcClip, MonitorEnumProc lpfnEnum, IntPtr dwData);
|
||||
|
||||
[DllImport("user32.dll", SetLastError = false, CharSet = CharSet.Unicode)]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
internal static extern bool EnumDisplaySettingsW(
|
||||
string lpszDeviceName,
|
||||
uint iModeNum,
|
||||
out DEVMODEW lpDevMode);
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
internal static extern bool GetCursorPos(out PointInter lpPoint);
|
||||
|
||||
@@ -131,6 +141,50 @@ namespace ColorPicker
|
||||
public char[] szDevice = new char[32];
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
||||
internal struct DEVMODEW
|
||||
{
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = CCHDEVICENAME)]
|
||||
public string dmDeviceName;
|
||||
|
||||
public ushort dmSpecVersion;
|
||||
public ushort dmDriverVersion;
|
||||
public ushort dmSize;
|
||||
public ushort dmDriverExtra;
|
||||
public uint dmFields;
|
||||
|
||||
public int dmPositionX;
|
||||
public int dmPositionY;
|
||||
public uint dmDisplayOrientation;
|
||||
public uint dmDisplayFixedOutput;
|
||||
|
||||
public short dmColor;
|
||||
public short dmDuplex;
|
||||
public short dmYResolution;
|
||||
public short dmTTOption;
|
||||
public short dmCollate;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = CCHFORMNAME)]
|
||||
public string dmFormName;
|
||||
|
||||
public short dmLogPixels;
|
||||
public uint dmBitsPerPel;
|
||||
public uint dmPelsWidth;
|
||||
public uint dmPelsHeight;
|
||||
|
||||
public uint dmDisplayFlags;
|
||||
public uint dmDisplayFrequency;
|
||||
|
||||
public uint dmICMMethod;
|
||||
public uint dmICMIntent;
|
||||
public uint dmMediaType;
|
||||
public uint dmDitherType;
|
||||
public uint dmReserved1;
|
||||
public uint dmReserved2;
|
||||
public uint dmPanningWidth;
|
||||
public uint dmPanningHeight;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
internal struct LowLevelKeyboardInputEvent
|
||||
{
|
||||
|
||||
Binary file not shown.
@@ -1,11 +1,13 @@
|
||||
float2 mousePosition : register(C1);
|
||||
float2 mousePosition : register(C1);
|
||||
float radius : register(C2);
|
||||
float squareSize : register(c3);
|
||||
float textureSize : register(c4);
|
||||
|
||||
sampler2D inputSampler : register(S0);
|
||||
|
||||
float4 main(float2 uv : TEXCOORD) : COLOR
|
||||
float4 main(float2 uv
|
||||
: TEXCOORD) :
|
||||
COLOR
|
||||
{
|
||||
// do not draw grid where the mouse is
|
||||
if (uv.x == mousePosition.y && uv.y == mousePosition.y)
|
||||
@@ -42,8 +44,8 @@ float4 main(float2 uv : TEXCOORD) : COLOR
|
||||
int2 topLeftRectangle = int2(mousePositionX - (mousePositionX % squareSize) - 1, mousePositionY - (mousePositionY % squareSize) - 1);
|
||||
|
||||
// do not draw grid inside square even when grid (avoid drawing grid in that area later
|
||||
if (((pixelPositionX >= topLeftRectangle.x + 1 && pixelPositionX <= topLeftRectangle.x + squareSize) && (pixelPositionY == topLeftRectangle.y + 1 || pixelPositionY == topLeftRectangle.y + squareSize)) ||
|
||||
((pixelPositionY >= topLeftRectangle.y + 1 && pixelPositionY <= topLeftRectangle.y + squareSize) && (pixelPositionX == topLeftRectangle.x + 1 || pixelPositionX == topLeftRectangle.x + squareSize)))
|
||||
if (((pixelPositionX >= topLeftRectangle.x + 1 && pixelPositionX <= topLeftRectangle.x + squareSize + 1) && (pixelPositionY == topLeftRectangle.y + 1 || pixelPositionY == topLeftRectangle.y + squareSize + 1)) ||
|
||||
((pixelPositionY >= topLeftRectangle.y + 1 && pixelPositionY <= topLeftRectangle.y + squareSize + 1) && (pixelPositionX == topLeftRectangle.x + 1 || pixelPositionX == topLeftRectangle.x + squareSize + 1)))
|
||||
{
|
||||
return originalColor;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user