[PATCH 2/4] Implement GdkScroll.

Jan Nieuwenhuizen <[email protected]> Sat, 19 Jul 2014 15:41:00 +0200
Newsgroups gmane.lisp.guile.gtk
Message-ID <[email protected]>
CSogZ3RrL2dub21lL2d3L2dkay1zdXBwb3J0LmMgKCJnZGstZXZlbnQtPnZlY3RvciIsCgkgICJ2
ZWN0b3ItPmdkay1ldmVudCIpOiBJbXBsZW1lbnQgR2RrU2Nyb2xsLgotLS0KIGd0ay9nbm9tZS9n
dGsvZ2RrLWV2ZW50LnNjbSB8IDE0ICsrKysrKysrKysrKysrCiBndGsvZ25vbWUvZ3cvZ2RrLXN1
cHBvcnQuYyAgfCA0NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst
LS0KIDIgZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRp
ZmYgLS1naXQgYS9ndGsvZ25vbWUvZ3RrL2dkay1ldmVudC5zY20gYi9ndGsvZ25vbWUvZ3RrL2dk
ay1ldmVudC5zY20KaW5kZXggNDRhNjY4ZC4uYmY5MzY5ZCAxMDA2NDQKLS0tIGEvZ3RrL2dub21l
L2d0ay9nZGstZXZlbnQuc2NtCisrKyBiL2d0ay9nbm9tZS9ndGsvZ2RrLWV2ZW50LnNjbQpAQCAt
MTAwLDYgKzEwMCwyMCBAQAogKGRlZmluZS1nZGstZXZlbnQtYWNjZXNzb3IgKGV4cG9zZSkgZXhw
b3NlIGFyZWEgMwogICB2YWwpCiAKKyhkZWZpbmUtZ2RrLWV2ZW50LWFjY2Vzc29yIChzY3JvbGwp
IHNjcm9sbCB0aW1lIDMKKyAgdmFsKQorKGRlZmluZS1nZGstZXZlbnQtYWNjZXNzb3IgKHNjcm9s
bCkgc2Nyb2xsIHggNAorICB2YWwpCisoZGVmaW5lLWdkay1ldmVudC1hY2Nlc3NvciAoc2Nyb2xs
KSBzY3JvbGwgeSA1CisgIHZhbCkKKyhkZWZpbmUtZ2RrLWV2ZW50LWFjY2Vzc29yIChzY3JvbGwp
IHNjcm9sbCBtb2RpZmllcnMgNgorICAoZ2ZsYWdzLT5zeW1ib2wtbGlzdCAobWFrZSA8Z2RrLW1v
ZGlmaWVyLXR5cGU+ICM6dmFsdWUgdmFsKSkpCisoZGVmaW5lLWdkay1ldmVudC1hY2Nlc3NvciAo
c2Nyb2xsKSBzY3JvbGwgZGlyZWN0aW9uIDcKKyAgdmFsKQorKGRlZmluZS1nZGstZXZlbnQtYWNj
ZXNzb3IgKHNjcm9sbCkgc2Nyb2xsIHgtcm9vdCA5CisgIHZhbCkKKyhkZWZpbmUtZ2RrLWV2ZW50
LWFjY2Vzc29yIChzY3JvbGwpIHNjcm9sbCB5LXJvb3QgMTAKKyAgdmFsKQogCiA7OwogOzsgVXBk
YXRlIHRoaXMgbGlzdCB3aXRoIHRoZSBmb2xsb3dpbmcgYml0IG9mIHBlcmw6CmRpZmYgLS1naXQg
YS9ndGsvZ25vbWUvZ3cvZ2RrLXN1cHBvcnQuYyBiL2d0ay9nbm9tZS9ndy9nZGstc3VwcG9ydC5j
CmluZGV4IGEzODM4MjkuLmRmMjhmZTkgMTAwNjQ0Ci0tLSBhL2d0ay9nbm9tZS9ndy9nZGstc3Vw
cG9ydC5jCisrKyBiL2d0ay9nbm9tZS9ndy9nZGstc3VwcG9ydC5jCkBAIC0xMDcsNiArMTA3LDI5
IEBAIGdka19ldmVudF90b192ZWN0b3IgKEdka0V2ZW50ICpldmVudCkKICAgICAgICAgICAgIFZT
RVQgKHJldCwgMTIsIHNjbV9mcm9tX2ludCAoZWNyb3NzaW5nLnN0YXRlKSk7CiAgICAgICAgICAg
ICByZXR1cm4gcmV0OwogICAgICAgICB9CisgICAgY2FzZSBHREtfU0NST0xMOgorICAgICAgICB7
CisgICAgICAgICAgICBHZGtFdmVudFNjcm9sbCBlc2Nyb2xsID0gZXZlbnQtPnNjcm9sbDsKKyAg
ICAgICAgICAgIFNDTSByZXQ7CisKKyAgICAgICAgICAgIC8qIDExIGZpZWxkcyAod2UgaWdub3Jl
IGF4ZXMpICovCisgICAgICAgICAgICByZXQgPSBzY21fY19tYWtlX3ZlY3RvciAoMTEsIFNDTV9C
T09MX0YpOworICAgICAgICAgICAgCisgICAgICAgICAgICBWU0VUIChyZXQsIDAsIHR5cGUpOwor
ICAgICAgICAgICAgVlNFVCAocmV0LCAxLCBzY21fY19ndHlwZV9pbnN0YW5jZV90b19zY20gKGVz
Y3JvbGwud2luZG93KSk7CisgICAgICAgICAgICBWU0VUIChyZXQsIDIsIGVzY3JvbGwuc2VuZF9l
dmVudCA/IFNDTV9CT09MX1QgOiBTQ01fQk9PTF9GKTsKKyAgICAgICAgICAgIFZTRVQgKHJldCwg
Mywgc2NtX2Zyb21fdWxvbmcgKGVzY3JvbGwudGltZSkpOworICAgICAgICAgICAgVlNFVCAocmV0
LCA0LCBzY21fZnJvbV9kb3VibGUgKGVzY3JvbGwueCkpOworICAgICAgICAgICAgVlNFVCAocmV0
LCA1LCBzY21fZnJvbV9kb3VibGUgKGVzY3JvbGwueSkpOworICAgICAgICAgICAgVlNFVCAocmV0
LCA2LCBzY21fZnJvbV9pbnQgKGVzY3JvbGwuc3RhdGUpKTsKKwkgICAgU0NNIGRpcmVjdGlvbiA9
IHNjbV9jX21ha2VfZ3ZhbHVlIChHREtfVFlQRV9TQ1JPTExfRElSRUNUSU9OKTsKKwkgICAgZ192
YWx1ZV9zZXRfZW51bSAoc2NtX2NfZ3ZhbHVlX3BlZWtfdmFsdWUgKGRpcmVjdGlvbiksIGVzY3Jv
bGwuZGlyZWN0aW9uKTsKKyAgICAgICAgICAgIFZTRVQgKHJldCwgNywgZGlyZWN0aW9uKTsKKyAg
ICAgICAgICAgIFZTRVQgKHJldCwgOCwgc2NtX2NfZ3R5cGVfaW5zdGFuY2VfdG9fc2NtIChlc2Ny
b2xsLmRldmljZSkpOworICAgICAgICAgICAgVlNFVCAocmV0LCA5LCBzY21fZnJvbV9kb3VibGUg
KGVzY3JvbGwueF9yb290KSk7CisgICAgICAgICAgICBWU0VUIChyZXQsIDEwLCBzY21fZnJvbV9k
b3VibGUgKGVzY3JvbGwueV9yb290KSk7CisgICAgICAgICAgICByZXR1cm4gcmV0OworICAgICAg
ICB9CiAgICAgY2FzZSBHREtfU0VMRUNUSU9OX0NMRUFSOgogICAgIGNhc2UgR0RLX1NFTEVDVElP
Tl9OT1RJRlk6CiAgICAgY2FzZSBHREtfU0VMRUNUSU9OX1JFUVVFU1Q6CkBAIC0yNDQsOSArMjY3
LDI3IEBAIHZlY3Rvcl90b19nZGtfZXZlbnQgKFNDTSB2ZWMpCiAJICBicmVhazsKIAkgIAogCWNh
c2UgR0RLX1NDUk9MTDoKLQkgIGV2ZW50LT5zY3JvbGwudGltZSA9IHNjbV90b191aW50MzIgKHNj
bV9jX3ZlY3Rvcl9yZWYgKHZlYywgMykpOwotCSAgZXZlbnQtPnNjcm9sbC5zdGF0ZSA9IHNjbV90
b191aW50IChzY21fY192ZWN0b3JfcmVmICh2ZWMsIDQpKTsKLQkgIGJyZWFrOworCSAgeworCSAg
ICBTQ00gZCA9IHNjbV9jX3ZlY3Rvcl9yZWYgKHZlYywgNyk7CisJICAgIEdka1Njcm9sbERpcmVj
dGlvbiBkaXIgPSBHREtfU0NST0xMX1VQOworCSAgICBpZiAoc2NtX2NfZ3ZhbHVlX2hvbGRzIChk
LCBHREtfVFlQRV9TQ1JPTExfRElSRUNUSU9OKSkKKwkgICAgICB7CisJCUdWYWx1ZSAqZ3ZhbHVl
ID0gc2NtX2NfZ3ZhbHVlX3BlZWtfdmFsdWUgKGQpOworCQlkaXIgPSBnX3ZhbHVlX2dldF9lbnVt
IChndmFsdWUpOworCSAgICAgIH0KKwkgICAgZWxzZSBpZiAoc2NtX2lzX3NpZ25lZF9pbnRlZ2Vy
IChkLCAwLCBHREtfRVZFTlRfTEFTVCkpCisJICAgICAgZGlyID0gKEdka1Njcm9sbERpcmVjdGlv
bikgc2NtX3RvX2ludCAoZCk7CisJICAgIAorCSAgICBldmVudC0+c2Nyb2xsLnRpbWUgPSBzY21f
dG9fdWludDMyIChzY21fY192ZWN0b3JfcmVmICh2ZWMsIDMpKTsKKwkgICAgZXZlbnQtPnNjcm9s
bC54ID0gc2NtX3RvX2RvdWJsZSAoc2NtX2NfdmVjdG9yX3JlZiAodmVjLCA0KSk7CisJICAgIGV2
ZW50LT5zY3JvbGwueSA9IHNjbV90b19kb3VibGUgKHNjbV9jX3ZlY3Rvcl9yZWYgKHZlYywgNSkp
OworCSAgICBldmVudC0+c2Nyb2xsLnN0YXRlID0gc2NtX3RvX3VpbnQgKHNjbV9jX3ZlY3Rvcl9y
ZWYgKHZlYywgNikpOworCSAgICBldmVudC0+c2Nyb2xsLmRpcmVjdGlvbiA9IGRpcjsKKwkgICAg
ZXZlbnQtPnNjcm9sbC5kZXZpY2UgPSBOVUxMOworCSAgICBldmVudC0+c2Nyb2xsLnhfcm9vdCA9
IHNjbV90b19kb3VibGUgKHNjbV9jX3ZlY3Rvcl9yZWYgKHZlYywgOSkpOworCSAgICBldmVudC0+
c2Nyb2xsLnlfcm9vdCA9IHNjbV90b19kb3VibGUgKHNjbV9jX3ZlY3Rvcl9yZWYgKHZlYywgMTAp
KTsKKwkgICAgYnJlYWs7CisJICB9CiAJICAKIAljYXNlIEdES19FWFBPU0U6CiAJICB7Ci0tIApK
YW4gTmlldXdlbmh1aXplbiA8amFubmVrZUBnbnUub3JnPiB8IEdOVSBMaWx5UG9uZCBodHRwOi8v
bGlseXBvbmQub3JnCkZyZWVsYW5jZSBJVCBodHRwOi8vSm95b2ZTb3VyY2UuY29tIHwgQXZhdGFy
wq4gIGh0dHA6Ly9BdmF0YXJBY2FkZW15Lm5sICAKCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpndWlsZS1ndGstZ2VuZXJhbCBtYWlsaW5nIGxpc3QKZ3Vp
bGUtZ3RrLWdlbmVyYWxAZ251Lm9yZwpodHRwczovL2xpc3RzLmdudS5vcmcvbWFpbG1hbi9saXN0
aW5mby9ndWlsZS1ndGstZ2VuZXJhbAo=