Compare commits
843 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8842ee8579 | ||
|
|
a4c837e09b | ||
|
|
e38943ad69 | ||
|
|
8af9287808 | ||
|
|
82c21b1e93 | ||
|
|
eb0a76439c | ||
|
|
4a5d06fb72 | ||
|
|
70b4d11259 | ||
|
|
c44d18e8c2 | ||
|
|
37751cd0fb | ||
|
|
267d8dc3fb | ||
|
|
7b9a8958be | ||
|
|
62616a716f | ||
|
|
650c25e06c | ||
|
|
90d42ef5cc | ||
|
|
92263fd5b1 | ||
|
|
07b39b2140 | ||
|
|
14fca7522d | ||
|
|
b2fe2da866 | ||
|
|
fbb63e3e2d | ||
|
|
ecca2456b8 | ||
|
|
a096820883 | ||
|
|
959d1eff53 | ||
|
|
6231082839 | ||
|
|
6ea86ef1c7 | ||
|
|
d237e04864 | ||
|
|
765902dbd6 | ||
|
|
59c02b7f1c | ||
|
|
420d7414bf | ||
|
|
90a253758d | ||
|
|
9466e8926d | ||
|
|
7c31af26e5 | ||
|
|
485ab7a3d9 | ||
|
|
75659b2b60 | ||
|
|
02108abfa4 | ||
|
|
ac97bfde80 | ||
|
|
2a98e4ace5 | ||
|
|
05c0a487ad | ||
|
|
66888cedec | ||
|
|
579e47bc66 | ||
|
|
6429a66258 | ||
|
|
ab31b0d1aa | ||
|
|
c945526b1f | ||
|
|
9f374a185d | ||
|
|
592794b309 | ||
|
|
0691f8f011 | ||
|
|
2f20fffbae | ||
|
|
c28891bd97 | ||
|
|
d9b7a24c90 | ||
|
|
682dc8eea7 | ||
|
|
46fa7bb4cd | ||
|
|
eeb6e7a7b6 | ||
|
|
d518f5959f | ||
|
|
4d66aeab4e | ||
|
|
9655cc46e5 | ||
|
|
0da9ef6233 | ||
|
|
f42f12e775 | ||
|
|
583a8dd1a7 | ||
|
|
d82e76c1de | ||
|
|
ef8322c46e | ||
|
|
eddb6eb086 | ||
|
|
393e4205ec | ||
|
|
9cdb9e648a | ||
|
|
c7557b95d6 | ||
|
|
c6fc30721c | ||
|
|
4523b394b9 | ||
|
|
d3abcd823f | ||
|
|
2f9e88b664 | ||
|
|
bd6608036a | ||
|
|
3c745d6f7a | ||
|
|
23eeb44beb | ||
|
|
07f8ecd4cf | ||
|
|
1cfbf16617 | ||
|
|
ff669c6b12 | ||
|
|
866c9a498d | ||
|
|
87c5c662c0 | ||
|
|
d6b4bd0967 | ||
|
|
023fbb91d6 | ||
|
|
623f3e00e4 | ||
|
|
1d17891eaa | ||
|
|
292a9b4a02 | ||
|
|
812109cc3f | ||
|
|
4621142e0c | ||
|
|
28c39fb0f8 | ||
|
|
c68490ee17 | ||
|
|
7833835930 | ||
|
|
1a1c1091da | ||
|
|
7e21425228 | ||
|
|
e65112aaef | ||
|
|
7d066258f3 | ||
|
|
527d262804 | ||
|
|
b8a154ad69 | ||
|
|
bd893461b0 | ||
|
|
63d0cf2a83 | ||
|
|
2f5adb1f76 | ||
|
|
40aadf8502 | ||
|
|
10319e1f3d | ||
|
|
b4ec98dbec | ||
|
|
ab5a8e6bb9 | ||
|
|
af3efad099 | ||
|
|
4d1fdfeb10 | ||
|
|
2749b473ce | ||
|
|
8d6b5ece9f | ||
|
|
98b961a1d6 | ||
|
|
7c213fa980 | ||
|
|
8a2bf9f853 | ||
|
|
047dd914a3 | ||
|
|
e3ce367e18 | ||
|
|
9cab6be752 | ||
|
|
3a683e46e7 | ||
|
|
3617c3bd15 | ||
|
|
0b8f666e02 | ||
|
|
a329677311 | ||
|
|
f935432ac5 | ||
|
|
d7bff60140 | ||
|
|
55174e3f62 | ||
|
|
1977ad5bb7 | ||
|
|
695ff3882b | ||
|
|
e9c4313337 | ||
|
|
0ddb4fd989 | ||
|
|
02bae1885b | ||
|
|
81f94245ba | ||
|
|
7acbd5fd24 | ||
|
|
c01578284d | ||
|
|
8055a37230 | ||
|
|
5e7630c1ee | ||
|
|
637ef1df38 | ||
|
|
ed0e7f61af | ||
|
|
830a72b307 | ||
|
|
7d3991f275 | ||
|
|
fe6b3e552e | ||
|
|
9e96e13d28 | ||
|
|
752170e8d6 | ||
|
|
8336d56af9 | ||
|
|
59769a0046 | ||
|
|
7c804dbf21 | ||
|
|
84d6b0f35c | ||
|
|
ccdcc8a1ec | ||
|
|
ca26f696c6 | ||
|
|
4a25c48a01 | ||
|
|
5d9d1f161b | ||
|
|
01dd0eb4c2 | ||
|
|
0b883daf15 | ||
|
|
ad6de7637b | ||
|
|
79e7934eb3 | ||
|
|
ea8a281543 | ||
|
|
cd443f34c7 | ||
|
|
210c3d0129 | ||
|
|
8f1c6e3717 | ||
|
|
989330a9fd | ||
|
|
5930c55d42 | ||
|
|
4f9f52c513 | ||
|
|
cd6caea94c | ||
|
|
5291d0870b | ||
|
|
78bb68685b | ||
|
|
baf2b5c57b | ||
|
|
94b471aaed | ||
|
|
5ce6756f96 | ||
|
|
63076ad085 | ||
|
|
21e5031103 | ||
|
|
7abd5a5636 | ||
|
|
c4fe388255 | ||
|
|
06842a2dc5 | ||
|
|
30a1c4ab35 | ||
|
|
973b52e8cf | ||
|
|
c25e8cefae | ||
|
|
627c285b4c | ||
|
|
36bc6c82f9 | ||
|
|
1670ba1d51 | ||
|
|
adfb60dff7 | ||
|
|
ffc4111fea | ||
|
|
8710a14d34 | ||
|
|
654c989f22 | ||
|
|
1515a5a8f9 | ||
|
|
9c1ecdf112 | ||
|
|
b261ca7ec2 | ||
|
|
4e569765be | ||
|
|
d840504741 | ||
|
|
b1345c0218 | ||
|
|
e119422927 | ||
|
|
9a24f8295b | ||
|
|
a9ebdd3aa8 | ||
|
|
6e42eb1224 | ||
|
|
57121ffe2c | ||
|
|
69fd4348a8 | ||
|
|
590ed447e8 | ||
|
|
3b2466b1ac | ||
|
|
5d4d144103 | ||
|
|
7ca79b2ca5 | ||
|
|
693b568b99 | ||
|
|
8247e44874 | ||
|
|
231cac4f78 | ||
|
|
597aa8b74d | ||
|
|
3eba66d11d | ||
|
|
cc953409d5 | ||
|
|
8aece58e2b | ||
|
|
85f1c1f8bc | ||
|
|
d94f9e5680 | ||
|
|
cb670543bc | ||
|
|
7f406f2db1 | ||
|
|
ea205f75d2 | ||
|
|
951b59ffbe | ||
|
|
590955dcce | ||
|
|
8b83ec9b59 | ||
|
|
700b3e7d8a | ||
|
|
a0b2cf402f | ||
|
|
d46a271112 | ||
|
|
846c91c66d | ||
|
|
05d7be8a54 | ||
|
|
0851a16d90 | ||
|
|
ee25d35cd0 | ||
|
|
666f7d35e4 | ||
|
|
0891ff83b6 | ||
|
|
90c639fe46 | ||
|
|
d65b8e6ff1 | ||
|
|
c5e39fd4c1 | ||
|
|
928a51533f | ||
|
|
cfb51ddb4a | ||
|
|
7599f1804c | ||
|
|
4fc47c800d | ||
|
|
19e8357471 | ||
|
|
4de087262e | ||
|
|
2c9c2f704c | ||
|
|
84f5091459 | ||
|
|
2ce384cc5a | ||
|
|
94592be5bc | ||
|
|
d763169bb5 | ||
|
|
3ae6d33667 | ||
|
|
73f386169c | ||
|
|
deed16b151 | ||
|
|
e2355b55e4 | ||
|
|
09da977dc9 | ||
|
|
5720cf8144 | ||
|
|
de96cea732 | ||
|
|
74e71495c2 | ||
|
|
7e1673d0b7 | ||
|
|
695862797c | ||
|
|
3985d69735 | ||
|
|
30149dabcf | ||
|
|
088206b267 | ||
|
|
d05730db49 | ||
|
|
dce69904d8 | ||
|
|
459bdbb143 | ||
|
|
153ec7be56 | ||
|
|
89c0522c45 | ||
|
|
4a38330a90 | ||
|
|
f35dff334f | ||
|
|
0c2f3402c3 | ||
|
|
cfd2d6d2e7 | ||
|
|
e586dd2571 | ||
|
|
fd49340edb | ||
|
|
b333d5ea4e | ||
|
|
92e52fd188 | ||
|
|
8e1878bc32 | ||
|
|
5744bb3cf1 | ||
|
|
5da91504da | ||
|
|
423868b408 | ||
|
|
414bc202e7 | ||
|
|
e7bd73f2b0 | ||
|
|
2cb31edf6f | ||
|
|
3214122fbd | ||
|
|
3b62f2f01d | ||
|
|
eea2e1c631 | ||
|
|
6ce24d82d6 | ||
|
|
513ce6135a | ||
|
|
1041f93f7f | ||
|
|
ed5f6d4333 | ||
|
|
d17fd81d9b | ||
|
|
fcec9b9812 | ||
|
|
d20fdd18eb | ||
|
|
6604f00236 | ||
|
|
69a44ee9ef | ||
|
|
1d8a1a04f6 | ||
|
|
26f4c05db3 | ||
|
|
c35d1ed0bd | ||
|
|
daa22adf8a | ||
|
|
96fd15454b | ||
|
|
4f76f18b9f | ||
|
|
46ff5ef6ce | ||
|
|
c0685c0f58 | ||
|
|
d7b3fe7d33 | ||
|
|
8c498b86e6 | ||
|
|
d48f53b938 | ||
|
|
c5934f537a | ||
|
|
0a1dae816e | ||
|
|
b89217dd52 | ||
|
|
385f1b7eb8 | ||
|
|
7a81aaf3c8 | ||
|
|
51ef798251 | ||
|
|
5350d2bd82 | ||
|
|
ef217deda2 | ||
|
|
341b171ee8 | ||
|
|
d7a17459db | ||
|
|
b969a463ef | ||
|
|
569a19c209 | ||
|
|
96065db38d | ||
|
|
8e508f8bd9 | ||
|
|
e7f4bae072 | ||
|
|
9a5afff6e6 | ||
|
|
0aea638785 | ||
|
|
30de13d70e | ||
|
|
62c1fc82a2 | ||
|
|
c87c5cd0ba | ||
|
|
0285a255bc | ||
|
|
6b7b55f9b2 | ||
|
|
f96437317b | ||
|
|
f8f74b59e3 | ||
|
|
bc879ab2dd | ||
|
|
9f1f56f2c0 | ||
|
|
9413ab3b1d | ||
|
|
eb96a7f832 | ||
|
|
18931cf0db | ||
|
|
5c95a2fc12 | ||
|
|
8ff7d39df7 | ||
|
|
2ebe813c98 | ||
|
|
9d0ec409ff | ||
|
|
aa08b87ab6 | ||
|
|
1c366aac68 | ||
|
|
10d4a2a43e | ||
|
|
b65e30e7ec | ||
|
|
d2f0b8ec71 | ||
|
|
214bd065d0 | ||
|
|
7ead9d45de | ||
|
|
61de42a731 | ||
|
|
0145db0dbb | ||
|
|
ab76493700 | ||
|
|
cc141329ed | ||
|
|
5cfb8b9680 | ||
|
|
e307c51a94 | ||
|
|
891c4edcc0 | ||
|
|
b5a3900588 | ||
|
|
df8a688656 | ||
|
|
964c202c38 | ||
|
|
1b858e4212 | ||
|
|
39349cdea3 | ||
|
|
ee9e708cf6 | ||
|
|
2e6dd4082f | ||
|
|
0182d1ed38 | ||
|
|
394a7627c5 | ||
|
|
a1b719040a | ||
|
|
4e75800057 | ||
|
|
fa3abde644 | ||
|
|
3c96ea0ae7 | ||
|
|
fb126586ed | ||
|
|
416bcd0b6a | ||
|
|
c7bd54c58d | ||
|
|
854ebc535c | ||
|
|
01958e20ad | ||
|
|
d8239887b7 | ||
|
|
df236fba58 | ||
|
|
e14f836200 | ||
|
|
9603754f7d | ||
|
|
c75793ee17 | ||
|
|
318de7cd44 | ||
|
|
8de58ee38e | ||
|
|
83e4c889b8 | ||
|
|
153a7c87a4 | ||
|
|
1f46266509 | ||
|
|
c73a1e03bb | ||
|
|
eb6fb7326d | ||
|
|
0a1825d21d | ||
|
|
4d835f61a5 | ||
|
|
6e0960197f | ||
|
|
c104c64436 | ||
|
|
21e0a114e0 | ||
|
|
284856b692 | ||
|
|
7cf96dcaa8 | ||
|
|
e08b680a6b | ||
|
|
29eae57be4 | ||
|
|
6b16c795ba | ||
|
|
072c417416 | ||
|
|
48d56c4077 | ||
|
|
fdb13b6ef5 | ||
|
|
0a3162be45 | ||
|
|
86607c0f21 | ||
|
|
45ab4ae09b | ||
|
|
1741de47db | ||
|
|
e9ce9a814b | ||
|
|
a14c7cbfa1 | ||
|
|
15a9f1bdf5 | ||
|
|
779aa87ba5 | ||
|
|
355afc8f56 | ||
|
|
3ad8bae1c4 | ||
|
|
ba086f978b | ||
|
|
76019fad0e | ||
|
|
dcffe0e2e3 | ||
|
|
6064fc343e | ||
|
|
76b1361902 | ||
|
|
45369d506b | ||
|
|
ca27bf37bc | ||
|
|
8c6b2fb94b | ||
|
|
34580deaaa | ||
|
|
961b7a9210 | ||
|
|
eb9dcc1636 | ||
|
|
3d2e8ed1d8 | ||
|
|
0060f84477 | ||
|
|
08e1c8e30a | ||
|
|
0c12d3afcc | ||
|
|
94ed54f8ad | ||
|
|
ca1e98a4b2 | ||
|
|
3d7f059087 | ||
|
|
6573cebe71 | ||
|
|
c0db6fa070 | ||
|
|
9f1724b355 | ||
|
|
a13c41137e | ||
|
|
285db065a3 | ||
|
|
9ba4d97008 | ||
|
|
2e88ae8ad9 | ||
|
|
250eb1e889 | ||
|
|
1fc7f4593f | ||
|
|
115eb5ed4c | ||
|
|
700e78d847 | ||
|
|
57b353de33 | ||
|
|
656deeb489 | ||
|
|
a8915b89d7 | ||
|
|
e4b89854a2 | ||
|
|
14bec58bf1 | ||
|
|
b2858a29e1 | ||
|
|
74ea504288 | ||
|
|
ffe0ec6883 | ||
|
|
145c3e609d | ||
|
|
169ca5ad21 | ||
|
|
e2c54098da | ||
|
|
e1aca0e8c6 | ||
|
|
be97bad3a0 | ||
|
|
719e2157f2 | ||
|
|
df6e634291 | ||
|
|
8aa9a4c385 | ||
|
|
53014d0132 | ||
|
|
a1af365566 | ||
|
|
e9df5edc11 | ||
|
|
794230e708 | ||
|
|
bbf9b95354 | ||
|
|
00759e774b | ||
|
|
439d6513d2 | ||
|
|
9a8a4a8b14 | ||
|
|
95959ef470 | ||
|
|
c849b8edd6 | ||
|
|
fa0e43471c | ||
|
|
bdd1871cba | ||
|
|
fcb69e110b | ||
|
|
56bbf12fcd | ||
|
|
7b950941ce | ||
|
|
fe11f8f875 | ||
|
|
4cec291ab0 | ||
|
|
a60bee9fff | ||
|
|
84ff0c201a | ||
|
|
98c87dc6ed | ||
|
|
a4d9eccbc6 | ||
|
|
7633118e7d | ||
|
|
66accf2b37 | ||
|
|
c6f5ad8855 | ||
|
|
e5eb59a2f8 | ||
|
|
532a8afeb1 | ||
|
|
3c1702b804 | ||
|
|
d55e3b25a7 | ||
|
|
c88c16d1f4 | ||
|
|
d52d813c7d | ||
|
|
52578945bd | ||
|
|
24b8499833 | ||
|
|
e066e3b9aa | ||
|
|
4764ba4b0e | ||
|
|
b692d779b2 | ||
|
|
f401c85ee3 | ||
|
|
b156d5bfee | ||
|
|
1629903943 | ||
|
|
f66d84deec | ||
|
|
7f4105bcaf | ||
|
|
c492d773b1 | ||
|
|
3fa425bb9c | ||
|
|
fb3019a946 | ||
|
|
7a555c42b6 | ||
|
|
53dab9240d | ||
|
|
9e2f91e006 | ||
|
|
4dd941b201 | ||
|
|
a113333665 | ||
|
|
70f57fb4c0 | ||
|
|
aaf2498374 | ||
|
|
0ed03363e4 | ||
|
|
0b44162985 | ||
|
|
541511c89a | ||
|
|
94da331c6a | ||
|
|
bbac2900e6 | ||
|
|
e5d34372c4 | ||
|
|
fa415d58a2 | ||
|
|
5420e48fbf | ||
|
|
4bc437db15 | ||
|
|
9629fd07e3 | ||
|
|
0a9d60cdde | ||
|
|
bf8f824760 | ||
|
|
6f538950d4 | ||
|
|
20f3bb2a0b | ||
|
|
665f489bfd | ||
|
|
7f728f4d60 | ||
|
|
2d46db1b83 | ||
|
|
5b7db8c401 | ||
|
|
fd904c69f8 | ||
|
|
768c0c21b5 | ||
|
|
c68fc27719 | ||
|
|
6efbe745b1 | ||
|
|
10703a0275 | ||
|
|
bbc7cd2351 | ||
|
|
1cc5cf3797 | ||
|
|
fc5f7cc138 | ||
|
|
1cddd14ab4 | ||
|
|
0ff5cf7daf | ||
|
|
db372382e9 | ||
|
|
356e02fc78 | ||
|
|
4570806ad6 | ||
|
|
aa85282bb6 | ||
|
|
34de8da7d4 | ||
|
|
3984b651a8 | ||
|
|
f8ee954a10 | ||
|
|
58bef3a464 | ||
|
|
6adaf4b74f | ||
|
|
ae81e4ee1b | ||
|
|
a251a4139f | ||
|
|
957ab2546f | ||
|
|
0c0964b056 | ||
|
|
266416c1f5 | ||
|
|
2b643a6fd1 | ||
|
|
b4282be76b | ||
|
|
9e8582e371 | ||
|
|
d4250eecf7 | ||
|
|
c1e831e595 | ||
|
|
c90d8dafd8 | ||
|
|
1073ae57ce | ||
|
|
e6a0378289 | ||
|
|
0acad84366 | ||
|
|
6243c7122c | ||
|
|
41fe530795 | ||
|
|
e742c0447e | ||
|
|
29826d5489 | ||
|
|
fef85f72ee | ||
|
|
d40ea0ff5b | ||
|
|
eb164101ac | ||
|
|
d412270126 | ||
|
|
7fbac57712 | ||
|
|
382d68ff8e | ||
|
|
d5dae5b5df | ||
|
|
2c71b8f599 | ||
|
|
a0abdbbdd6 | ||
|
|
b2b948514e | ||
|
|
14b4e4d35a | ||
|
|
ee93db1659 | ||
|
|
8504890867 | ||
|
|
6ba7d347c7 | ||
|
|
867302e2c7 | ||
|
|
7b85a3417a | ||
|
|
9b0b88d16b | ||
|
|
f48b3cce02 | ||
|
|
7744799072 | ||
|
|
3b953041a9 | ||
|
|
32bf03c053 | ||
|
|
bd410421d8 | ||
|
|
5fcf2de617 | ||
|
|
9c16d8bb50 | ||
|
|
7d1d9e26d7 | ||
|
|
31a26ef8a9 | ||
|
|
0c417dfc30 | ||
|
|
87e2b37875 | ||
|
|
3053d0d5e9 | ||
|
|
85593b2f2b | ||
|
|
d8b8048faf | ||
|
|
08f6dceef5 | ||
|
|
f33eb7a373 | ||
|
|
b547d57d40 | ||
|
|
db6f7296e6 | ||
|
|
a822abd308 | ||
|
|
8c5eb9a0d6 | ||
|
|
6fbb1c782b | ||
|
|
c71d1b9664 | ||
|
|
00866d1c0a | ||
|
|
1c1b51d52d | ||
|
|
0fed16d1b0 | ||
|
|
f505fc5cb4 | ||
|
|
e014b89310 | ||
|
|
bdf35e034a | ||
|
|
4d608ad722 | ||
|
|
c69d578bb8 | ||
|
|
2de06993d5 | ||
|
|
c5893e5dc1 | ||
|
|
3407a83c23 | ||
|
|
992af6c4fe | ||
|
|
c5d4485a63 | ||
|
|
1feeb6bb4d | ||
|
|
3404e92312 | ||
|
|
7b3c81f688 | ||
|
|
ef0280aeda | ||
|
|
d94379183a | ||
|
|
0144cb92ed | ||
|
|
b107c9f02c | ||
|
|
70e2a1bb22 | ||
|
|
a3e9671b02 | ||
|
|
42c41d7bbd | ||
|
|
3df8b95e0e | ||
|
|
68d6968955 | ||
|
|
5ad60caa3c | ||
|
|
f05e9d2612 | ||
|
|
c0ed8e954e | ||
|
|
80f4dffa76 | ||
|
|
974807fae9 | ||
|
|
75ac49c475 | ||
|
|
f1b14a33b5 | ||
|
|
b57bef989a | ||
|
|
6b0e4ba789 | ||
|
|
21d3701291 | ||
|
|
4a6ecf33fc | ||
|
|
de061a83a4 | ||
|
|
01d644b7ee | ||
|
|
d34f2526c4 | ||
|
|
e6199af60d | ||
|
|
79c3ff3c4e | ||
|
|
0f0fc59fbd | ||
|
|
6e1ef76480 | ||
|
|
ea830aee5d | ||
|
|
d04d29f26c | ||
|
|
c38651cac4 | ||
|
|
6574d99adf | ||
|
|
a02b8e06a4 | ||
|
|
a65acc7e8d | ||
|
|
e9a3d42473 | ||
|
|
a677205dca | ||
|
|
c942389adb | ||
|
|
9585de7832 | ||
|
|
bb3a8edb9f | ||
|
|
2e7d5b22a1 | ||
|
|
001327d999 | ||
|
|
dd464513a3 | ||
|
|
29d9b2f7cf | ||
|
|
2c36dc7592 | ||
|
|
6f789d5a78 | ||
|
|
537ff9fcad | ||
|
|
5b8641740b | ||
|
|
12398c5d74 | ||
|
|
8f2d8dfa3b | ||
|
|
ab6f771413 | ||
|
|
ad9da99d86 | ||
|
|
84414f0381 | ||
|
|
e206b72635 | ||
|
|
fde03c1f81 | ||
|
|
290a19e93d | ||
|
|
d5876e99f5 | ||
|
|
318555ca26 | ||
|
|
3bad6d1367 | ||
|
|
514a3c62d7 | ||
|
|
61d0ea054f | ||
|
|
6525a11b8d | ||
|
|
ec17a649ae | ||
|
|
907dae414a | ||
|
|
08066b1009 | ||
|
|
4526e6f307 | ||
|
|
2c65e25944 | ||
|
|
96dae4b86e | ||
|
|
cd173a1b19 | ||
|
|
d0eb69a56c | ||
|
|
00543f1781 | ||
|
|
6ece90301e | ||
|
|
2ad15d1713 | ||
|
|
ba83a2757e | ||
|
|
5bc437d2bc | ||
|
|
88bf4a7a2d | ||
|
|
d9ea7cda80 | ||
|
|
565d65c907 | ||
|
|
683a7f1429 | ||
|
|
23fdc45b95 | ||
|
|
22db3e57cb | ||
|
|
792ffb26bc | ||
|
|
8061165789 | ||
|
|
975f29f17f | ||
|
|
c3755d995f | ||
|
|
a3a6ce1b42 | ||
|
|
209d2a83c4 | ||
|
|
bcb9eabf11 | ||
|
|
23fcc5e373 | ||
|
|
beae42c49b | ||
|
|
706c8e9c8d | ||
|
|
83bc0c4bb1 | ||
|
|
7645d201d4 | ||
|
|
09286cf968 | ||
|
|
3566108160 | ||
|
|
5344f99cdb | ||
|
|
d72fa9aaa8 | ||
|
|
fe2b00a2d6 | ||
|
|
9a0b9f6378 | ||
|
|
cdf5ecada9 | ||
|
|
d975cd5baa | ||
|
|
169f064c1f | ||
|
|
d329544e70 | ||
|
|
2737c67cce | ||
|
|
67456304d4 | ||
|
|
1126a34353 | ||
|
|
b5a8b7ef3b | ||
|
|
e643ddfd16 | ||
|
|
665ad8c6f9 | ||
|
|
f39d211021 | ||
|
|
7bc819e88d | ||
|
|
55bd34c62a | ||
|
|
0c1cbfed53 | ||
|
|
045380601a | ||
|
|
35f6738509 | ||
|
|
4665b95687 | ||
|
|
e317117f03 | ||
|
|
bdaf5c8f8b | ||
|
|
f9724d1d34 | ||
|
|
db3a01b589 | ||
|
|
bbf4c7020a | ||
|
|
763f5d51ed | ||
|
|
abae22769f | ||
|
|
0ef0b9872e | ||
|
|
aec4829d74 | ||
|
|
c9da8bf2b3 | ||
|
|
a7562dd38f | ||
|
|
9c4af41a59 | ||
|
|
9907d22f53 | ||
|
|
6acfd46d98 | ||
|
|
b520d3b7fb | ||
|
|
442353fa9d | ||
|
|
c4c9b20a05 | ||
|
|
76a4eeabfd | ||
|
|
d83e684b1f | ||
|
|
c2bf866733 | ||
|
|
d206d694fd | ||
|
|
87ad4ec2c2 | ||
|
|
7bec0939a8 | ||
|
|
d36bba293d | ||
|
|
c1a063e1a4 | ||
|
|
b1ac4f91d3 | ||
|
|
1d9c183156 | ||
|
|
9adf0bf323 | ||
|
|
b59e6f1948 | ||
|
|
9ca04c0f9d | ||
|
|
9e4fc66e9a | ||
|
|
1a143cd272 | ||
|
|
04bf3d1e1f | ||
|
|
5e8d3d533f | ||
|
|
7e5b58c727 | ||
|
|
04c90d44cc | ||
|
|
aefe86d632 | ||
|
|
d3dc05174e | ||
|
|
7762f94be6 | ||
|
|
eecbe5416e | ||
|
|
1febbdb499 | ||
|
|
0f7c90ac62 | ||
|
|
db1ab7ddf8 | ||
|
|
cd349dcd48 | ||
|
|
65cc3630c8 | ||
|
|
e5d0d5f9e6 | ||
|
|
97a6e692ce | ||
|
|
6c06bd55da | ||
|
|
b675a13233 | ||
|
|
1abe923740 | ||
|
|
bb069b781b | ||
|
|
e9f1d6d85c | ||
|
|
4e077d4638 | ||
|
|
36a2e7ca8e | ||
|
|
3f4b9d8164 | ||
|
|
e79348eafe | ||
|
|
0f9fc277c2 | ||
|
|
69246f5828 | ||
|
|
59fc2f0ac1 | ||
|
|
1815790bd3 | ||
|
|
a8ed0dd4ee | ||
|
|
e23f7c13b0 | ||
|
|
dd6c2391d2 | ||
|
|
e0af2ba7c7 | ||
|
|
1dfe28fa56 | ||
|
|
cab7dcde1b | ||
|
|
62254ca306 | ||
|
|
f4a29fbfc2 | ||
|
|
e0f354f524 | ||
|
|
49ccb23743 | ||
|
|
91afc0ea4f | ||
|
|
c5839708cc | ||
|
|
af5a03c841 | ||
|
|
c17d3ee8fe | ||
|
|
e3a281be13 | ||
|
|
b7412a1d9b | ||
|
|
261bbd8d8e | ||
|
|
0c2da16c0e | ||
|
|
8ca205af5d | ||
|
|
1c23ab5a7e | ||
|
|
9e89640b0b | ||
|
|
9ad4f1e62c | ||
|
|
131123c71a | ||
|
|
dd9166c435 | ||
|
|
a050b017ed | ||
|
|
270d7a41ce | ||
|
|
50035b613c | ||
|
|
76da8a5f20 | ||
|
|
bd84bae5d9 | ||
|
|
43bddd205b | ||
|
|
269d277afe | ||
|
|
e7ffa16094 | ||
|
|
badfc66ceb | ||
|
|
9d2c3f5e68 | ||
|
|
e853007cd0 | ||
|
|
2120ccfd5e | ||
|
|
f09573757d | ||
|
|
491cab3f7f | ||
|
|
ec2bc3face | ||
|
|
137abd6f70 | ||
|
|
1e304e6deb | ||
|
|
a0faf5a51c | ||
|
|
1b9fa975af | ||
|
|
694c8d32d5 | ||
|
|
966b191e13 | ||
|
|
f5d1d31043 | ||
|
|
4376b4f705 | ||
|
|
651d9e90e7 | ||
|
|
40b50083ee | ||
|
|
f561ee34d2 | ||
|
|
c7d8edd4ca | ||
|
|
ce2f621302 | ||
|
|
dff52f7a04 | ||
|
|
b276b6198f | ||
|
|
de19fa4bb3 | ||
|
|
cf7a5401b2 | ||
|
|
913d6c8061 | ||
|
|
f72bcc5c01 | ||
|
|
9ce968ffb2 | ||
|
|
d47192179b | ||
|
|
7af9dc9e21 | ||
|
|
7d55355d4d | ||
|
|
7450277708 | ||
|
|
fc09560d13 | ||
|
|
e654fe5124 | ||
|
|
79f4d5d610 | ||
|
|
9fab7a684b | ||
|
|
c46ca9b25b | ||
|
|
7b5e8dff9d | ||
|
|
be5300f68e | ||
|
|
f3b56261cb | ||
|
|
afeb50009d | ||
|
|
928822f1a5 | ||
|
|
8ff47570af | ||
|
|
62507776fe | ||
|
|
225bb95795 | ||
|
|
a397824e9b | ||
|
|
5d8efb43bc | ||
|
|
8b2fb4a991 | ||
|
|
b56f5cec3e | ||
|
|
13b8c2ec28 |
2
HACKING
2
HACKING
@@ -17,7 +17,7 @@ can be found here:
|
||||
|
||||
Information about using git with GNOME can be found here:
|
||||
|
||||
http://live.gnome.org/Git
|
||||
https://wiki.gnome.org/Git
|
||||
|
||||
In order to get GIT GTK+ installed on your system, you need to have
|
||||
the most recent GIT versions of GLib, Pango, and ATK installed as well.
|
||||
|
||||
26
Makefile.am
26
Makefile.am
@@ -9,7 +9,6 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
|
||||
EXTRA_DIST += \
|
||||
autogen.sh \
|
||||
HACKING \
|
||||
makecopyright \
|
||||
NEWS.pre-1-0 \
|
||||
README.commits \
|
||||
README.win32 \
|
||||
@@ -98,32 +97,11 @@ dist-hook:
|
||||
&& cp INSTALL README $(distdir) ; \
|
||||
fi
|
||||
|
||||
.PHONY: files release sanity snapshot ChangeLog
|
||||
|
||||
files:
|
||||
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
|
||||
echo $$p; \
|
||||
done
|
||||
@for subdir in $(SUBDIRS); do \
|
||||
files=`cd $$subdir; $(MAKE) files | grep -v "make\[[1-9]\]"`; \
|
||||
for file in $$files; do \
|
||||
echo $$subdir/$$file; \
|
||||
done; \
|
||||
done
|
||||
|
||||
release:
|
||||
rm -rf .deps */.deps
|
||||
$(MAKE) distcheck
|
||||
|
||||
sanity:
|
||||
./sanity_check $(VERSION)
|
||||
|
||||
|
||||
snapshot:
|
||||
$(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
|
||||
.PHONY: ChangeLog
|
||||
|
||||
DISTCHECK_CONFIGURE_FLAGS = \
|
||||
--enable-gtk-doc \
|
||||
--disable-doc-cross-references \
|
||||
--enable-man \
|
||||
--disable-maintainer-mode \
|
||||
--enable-introspection \
|
||||
|
||||
@@ -26,6 +26,10 @@ SKIP_GDKTARGET = \
|
||||
echo "Gtk+Tests:INFO: Skipping GUI tests for non-X11 target."
|
||||
endif
|
||||
|
||||
if PLATFORM_WIN32
|
||||
no_undefined = -no-undefined
|
||||
endif
|
||||
|
||||
XVFB_START = \
|
||||
${XVFB} -help 2>/dev/null 1>&2 \
|
||||
&& XID=`for id in $(XIDS) ; do test -e /tmp/.X$$id-lock || { echo $$id; exit 0; }; done; exit 1` \
|
||||
|
||||
435
NEWS
435
NEWS
@@ -1,3 +1,436 @@
|
||||
Overview of Changes in GTK+ 3.14.7 to 3.14.8
|
||||
============================================
|
||||
|
||||
* Bugs fixed:
|
||||
613833 Unnecessary queue_resize() for GtkImage
|
||||
732051 Crash can result if a child widget is destroyed while its tab is...
|
||||
735316 Default font antialiasing results in wrong behavior on OS X
|
||||
740613 XConvertSelection crashes Gtk+ apps
|
||||
741259 gtkmodelmenuitem: force icon scaling
|
||||
742181 "show images in menus" causes weird padding outside GNOME
|
||||
742636 Freeze if window closed while resume-events pending
|
||||
742664 Portabilitiy issues with GTK-Inspector 32-bit and non-gnome3 des...
|
||||
742727 nautilus adding bookmark by dragging appear always at top
|
||||
742764 Fix check for 'y' padding in gtk_cell_renderer_set_padding()
|
||||
742771 Properly ignore BadWindow and BadDrawable in get_child_info_hand...
|
||||
742774 Properly check result of g_utf8_get_char_validated()
|
||||
742785 Fix event->button.y_root when using mouse buttons and dnd canceled
|
||||
742786 Fix save_hot_y init in gtk_drag_get_icon()
|
||||
742980 cannot start broadway on FreeBSD
|
||||
743229 clipboard: support selection notification on wayland
|
||||
743330 Wintab initialization glitches
|
||||
743422 valgrind: Conditional jump or move depends on uninitialised valu...
|
||||
743451 Drag and drop on GtkFileChooserButton doesn't work
|
||||
743592 crash on link click in about dialogue
|
||||
743593 GtkWidget's va_marshaller for "event-after" signal is incorrect
|
||||
|
||||
* Translation updates:
|
||||
Icelandic
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.14.6 to 3.14.7
|
||||
============================================
|
||||
|
||||
* Bugs fixed:
|
||||
477454 libgtk crashed in gtk_notebook_button_release
|
||||
705582 gtk_recent_manager_init fails to check settings==NULL
|
||||
735122 GtkApplication: fix global menubar on Mac OS
|
||||
739038 gtk_recent_manager_set_filename: assertion failed: (priv->fil...
|
||||
739729 Bookmarks in sidebar sometimes randomly change their order
|
||||
741130 Entry completion with multiple cells can size wrong on first ...
|
||||
741652 Leaking menus when attaching to a button
|
||||
741702 Right margin not respected with RTL text in non-wrapping mode...
|
||||
741827 Typo in testsuite/reftests/Makefile.am causes build failure o...
|
||||
741897 documentation fix
|
||||
741969 GTK_STOCK_COPY
|
||||
742010 GtkLabel eats thumb-button clicks
|
||||
742170 cut/copy/paste binding entries are registered 2x
|
||||
742311 On cellrenderertext, notify for "size" and "size-points" prop...
|
||||
742343 Hide scrollbar in GtkFileChooser if appropriate
|
||||
742631 Left padding on File Chooser List
|
||||
742653 gtkfilechooserwidget: When using an extra widget, show or hid...
|
||||
742664 Portabilitiy issues with GTK-Inspector 32-bit and non-gnome3 ...
|
||||
GtkFileChooser: Don't crash if invisible files are deleted
|
||||
|
||||
* Translation updates:
|
||||
British English
|
||||
Kannada
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.14.5 to 3.14.6
|
||||
============================================
|
||||
|
||||
* Bugs fixed:
|
||||
364566 Text editing widgets should support keypad Insert/Delete...
|
||||
461249 gtk_icon_theme_list_contexts() documentation: What is a ...
|
||||
721939 Editable cells demo: Add new row at cursor
|
||||
722781 Foreach call on sort model fails with sort function
|
||||
730232 print dialog clips off left page size label on A4 landsc...
|
||||
739453 Home and Desktop do not link to correct place in PlacesS...
|
||||
739885 gtk3-3.14.5 - fail to link - undefined reference to `GTK...
|
||||
739977 Don't wait for ENTER to initiate search
|
||||
740287 GtkWindow's hide-titlebar-when-maximized no longer does ...
|
||||
740374 Is enum GtkCssProviderError really deprecated?
|
||||
740612 Cups secret service auth_info lookup fails to read auth_...
|
||||
740613 XConvertSelection crashes Gtk+ apps
|
||||
740642 Fix different height for buttons with Hebrew character
|
||||
740742 Don't scale before translation
|
||||
740770 Missing style when the GtkCellRenderer:sensitive propert...
|
||||
740896 GtkPlacesSidebar: add support for unmount notifications
|
||||
741249 gtk_menu_tracker_section_find_model returns FALSE
|
||||
741250 gtk_places_sidebar_list_shortcuts returns FALSE
|
||||
741251 gtk_widget_get_frame_clock returns 0
|
||||
741252 tests/variable.h header guard typo
|
||||
741254 Improper headers guards
|
||||
741314 Adwaita: draw drag hilight on treeview rows
|
||||
Redraw problems with cairo 1.14
|
||||
Avoid excessive redraws due to CSD shadows
|
||||
|
||||
* Translation updates:
|
||||
Greek
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.14.4 to 3.14.5
|
||||
============================================
|
||||
|
||||
* Bugs fixed:
|
||||
726316 Backdrop inconvenient on multimonitor for reading text
|
||||
737561 quartz: gtk+ 3.14.0 fails to build on 10.6.8, 'NSFullScreen...
|
||||
737891 mounting LUKS partition from nautilus takes very long
|
||||
738321 GtkMenu has unnecessary scroll buttons
|
||||
738648 gdk_window_get_content() causes creation/destruction of bac...
|
||||
738650 fix separator with iconic section and more
|
||||
738886 Out of bounds access in MyEnhancedXkbTranslateKeyCode`
|
||||
738955 Client-side decoration window menus appear at wrong positio...
|
||||
739005 gtkstatusicon.c won't build with both X11 and Quartz backen...
|
||||
739111 GtkFontChooserDialog fixes
|
||||
|
||||
* Translation updates:
|
||||
Czech
|
||||
German
|
||||
Hungarian
|
||||
Lithuanian
|
||||
Serbian
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.14.3 to 3.14.4
|
||||
============================================
|
||||
|
||||
* Bugs fixed:
|
||||
730893 Dialogs use headerbars even when DialogsUseHeader is unset
|
||||
737986 Transparent icon background rendered black on XFCE
|
||||
738636 GtkStackSwitcher focus overlap border
|
||||
738873 wayland backend aborts [...] if XDG_RUNTIME_DIR unset
|
||||
Only allow one center widget in boxes
|
||||
Memory leak fixes
|
||||
|
||||
* Translation updates
|
||||
Brazilian Portuguese
|
||||
Indonesian
|
||||
Kazakh
|
||||
Norwegian bokmål
|
||||
Polish
|
||||
Slovak
|
||||
Spanish
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.14.2 to 3.14.3
|
||||
============================================
|
||||
|
||||
* Bugs fixed:
|
||||
724096 search-bar: don't show the widget until we're ready to reveal
|
||||
737981 Strange frame in GtkScrolledWindow
|
||||
737983 gtkplacessidebar: Open $HOME after unmounting or ejecting
|
||||
737985 Unnecessary "GtkScrolledWindow .frame"
|
||||
738158 Flat context menu button
|
||||
|
||||
* Translation updates:
|
||||
Italian
|
||||
Persian
|
||||
Serbian
|
||||
Slovak
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.14.1 to 3.14.2
|
||||
============================================
|
||||
|
||||
* GtkInspector now shows nested tree models
|
||||
|
||||
* Bugs fixed:
|
||||
737670 GtkCalendar days cannot be selected if vertical size is greater...
|
||||
737679 Bookmarks are visually duplicated in sidebar
|
||||
737952 Documentation missing for GtkTextView's new draw-layer function...
|
||||
737929 Long tooltips extend too far horizontally without wrapping
|
||||
737777 printing: Properly initialize auth_info in gtkprintbackend.c
|
||||
Teach GtkExpander:resize-toplevel about height-for-width
|
||||
Fix setting GtkRadioButton:group from .ui files
|
||||
Improve sheet drawing in the print dialog
|
||||
Avoid missing icons in the print dialog
|
||||
GtkStackSwitcher: Fix initially active button
|
||||
|
||||
* Translation updates:
|
||||
Assamese
|
||||
Brazilian Portuguese
|
||||
Czech
|
||||
French
|
||||
German
|
||||
Korean
|
||||
Lithuanian
|
||||
Norwegian bokmål
|
||||
Russian
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.14.0 to 3.14.1
|
||||
============================================
|
||||
|
||||
* Bugs fixed:
|
||||
635258 Possible type to symbol translation bug
|
||||
654051 Special GtkToolbar style when in fullscreen mode to respect...
|
||||
708206 GtkBuilder throws GVariantParse errors instead of the GtkBu...
|
||||
719936 GtkFontButton: Make sure the dialog isn't destroyed on dele...
|
||||
729782 Window "disappears" when middle clicking client side decora...
|
||||
734879 gdk_test_simulate_key() has no implementation on win32
|
||||
735054 gtkapplication-quartz-menu unconditionally uses 10.7 features
|
||||
735338 The inspector sometimes doesn't show up
|
||||
735749 gnome-software: Can't switch between screenshots
|
||||
736193 changing a GtkPopover's relative widget seems to forcibly d...
|
||||
736338 GTK+ reftests can't be built on W32
|
||||
736557 inspector: Show hidden windows in the inspector
|
||||
736702 GtkWindow event special logic ignores subclass handlers
|
||||
736830 GtkVolumeButton reaction inverted on scrolling action when ...
|
||||
736971 GtkSettings: Add a private getter for the source
|
||||
737251 drop down menus are always scrollable in full screen mode
|
||||
737297 Gtk buttons don't work with touch anymore
|
||||
737363 testgtk.c fails to compile when building for Wayland
|
||||
737386 dark adwaita's -GtkWidget-link-color is unreadable on gray ...
|
||||
737439 Plug memory leak in gtk_test_find_label()
|
||||
737517 no border around progress bar
|
||||
|
||||
* Translation updates:
|
||||
Brazilian Portuguese
|
||||
Czech
|
||||
French
|
||||
Galician
|
||||
German
|
||||
Greek
|
||||
Hebrew
|
||||
Hindi
|
||||
Hungarian
|
||||
Indonesian
|
||||
Kannada
|
||||
Latvian
|
||||
Polish
|
||||
Russian
|
||||
Scottish Gaelic
|
||||
Serbian
|
||||
Spanish
|
||||
Tamil
|
||||
Telugu
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.13.9 to 3.14.0
|
||||
============================================
|
||||
|
||||
* GtkMisc::xalign has been undeprecated for now, it is still needed
|
||||
|
||||
* GtkIconView
|
||||
- Always draw cell background
|
||||
- Fix handling of prelight items
|
||||
|
||||
* GtkWindow
|
||||
- Fix growing nautilus windows
|
||||
|
||||
* Bugs fixed:
|
||||
736338 GTK+ reftests can't be built on W32
|
||||
736622 Better mark GtkAlignment as deprecated
|
||||
736927 Reference documentation refers to GTK 2
|
||||
737000 Some icon themes broken on 3.13.92
|
||||
737026 gtkinspector crashes app when selecting 'cancel' on initial prompt
|
||||
737027 gtkinspector doesn't run if custom GSETTINGS_SCHEMA_DIR specified
|
||||
|
||||
* Translation updates:
|
||||
Bengali (India)
|
||||
Catalan
|
||||
Catalan (Valencian)
|
||||
Danish
|
||||
German
|
||||
Greek
|
||||
Hebrew
|
||||
Hindi
|
||||
Hungarian
|
||||
Marathi
|
||||
Russian
|
||||
Slovak
|
||||
Swedish
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.13.8 to 3.13.9
|
||||
============================================
|
||||
|
||||
* Adwaita:
|
||||
- Use sass functions more
|
||||
- Theme .app-notification instead of .app-notification.frame
|
||||
- Lots of button fine-tuning
|
||||
- Avoid double background rendering in tooltips
|
||||
|
||||
* Inspector:
|
||||
- Show widget allocations
|
||||
- Show hidden windows
|
||||
- Fix initial state of dark switch
|
||||
|
||||
* Bug fixes:
|
||||
328449 selecting selectable ellipsized GtkLabel labels is (slightly) broken
|
||||
528800 Widget Gallery has non-intuitive Image for GtkTreeView
|
||||
579625 Cancel button on Gtk.Assistant should have Esc as accelerator
|
||||
668258 Topic ellipsis acts as a link when omitted text contains a link
|
||||
698031 Cannot link libgdk (-lrt required)
|
||||
732916 treeview: column drop target visualization broken
|
||||
735240 Labels in list rows don't get their dim-label class applied until...
|
||||
735953 GtkPlacesSidebar blocks on g_file_query_info()
|
||||
735959 osd progressbar gap
|
||||
735965 rubberband selection broken
|
||||
736004 touch support for icon activation
|
||||
736056 GtkFontChooserButton's contents are not baseline aligned
|
||||
736064 Openbox title bar strange behaviour
|
||||
736121 gdk smooth scroll event unit inconsistencies between backends
|
||||
736131 tooltip: Fix warning with GtkCellRendererAccel
|
||||
736155 gtk_window_draw draws background twice and breaks with translucent...
|
||||
736173 a program clashes when drag-and-drop items in a GtkRecentChooserWidget
|
||||
736178 gtk_tree_view_scroll_to_cell() only works the first time
|
||||
736191 Inspector could show widget allocation
|
||||
736201 g_object_weak_unref assertion failures when closing the inspector
|
||||
736203 [regression] GtkCellRendererAccel doesn't work in modal dialogues
|
||||
736205 GtkMenuButton with popover breaks with GtkApplicationWindow's buil...
|
||||
736250 Need to sort gtk_compose_seqs_compact[] table in the descending order
|
||||
736269 GTK crashes when gdk_window_get_root_coords() is called on a forei...
|
||||
736307 GtkStackSwitcher doesn't like removing children from stack
|
||||
736512 Segfault in GtkPlacesSidebar when used with Nautilus
|
||||
736535 Vertical alignment of text labels is off
|
||||
736557 inspector: Show hidden windows in the inspector
|
||||
|
||||
* Translation updates:
|
||||
Assamese
|
||||
Brazilian Portuguese
|
||||
Czech
|
||||
Finnish
|
||||
French
|
||||
Galician
|
||||
German
|
||||
Greek
|
||||
Gujarati
|
||||
Hebrew
|
||||
Indonesian
|
||||
Kannada
|
||||
Korean
|
||||
Latvian
|
||||
Lithuanian
|
||||
Korean
|
||||
Polish
|
||||
Punjabi
|
||||
Russian
|
||||
Spanish
|
||||
Swedish
|
||||
Traditional Chinese
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.13.7 to 3.13.8
|
||||
============================================
|
||||
|
||||
* Wayland:
|
||||
- Implement Drag-and-Drop
|
||||
- Use subsurfaces for entry completion popups
|
||||
- Use subsurfaces for tooltips
|
||||
|
||||
* Bugs fixed:
|
||||
156164 Fix _gtk_text_buffer_get_line_log_attrs for last line
|
||||
346886 GtkTreeModelFilter doesn't allow multiple calls to set_visible_func
|
||||
415415 tree lines drawn in black
|
||||
602443 Can't use .glade with GtkListStore, gint64/guint64 and design-time data
|
||||
641638 Remove AM_PATH_GTK_3_0 macro
|
||||
658722 Drag and Drop sometimes stops working
|
||||
674264 Credentials from gnome-keyring is not used while printing
|
||||
680067 Credits in About dialog don't support https
|
||||
695504 gtk-demo: entry completion doesn't work
|
||||
697855 Implement DnD in wayland
|
||||
720269 ScaleButton: scrolling on the button doesn't do anything
|
||||
729215 Please implement Wayland subsurfaces
|
||||
731380 gtk3-demo button box works badly with a touch screen under wayland
|
||||
733967 provide proper pseudostates for radios and checkboxes
|
||||
734290 Checkbox inconsistency / usability issues in gtk3-3.13.5-2
|
||||
734374 wl_touch serials are ignored
|
||||
734753 Path bar - buttons don't have enough padding
|
||||
734961 GtkAboutDialog uses deprecated property
|
||||
735012 Toolbars take too much space
|
||||
735014 GtkPopover smart positioning broken in RTL
|
||||
735034 application_get_menu_by_id should either ref or be transfer none
|
||||
735119 inconsistent order of close/help buttons
|
||||
735223 Touch scrolling invalidates more than intended
|
||||
735226 Avoid NULL surface access if a window is shown/hidden within a frame
|
||||
735253 GTK+ requires symbols not available in specified gdk-pixbuf version
|
||||
735294 No widgets visible in simple applications with gtk+ 3.13.3 and later
|
||||
735300 clicking on Actions tab in inspector causes abort
|
||||
735301 Duplication of words in comments (for for, the the)
|
||||
735310 GtkLabel selection background missing with Adwaita
|
||||
735321 Get the default gkt-font-name font size from user font
|
||||
735337 Crash in inspector, in the CSS editor
|
||||
735353 GtkTreeView::row-activated not emitted sometimes
|
||||
735368 try to tidy up the TextView background rendering
|
||||
735389 client crashes if it gets an invalid keymap from the compositor
|
||||
735401 make check fails on 3.13.7 without --enable-installed-tests
|
||||
735428 gtk_main() tries to unlock an unlocked mutex
|
||||
735531 Make tooltips use subsurfaces on wayland
|
||||
735545 MenuButton: dismiss menu/popover when toggling programmatically
|
||||
735593 Implement CSS font-stretch property
|
||||
735830 Pixmap based cursors get surface destroyed after first use
|
||||
735831 Change current cursor on grabs
|
||||
|
||||
* Translation updates:
|
||||
Assamese
|
||||
Finnish
|
||||
Greek
|
||||
Hebrew
|
||||
Japanese
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.13.6 to 3.13.7
|
||||
============================================
|
||||
|
||||
* To align better with css, button and menuitem subclasses now use a
|
||||
:checked state to indicate their checkedness, instead of :active or
|
||||
:selected.
|
||||
|
||||
* Deprecations: GtkStatusIcon, GtkThemingEngine
|
||||
|
||||
* Bugs fixed:
|
||||
724281 Statusbar displays removed message
|
||||
731013 Cross-compilation from Linux to Windows broken...
|
||||
731443 GtkPlacesSidebar - refine spacing
|
||||
734143 Cannot drag files from the filechooser anymore
|
||||
734357 GtkListBox doesn't get events delivered for GtkStack children
|
||||
734420 BroadwayServer support for unix socket listening
|
||||
734614 Undo buttons in application notifications are too tall
|
||||
734641 gdk_window_set_device_events() does not change the event mask...
|
||||
734649 Only notify 'adjustment' if the property changed
|
||||
734651 Resizing gtk3-iconbrowser is super slow
|
||||
734660 Always emit value-changed when the adjustment is changed
|
||||
734668 Properly handle alpha in fg color when rendering symbolic icons
|
||||
734709 GtkListBoxRow should also set its clip
|
||||
734735 GCC warns about unused things when building GTK+ on W32
|
||||
734736 GCC warns about wront format strings when building GTK+ on W32
|
||||
734737 GCC warns about various things when building GTK+ on W32
|
||||
734778 Object leaks in broadway_server_new() constructor
|
||||
570414 Disable font fallback in the font dialog preview panel
|
||||
665711 Font size cannot be changed to floating point / non-integer...
|
||||
724996 Font Button too many decimal places
|
||||
733832 Improve fontchooser widgets display text
|
||||
733967 provide proper pseudostates for radios and checkboxes
|
||||
734738 Possible bug in W32 input grabbing
|
||||
734826 Deprecate GtkStatusIcon
|
||||
|
||||
* Translation updates:
|
||||
Greek
|
||||
|
||||
|
||||
Overview of Changes in GTK+ 3.13.5 to 3.13.6
|
||||
============================================
|
||||
|
||||
@@ -261,7 +694,7 @@ Overview of Changes in GTK+ 3.13.2 to 3.13.3
|
||||
|
||||
* Bugs fixed:
|
||||
721895 Remove GtkIconCache
|
||||
729820 GMenuModel submenu-action set 'false' before item activation
|
||||
729820 GMenuModel submenu-action set 'false' before item activation
|
||||
730615 a11y private library not included in GIR
|
||||
730745 Port annotations from Vala
|
||||
730767 Tab that's being dragged is not updated
|
||||
|
||||
27
README.in
27
README.in
@@ -73,6 +73,32 @@ Patches should be in unified diff form. (The -up option to GNU diff)
|
||||
Even better are git-formatted patches. (Use git format-patch)
|
||||
|
||||
|
||||
Release notes for 3.14
|
||||
======================
|
||||
|
||||
* A new state, GTK_STATE_FLAG_CHECKED, has been added for checked states
|
||||
of radio and check buttons and menuitems. Applications that are using
|
||||
GTK+ styles without widgets will need adjustments.
|
||||
|
||||
* Adwaita is now the default theme on all platforms.
|
||||
|
||||
* The icon theme code has become a little pickier about sizes and is not
|
||||
automatically scaling icons beyond the limits defined in the icon theme
|
||||
unless explicitly asked to do so with GTK_ICON_LOOKUP_FORCE_SIZE.
|
||||
|
||||
* GTK+ now includes an interactive debugger which can be activated with
|
||||
the keyboard shortcuts Ctrl-Shift-d or Ctrl-Shift-i. If these shortcuts
|
||||
interfere with application keybindings, they can be disabled with the
|
||||
setting org.gtk.Settings.Debug.enable-inspector-keybinding.
|
||||
|
||||
* Most widgets have been ported to use the new gesture framework internally
|
||||
for event handling. Traditional event handlers in derived widgets are still
|
||||
being called.
|
||||
|
||||
* Using GTK+ under X11 without the X Render extension has been observed
|
||||
to be problematic. This combination is using code paths in cairo and
|
||||
graphics drivers which are rarely tested and likely buggy.
|
||||
|
||||
Release notes for 3.12
|
||||
======================
|
||||
|
||||
@@ -213,7 +239,6 @@ Release notes for 3.4
|
||||
in .pc files. Dependent modules may have to declare dependencies
|
||||
that there were getting 'for free' in the past.
|
||||
|
||||
|
||||
Release notes for 3.2
|
||||
=====================
|
||||
|
||||
|
||||
@@ -166,7 +166,7 @@ Please refer to the following GNOME Live! page for a more detailed ouline
|
||||
on the process of building the GTK+ stack and its dependencies with Visual
|
||||
C++:
|
||||
|
||||
https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack
|
||||
https://wiki.gnome.org/Projects/GTK+/Win32/MSVCCompilationOfGTKStack
|
||||
|
||||
Alternative 1 also generates Microsoft import libraries (.lib), if you
|
||||
have lib.exe available. It might also work for cross-compilation from
|
||||
|
||||
@@ -20,6 +20,8 @@ EXTRA_DIST += \
|
||||
gtk3-demo.vcxproj.filters \
|
||||
gtk3-demo-application.vcxproj \
|
||||
gtk3-demo-application.vcxproj.filters \
|
||||
gtk3-icon-browser.vcxproj \
|
||||
gtk3-icon-browser.vcxproj.filters \
|
||||
gtk-inspector.vcxproj \
|
||||
gtk-inspector.vcxprojin \
|
||||
gtk-inspector.vcxproj.filters \
|
||||
|
||||
@@ -5,7 +5,7 @@ the use of the library.
|
||||
A more detailed outline for instructions on building the GTK+ with Visual
|
||||
C++ can be found in the following GNOME Live! page:
|
||||
|
||||
https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack
|
||||
https://wiki.gnome.org/Projects/GTK+/Win32/MSVCCompilationOfGTKStack
|
||||
|
||||
This VS10 solution and the projects it includes are intented to be used
|
||||
in a GTK+ source tree unpacked from a tarball. In a git checkout you
|
||||
@@ -59,9 +59,9 @@ The recommended build order for these dependencies:
|
||||
as described in the README.txt file in the build/win32/vs10 folder)
|
||||
-zlib
|
||||
-libpng
|
||||
-(for GDK-Pixbuf, if not using GDI+) IJG JPEG
|
||||
-(for GDK-Pixbuf, if not using GDI+) IJG JPEG or libjpeg-turbo
|
||||
-(for GDK-Pixbuf, if not using GDI+) libtiff
|
||||
[libtiff requires zlib and IJG JPEG]
|
||||
[libtiff requires zlib and IJG JPEG or libjpeg-turbo]
|
||||
-(for GDK-Pixbuf, if not using GDI+) jasper [jpeg-2000 library]
|
||||
-(optional for GLib) PCRE (version 8.12 or later, use of CMake to
|
||||
build PCRE is recommended-see build/win32/vs10/README.txt of GLib)
|
||||
@@ -81,6 +81,11 @@ built DLLs go into <root>\vs10\<PlatformName>\bin, built LIBs into
|
||||
project files higher in the stack are supposed to look for them, not
|
||||
from a specific GLib source tree.
|
||||
|
||||
Please note, as GTK+ uses the Adwaita theme for all platforms by default,
|
||||
most icons used are not included with GTK+ (which *are* needed), so please see
|
||||
https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack (under the
|
||||
GTK+ section) on how to get those icons set up for use with GTK+.
|
||||
|
||||
*About the dependencies marked with *: These dependencies are optional
|
||||
as those are not compulsory components for building and running GTK+
|
||||
itself, but note that they are needed for people running and building
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\broadway;..\crypt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\broadway;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_DEBUG;$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
@@ -95,7 +95,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\broadway;..\crypt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\broadway;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
@@ -120,7 +120,7 @@
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\broadway;..\crypt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\broadway;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_DEBUG;$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
@@ -143,7 +143,7 @@
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\broadway;..\crypt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\broadway;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
@@ -163,8 +163,8 @@
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\crypt\crypt3.c" />
|
||||
<ClCompile Include="..\..\..\gdk\broadway\broadwayd.c" />
|
||||
<ClCompile Include="..\..\..\gdk\broadway\broadway-buffer.c" />
|
||||
<ClCompile Include="..\..\..\gdk\broadway\broadway-output.c" />
|
||||
<ClCompile Include="..\..\..\gdk\broadway\broadway-server.c" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\crypt\crypt3.c"><Filter>Sources</Filter></ClCompile>
|
||||
<ClCompile Include="..\..\..\gdk\broadway\broadwayd.c"><Filter>Sources</Filter></ClCompile>
|
||||
<ClCompile Include="..\..\..\gdk\broadway\broadway-buffer.c"><Filter>Sources</Filter></ClCompile>
|
||||
<ClCompile Include="..\..\..\gdk\broadway\broadway-output.c"><Filter>Sources</Filter></ClCompile>
|
||||
<ClCompile Include="..\..\..\gdk\broadway\broadway-server.c"><Filter>Sources</Filter></ClCompile>
|
||||
</ItemGroup>
|
||||
|
||||
@@ -18,6 +18,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-demo", "gtk3-demo.vcxp
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-demo-application", "gtk3-demo-application.vcxproj", "{3281202A-CD26-4C67-B892-EB34BDBC612F}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-icon-browser", "gtk3-icon-browser.vcxproj", "{3281202A-CD26-4C67-B892-EB34BDBC612E}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk-encode-symbolic-svg", "gtk-encode-symbolic-svg.vcxproj", "{3281202A-CD26-4C67-B892-EB34BDBC6131}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gailutil", "gailutil.vcxproj", "{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}"
|
||||
@@ -204,6 +206,22 @@ Global
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612F}.Release_Broadway|Win32.Build.0 = Release|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612F}.Release_Broadway|x64.ActiveCfg = Release|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612F}.Release_Broadway|x64.Build.0 = Release|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug|x64.Build.0 = Debug|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release|Win32.Build.0 = Release|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release|x64.ActiveCfg = Release|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release|x64.Build.0 = Release|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug_Broadway|Win32.Build.0 = Debug|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug_Broadway|x64.ActiveCfg = Debug|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug_Broadway|x64.Build.0 = Debug|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release_Broadway|Win32.ActiveCfg = Release|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release_Broadway|Win32.Build.0 = Release|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release_Broadway|x64.ActiveCfg = Release|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release_Broadway|x64.Build.0 = Release|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug|x64.ActiveCfg = Debug|x64
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<ItemDefinitionGroup>
|
||||
<Link>
|
||||
<AdditionalOptions>/EXPORT:gdk_win32_display_manager_get_type</AdditionalOptions>
|
||||
</Link
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
if "$(Configuration)" == "Release" goto END
|
||||
|
||||
@@ -33,7 +33,7 @@ echo $(Configuration) > ..\..\..\MSVC_$(Configuration)
|
||||
:DONE_GDKCONFIG_H
|
||||
</GenGdkConfigHWin32>
|
||||
<GenGdkConfigHBroadway>
|
||||
if exist ..\..\..\MSVC_$(Configuration) goto DONE_GDKCONFIG_H
|
||||
if exist ..\..\..\MSVC_$(Configuration)_Broadway goto DONE_GDKCONFIG_H
|
||||
|
||||
|
||||
if exist ..\..\..\gdk\gdkconfig.h del ..\..\..\gdk\gdkconfig.h
|
||||
@@ -53,7 +53,7 @@ copy ..\..\..\gdk\gdkconfig.h.win32_broadway ..\..\..\gdk\gdkconfig.h
|
||||
|
||||
copy ..\..\..\gdk\gdkconfig.h.win32_broadway ..\..\..\GDK_BROADWAY_BUILD
|
||||
|
||||
echo $(Configuration) > ..\..\..\MSVC_$(Configuration)
|
||||
echo $(Configuration) > ..\..\..\MSVC_$(Configuration)_Broadway
|
||||
|
||||
:DONE_GDKCONFIG_H
|
||||
</GenGdkConfigHBroadway>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -75,7 +75,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
@@ -96,7 +96,7 @@
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
@@ -118,7 +118,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
@@ -139,7 +139,7 @@
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
|
||||
180
build/win32/vs10/gtk3-icon-browser.vcxproj
Normal file
180
build/win32/vs10/gtk3-icon-browser.vcxproj
Normal file
@@ -0,0 +1,180 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{3281202A-CD26-4C67-B892-EB34BDBC612E}</ProjectGuid>
|
||||
<RootNamespace>gtk3iconbrowser</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v100</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v100</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v100</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v100</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="gtk-build-defines.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="gtk-build-defines.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="gtk-build-defines.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="gtk-build-defines.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\demos\icon-browser;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\demos\icon-browser;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>false</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\demos\icon-browser;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\..\demos\icon-browser;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>false</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\demos\icon-browser\iconbrowserapp.c" />
|
||||
<ClCompile Include="..\..\..\demos\icon-browser\iconbrowserwin.c" />
|
||||
<ClCompile Include="..\..\..\demos\icon-browser\main.c" />
|
||||
<ClCompile Include="..\..\..\demos\icon-browser\resources.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="gdk.vcxproj">
|
||||
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f7}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="gtk.vcxproj">
|
||||
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f5}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
23
build/win32/vs10/gtk3-icon-browser.vcxproj.filters
Normal file
23
build/win32/vs10/gtk3-icon-browser.vcxproj.filters
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Sources">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Headers">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\demos\icon-browser\iconbrowserapp.c"><Filter>Sources</Filter></ClCompile>
|
||||
<ClCompile Include="..\..\..\demos\icon-browser\iconbrowserwin.c"><Filter>Sources</Filter></ClCompile>
|
||||
<ClCompile Include="..\..\..\demos\icon-browser\main.c"><Filter>Sources</Filter></ClCompile>
|
||||
<ClCompile Include="..\..\..\demos\icon-browser\resources.c"><Filter>Sources</Filter></ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -203,6 +203,10 @@
|
||||
<Project>{3281202a-cd26-4c67-b892-eb34bdbc612f}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="gtk3-icon-browser.vcxproj">
|
||||
<Project>{3281202a-cd26-4c67-b892-eb34bdbc612e}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="broadwayd.vcxproj">
|
||||
<Project>{3281202a-cd26-4c67-b892-eb34bdbc6130}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
|
||||
@@ -16,6 +16,8 @@ EXTRA_DIST += \
|
||||
gtk3-demo.vcxproj.filters \
|
||||
gtk3-demo-application.vcxproj \
|
||||
gtk3-demo-application.vcxproj.filters \
|
||||
gtk3-icon-browser.vcxproj \
|
||||
gtk3-icon-browser.vcxproj.filters \
|
||||
gtk-inspector.vcxproj \
|
||||
gtk-inspector.vcxproj.filters \
|
||||
gailutil.vcxproj \
|
||||
|
||||
@@ -16,6 +16,8 @@ EXTRA_DIST += \
|
||||
gtk3-demo.vcxproj.filters \
|
||||
gtk3-demo-application.vcxproj \
|
||||
gtk3-demo-application.vcxproj.filters \
|
||||
gtk3-icon-browser.vcxproj \
|
||||
gtk3-icon-browser.vcxproj.filters \
|
||||
gtk-inspector.vcxproj \
|
||||
gtk-inspector.vcxproj.filters \
|
||||
gailutil.vcxproj \
|
||||
|
||||
@@ -12,6 +12,7 @@ EXTRA_DIST += \
|
||||
gtk-encode-symbolic-svg.vcproj \
|
||||
gtk3-demo.vcproj \
|
||||
gtk3-demo-application.vcproj \
|
||||
gtk3-icon-browser.vcproj \
|
||||
gtk-inspector.vcproj \
|
||||
gtk-inspector.vcprojin \
|
||||
gailutil.vcproj \
|
||||
|
||||
@@ -5,7 +5,7 @@ the use of the library.
|
||||
A more detailed outline for instructions on building the GTK+ with Visual
|
||||
C++ can be found in the following GNOME Live! page:
|
||||
|
||||
https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack
|
||||
https://wiki.gnome.org/Projects/GTK+/Win32/MSVCCompilationOfGTKStack
|
||||
|
||||
This VS9 solution and the projects it includes are intented to be used
|
||||
in a GTK+ source tree unpacked from a tarball. In a git checkout you
|
||||
@@ -58,9 +58,9 @@ The recommended build order for these dependencies:
|
||||
as described in the README.txt file in the build/win32/vs9 folder)
|
||||
-zlib
|
||||
-libpng
|
||||
-(for GDK-Pixbuf, if not using GDI+) IJG JPEG
|
||||
-(for GDK-Pixbuf, if not using GDI+) IJG JPEG or libjpeg-turbo
|
||||
-(for GDK-Pixbuf, if not using GDI+) libtiff
|
||||
[libtiff requires zlib and IJG JPEG]
|
||||
[libtiff requires zlib and IJG JPEG or libjpeg-turbo]
|
||||
-(for GDK-Pixbuf, if not using GDI+) jasper [jpeg-2000 library])
|
||||
-(optional for GLib) PCRE (version 8.12 or later, use of CMake to
|
||||
build PCRE is recommended-see build/win32/vs9/README.txt of GLib)
|
||||
@@ -80,6 +80,11 @@ built DLLs go into <root>\vs9\<PlatformName>\bin, built LIBs into
|
||||
project files higher in the stack are supposed to look for them, not
|
||||
from a specific GLib source tree.
|
||||
|
||||
Please note, as GTK+ uses the Adwaita theme for all platforms by default,
|
||||
most icons used are not included with GTK+ (which *are* needed), so please see
|
||||
https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack (under the
|
||||
GTK+ section) on how to get those icons set up for use with GTK+.
|
||||
|
||||
*About the dependencies marked with *: These dependencies are optional
|
||||
as those are not compulsory components for building and running GTK+
|
||||
itself, but note that they are needed for people running and building
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\broadway;..\crypt"
|
||||
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\broadway"
|
||||
PreprocessorDefinitions="_DEBUG;$(GdkDefines)"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
@@ -62,7 +62,7 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\broadway;..\crypt"
|
||||
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\broadway"
|
||||
EnableIntrinsicFunctions="true"
|
||||
PreprocessorDefinitions="$(GdkDefines)"
|
||||
RuntimeLibrary="2"
|
||||
@@ -95,7 +95,7 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\broadway;..\crypt"
|
||||
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\broadway"
|
||||
PreprocessorDefinitions="_DEBUG;$(GdkDefines)"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
@@ -127,7 +127,7 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\broadway;..\crypt"
|
||||
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\broadway"
|
||||
EnableIntrinsicFunctions="true"
|
||||
PreprocessorDefinitions="$(GdkDefines)"
|
||||
RuntimeLibrary="2"
|
||||
@@ -157,8 +157,8 @@
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
</Filter>
|
||||
<File RelativePath="..\crypt\crypt3.c" />
|
||||
<File RelativePath="..\..\..\gdk\broadway\broadwayd.c" />
|
||||
<File RelativePath="..\..\..\gdk\broadway\broadway-buffer.c" />
|
||||
<File RelativePath="..\..\..\gdk\broadway\broadway-output.c" />
|
||||
<File RelativePath="..\..\..\gdk\broadway\broadway-server.c" />
|
||||
<Filter
|
||||
|
||||
@@ -51,6 +51,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk-encode-symbolic-svg", "
|
||||
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-icon-browser", "gtk3-icon-browser.vcproj", "{3281202A-CD26-4C67-B892-EB34BDBC612E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
|
||||
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gailutil", "gailutil.vcproj", "{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
|
||||
@@ -64,6 +70,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcproj",
|
||||
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}
|
||||
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942} = {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612F} = {3281202A-CD26-4C67-B892-EB34BDBC612F}
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E} = {3281202A-CD26-4C67-B892-EB34BDBC612E}
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC6130} = {3281202A-CD26-4C67-B892-EB34BDBC6130}
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC6131} = {3281202A-CD26-4C67-B892-EB34BDBC6131}
|
||||
EndProjectSection
|
||||
@@ -240,6 +247,22 @@ Global
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612F}.Release_Broadway|Win32.Build.0 = Release|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612F}.Release_Broadway|x64.ActiveCfg = Release|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612F}.Release_Broadway|x64.Build.0 = Release|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug|x64.Build.0 = Debug|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release|Win32.Build.0 = Release|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release|x64.ActiveCfg = Release|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release|x64.Build.0 = Release|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug_Broadway|Win32.Build.0 = Debug|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug_Broadway|x64.ActiveCfg = Debug|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug_Broadway|x64.Build.0 = Debug|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release_Broadway|Win32.ActiveCfg = Release|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release_Broadway|Win32.Build.0 = Release|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release_Broadway|x64.ActiveCfg = Release|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release_Broadway|x64.Build.0 = Release|x64
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug|x64.ActiveCfg = Debug|x64
|
||||
|
||||
@@ -36,7 +36,7 @@ echo $(ConfigurationName) > ..\..\..\MSVC_$(ConfigurationName)

|
||||
<UserMacro
|
||||
Name="GenGdkConfigHBroadway"
|
||||
Value="
|
||||
if exist ..\..\..\MSVC_$(ConfigurationName) goto DONE_GDKCONFIG_H

|
||||
if exist ..\..\..\MSVC_$(ConfigurationName)_Broadway goto DONE_GDKCONFIG_H

|
||||
|
||||
if exist ..\..\..\gdk\gdkconfig.h del ..\..\..\gdk\gdkconfig.h

|
||||
if exist ..\..\..\GDK_WIN32ONLY_BUILD del ..\..\..\GDK_WIN32ONLY_BUILD

|
||||
@@ -50,7 +50,7 @@ if "$(ConfigurationName)" == "Debug_Broadway" del ..\..\..\M
|
||||
copy ..\..\..\gdk\gdkconfig.h.win32_broadway ..\..\..\gdk\gdkconfig.h

|
||||
copy ..\..\..\gdk\gdkconfig.h.win32_broadway ..\..\..\GDK_BROADWAY_BUILD

|
||||
|
||||
echo $(ConfigurationName) > ..\..\..\MSVC_$(ConfigurationName)

|
||||
echo $(ConfigurationName) > ..\..\..\MSVC_$(ConfigurationName)_Broadway

|
||||
:DONE_GDKCONFIG_H

|
||||
"
|
||||
/>
|
||||
|
||||
@@ -1,437 +1,421 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="gtkinstallprops"
|
||||
InheritedPropertySheets=".\gtk-build-defines.vsprops"
|
||||
>
|
||||
<UserMacro
|
||||
Name="GtkDoInstallBin"
|
||||
Value="
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="gtkinstallprops"
|
||||
InheritedPropertySheets=".\gtk-build-defines.vsprops"
|
||||
>
|
||||
<UserMacro
|
||||
Name="GtkDoInstallBin"
|
||||
Value="
|
||||
mkdir $(CopyDir)\bin

|
||||
mkdir $(CopyDir)\lib

|
||||
|
||||
if "$(ConfigurationName)" == "Release_Broadway" goto DO_BROADWAY_BIN

|
||||
if "$(ConfigurationName)" == "Debug_Broadway" goto DO_BROADWAY_BIN

|
||||
|
||||
copy $(ConfigurationName)\$(PlatformName)\bin\*.dll $(CopyDir)\bin

|
||||
copy $(ConfigurationName)\$(PlatformName)\bin\*-$(ApiVersion).lib $(CopyDir)\lib

|
||||
copy $(ConfigurationName)\$(PlatformName)\bin\*.exe $(CopyDir)\bin

|
||||
goto DONE_BIN

|
||||
|
||||
:DO_BROADWAY_BIN

|
||||
copy $(ConfigurationName)\$(PlatformName)\bin\$(GtkDllPrefix)gdk$(GtkDllSuffix).dll $(CopyDir)\bin

|
||||
copy $(ConfigurationName)\$(PlatformName)\bin\gdk-$(ApiVersion).lib $(CopyDir)\lib

|
||||
copy $(ConfigurationName)\$(PlatformName)\bin\broadwayd.exe $(CopyDir)\bin

|
||||
|
||||
if "$(ConfigurationName)" == "Release_Broadway" copy .\Release\$(PlatformName)\bin\$(GtkDllPrefix)gtk$(GtkDllSuffix).dll $(CopyDir)\bin

|
||||
if "$(ConfigurationName)" == "Release_Broadway" copy .\Release\$(PlatformName)\bin\$(GtkDllPrefix)gailutil$(GtkDllSuffix).dll $(CopyDir)\bin

|
||||
if "$(ConfigurationName)" == "Release_Broadway" copy .\Release\$(PlatformName)\bin\gtk-$(ApiVersion).lib $(CopyDir)\lib

|
||||
if "$(ConfigurationName)" == "Release_Broadway" copy .\Release\$(PlatformName)\bin\gailutil-$(ApiVersion).lib $(CopyDir)\lib

|
||||
if "$(ConfigurationName)" == "Release_Broadway" copy .\Release\$(PlatformName)\bin\*.exe $(CopyDir)\bin

|
||||
|
||||
if "$(ConfigurationName)" == "Debug_Broadway" copy .\Debug\$(PlatformName)\bin\$(GtkDllPrefix)gtk$(GtkDllSuffix).dll $(CopyDir)\bin

|
||||
if "$(ConfigurationName)" == "Debug_Broadway" copy .\Debug\$(PlatformName)\bin\$(GtkDllPrefix)gailutil$(GtkDllSuffix).dll $(CopyDir)\bin

|
||||
if "$(ConfigurationName)" == "Debug_Broadway" copy .\Debug\$(PlatformName)\bin\gtk-$(ApiVersion).lib $(CopyDir)\lib

|
||||
if "$(ConfigurationName)" == "Debug_Broadway" copy .\Debug\$(PlatformName)\bin\gailutil-$(ApiVersion).lib $(CopyDir)\lib

|
||||
if "$(ConfigurationName)" == "Debug_Broadway" copy .\Debug\$(PlatformName)\bin\*.exe $(CopyDir)\bin

|
||||
:DONE_BIN

|
||||
"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="GtkDoInstall"
|
||||
Value="
|
||||
"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="GtkDoInstall"
|
||||
Value="
|
||||
echo off

|
||||
|
||||
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32

|
||||
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\deprecated

|
||||
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
|
||||
copy ..\..\..\gdk\win32\gdkwin32.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\win32\gdkwin32cursor.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32

|
||||
copy ..\..\..\gdk\win32\gdkwin32display.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32

|
||||
copy ..\..\..\gdk\win32\gdkwin32displaymanager.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32

|
||||
copy ..\..\..\gdk\win32\gdkwin32dnd.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32

|
||||
copy ..\..\..\gdk\win32\gdkwin32keys.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32

|
||||
copy ..\..\..\gdk\win32\gdkwin32misc.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32

|
||||
copy ..\..\..\gdk\win32\gdkwin32screen.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32

|
||||
copy ..\..\..\gdk\win32\gdkwin32window.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32

|
||||
copy ..\..\..\gdk\gdk.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkapplaunchcontext.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkcairo.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkcursor.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkdevice.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkdevicemanager.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkdisplay.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkdisplaymanager.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkdnd.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkevents.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkframetimings.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkkeys.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkkeysyms.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkkeysyms-compat.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkmain.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkpango.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkframeclock.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkpixbuf.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkprivate.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkproperty.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkrectangle.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkrgba.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkscreen.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkselection.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdktestutils.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkthreads.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdktypes.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkvisual.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkwindow.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkenumtypes.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkversionmacros.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\gdkconfig.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
copy ..\..\..\gdk\deprecated\gdkcolor.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\deprecated

|
||||
copy ..\..\..\gtk\a11y\gtkarrowaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkbooleancellaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkbuttonaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkcellaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkcellaccessibleparent.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkcheckmenuitemaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkcomboboxaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkcontaineraccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkcontainercellaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkentryaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkexpanderaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkflowboxaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkflowboxchildaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkframeaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkiconviewaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkimageaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkimagecellaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtklabelaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtklevelbaraccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtklinkbuttonaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtklistboxaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtklistboxrowaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtklockbuttonaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkmenuaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkmenubuttonaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkmenuitemaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkmenushellaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtknotebookaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtknotebookpageaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkpanedaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkpopoveraccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkprogressbaraccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkradiobuttonaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkradiomenuitemaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkrangeaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkrenderercellaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkscaleaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkscalebuttonaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkscrolledwindowaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkspinbuttonaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkspinneraccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkstatusbaraccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkswitchaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtktextcellaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtktextviewaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtktogglebuttonaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtktoplevelaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtktreeviewaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkwidgetaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\a11y\gtkwindowaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y

|
||||
copy ..\..\..\gtk\gtk.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkx.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtk-a11y.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkaboutdialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkaccelgroup.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkaccellabel.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkaccelmap.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkactionable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkactionbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkadjustment.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkappchooser.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkappchooserbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkappchooserdialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkappchooserwidget.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkapplication.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkapplicationwindow.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkaspectframe.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkassistant.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkbbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkbin.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkbindings.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkborder.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkbuilder.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkbuildable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcalendar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcellarea.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcellareacontext.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcellareabox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcelleditable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcelllayout.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcellrenderer.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcellrendereraccel.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcellrenderercombo.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcellrendererpixbuf.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcellrendererprogress.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcellrendererspin.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcellrendererspinner.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcellrenderertext.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcellrenderertoggle.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcellview.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcheckbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcheckmenuitem.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkclipboard.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcolorbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcolorchooser.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcolorchooserwidget.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcolorchooserdialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcolorutils.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcombobox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcomboboxtext.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcontainer.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcssprovider.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkcsssection.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkdebug.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkdialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkdnd.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkdrawingarea.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkeditable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkentry.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkentrybuffer.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkentrycompletion.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkenums.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkeventbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkeventcontroller.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkexpander.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkfilechooser.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkfilechooserbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkfilechooserdialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkfilechooserwidget.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkfilefilter.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkfixed.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkflowbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkfontbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkfontchooser.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkfontchooserdialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkfontchooserwidget.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkframe.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkgesture.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkgesturedrag.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkgesturelongpress.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkgesturemultipress.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkgesturepan.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkgesturerotate.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkgesturesingle.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkgestureswipe.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkgesturezoom.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkgrid.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkheaderbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkicontheme.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkiconview.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkimage.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkimcontext.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkimcontextinfo.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkimcontextsimple.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkimmodule.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkimmulticontext.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkinfobar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkinvisible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtklabel.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtklayout.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtklevelbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtklinkbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtklistbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkliststore.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtklockbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkmain.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkmenu.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkmenubar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkmenubutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkmenuitem.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkmenushell.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkmenutoolbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkmessagedialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkmodules.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkmountoperation.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtknotebook.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkoffscreenwindow.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkorientable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkoverlay.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkpagesetup.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkpaned.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkpapersize.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkplacessidebar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkplug.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkpopover.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkprintcontext.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkprintoperation.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkprintoperationpreview.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkprintsettings.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkprogressbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkradiobutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkradiomenuitem.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkradiotoolbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkrange.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkrecentchooser.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkrecentchooserdialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkrecentchoosermenu.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkrecentchooserwidget.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkrecentfilter.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkrecentmanager.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkrevealer.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkscale.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkscalebutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkscrollable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkscrollbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkscrolledwindow.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtksearchbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtksearchentry.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkselection.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkseparator.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkseparatormenuitem.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkseparatortoolitem.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtksettings.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkshow.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtksizegroup.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtksizerequest.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtksocket.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkspinbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkspinner.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkstack.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkstackswitcher.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkstatusbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkstatusicon.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkstylecontext.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkstyleproperties.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkstyleprovider.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkswitch.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktestutils.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktextattributes.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktextbuffer.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktextbufferrichtext.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktextchild.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktextdisplay.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktextiter.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktextmark.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktexttag.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktexttagtable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktextview.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkthemingengine.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktogglebutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktoggletoolbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktoolbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktoolbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktoolitem.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktoolitemgroup.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktoolpalette.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktoolshell.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktooltip.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktreednd.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktreemodel.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktreemodelfilter.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktreemodelsort.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktreeselection.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktreesortable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktreestore.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktreeview.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktreeviewcolumn.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktypes.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkviewport.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkvolumebutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkwidget.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkwidgetpath.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkwindow.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkwindowgroup.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktextlayout.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtktypebuiltins.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\gtkversion.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk

|
||||
copy ..\..\..\gtk\deprecated\gtkactivatable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkaction.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkactiongroup.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkalignment.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkarrow.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkcolorsel.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkcolorseldialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkfontsel.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkgradient.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkhandlebox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkhbbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkhbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkhpaned.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkhscale.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkhscrollbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkhseparator.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkhsv.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkiconfactory.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkimagemenuitem.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkmisc.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtknumerableicon.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkradioaction.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkrc.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkrecentaction.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkstock.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkstyle.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtksymboliccolor.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtktable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtktearoffmenuitem.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtktoggleaction.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkuimanager.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkvbbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkvbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkvscale.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkvscrollbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkvseparator.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
copy ..\..\..\gtk\deprecated\gtkvpaned.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated

|
||||
|
||||
copy ..\..\..\gdk\gdk.h $(CopyDir)\include\gtk-3.0\gdk\gdk.h

|
||||
copy ..\..\..\gdk\gdkapplaunchcontext.h $(CopyDir)\include\gtk-3.0\gdk\gdkapplaunchcontext.h

|
||||
copy ..\..\..\gdk\gdkcairo.h $(CopyDir)\include\gtk-3.0\gdk\gdkcairo.h

|
||||
copy ..\..\..\gdk\gdkcursor.h $(CopyDir)\include\gtk-3.0\gdk\gdkcursor.h

|
||||
copy ..\..\..\gdk\gdkdevice.h $(CopyDir)\include\gtk-3.0\gdk\gdkdevice.h

|
||||
copy ..\..\..\gdk\gdkdevicemanager.h $(CopyDir)\include\gtk-3.0\gdk\gdkdevicemanager.h

|
||||
copy ..\..\..\gdk\gdkdisplay.h $(CopyDir)\include\gtk-3.0\gdk\gdkdisplay.h

|
||||
copy ..\..\..\gdk\gdkdisplaymanager.h $(CopyDir)\include\gtk-3.0\gdk\gdkdisplaymanager.h

|
||||
copy ..\..\..\gdk\gdkdnd.h $(CopyDir)\include\gtk-3.0\gdk\gdkdnd.h

|
||||
copy ..\..\..\gdk\gdkevents.h $(CopyDir)\include\gtk-3.0\gdk\gdkevents.h

|
||||
copy ..\..\..\gdk\gdkframetimings.h $(CopyDir)\include\gtk-3.0\gdk\gdkframetimings.h

|
||||
copy ..\..\..\gdk\gdkkeys.h $(CopyDir)\include\gtk-3.0\gdk\gdkkeys.h

|
||||
copy ..\..\..\gdk\gdkkeysyms.h $(CopyDir)\include\gtk-3.0\gdk\gdkkeysyms.h

|
||||
copy ..\..\..\gdk\gdkkeysyms-compat.h $(CopyDir)\include\gtk-3.0\gdk\gdkkeysyms-compat.h

|
||||
copy ..\..\..\gdk\gdkmain.h $(CopyDir)\include\gtk-3.0\gdk\gdkmain.h

|
||||
copy ..\..\..\gdk\gdkpango.h $(CopyDir)\include\gtk-3.0\gdk\gdkpango.h

|
||||
copy ..\..\..\gdk\gdkframeclock.h $(CopyDir)\include\gtk-3.0\gdk\gdkframeclock.h

|
||||
copy ..\..\..\gdk\gdkpixbuf.h $(CopyDir)\include\gtk-3.0\gdk\gdkpixbuf.h

|
||||
copy ..\..\..\gdk\gdkprivate.h $(CopyDir)\include\gtk-3.0\gdk\gdkprivate.h

|
||||
copy ..\..\..\gdk\gdkproperty.h $(CopyDir)\include\gtk-3.0\gdk\gdkproperty.h

|
||||
copy ..\..\..\gdk\gdkrectangle.h $(CopyDir)\include\gtk-3.0\gdk\gdkrectangle.h

|
||||
copy ..\..\..\gdk\gdkrgba.h $(CopyDir)\include\gtk-3.0\gdk\gdkrgba.h

|
||||
copy ..\..\..\gdk\gdkscreen.h $(CopyDir)\include\gtk-3.0\gdk\gdkscreen.h

|
||||
copy ..\..\..\gdk\gdkselection.h $(CopyDir)\include\gtk-3.0\gdk\gdkselection.h

|
||||
copy ..\..\..\gdk\gdktestutils.h $(CopyDir)\include\gtk-3.0\gdk\gdktestutils.h

|
||||
copy ..\..\..\gdk\gdkthreads.h $(CopyDir)\include\gtk-3.0\gdk\gdkthreads.h

|
||||
copy ..\..\..\gdk\gdktypes.h $(CopyDir)\include\gtk-3.0\gdk\gdktypes.h

|
||||
copy ..\..\..\gdk\gdkvisual.h $(CopyDir)\include\gtk-3.0\gdk\gdkvisual.h

|
||||
copy ..\..\..\gdk\gdkwindow.h $(CopyDir)\include\gtk-3.0\gdk\gdkwindow.h

|
||||
copy ..\..\..\gdk\gdkenumtypes.h $(CopyDir)\include\gtk-3.0\gdk\gdkenumtypes.h

|
||||
copy ..\..\..\gdk\gdkversionmacros.h $(CopyDir)\include\gtk-3.0\gdk\gdkversionmacros.h

|
||||
copy ..\..\..\gdk\gdkconfig.h $(CopyDir)\include\gtk-3.0\gdk\gdkconfig.h

|
||||
copy ..\..\..\gdk\deprecated\gdkcolor.h $(CopyDir)\include\gtk-3.0\gdk\deprecated\gdkcolor.h

|
||||
copy ..\..\..\gdk\win32\gdkwin32cursor.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32cursor.h

|
||||
copy ..\..\..\gdk\win32\gdkwin32display.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32display.h

|
||||
copy ..\..\..\gdk\win32\gdkwin32displaymanager.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32displaymanager.h

|
||||
copy ..\..\..\gdk\win32\gdkwin32dnd.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32dnd.h

|
||||
copy ..\..\..\gdk\win32\gdkwin32keys.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32keys.h

|
||||
copy ..\..\..\gdk\win32\gdkwin32misc.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32misc.h

|
||||
copy ..\..\..\gdk\win32\gdkwin32screen.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32screen.h

|
||||
copy ..\..\..\gdk\win32\gdkwin32window.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32window.h

|
||||
copy ..\..\..\gtk\gtk.h $(CopyDir)\include\gtk-3.0\gtk\gtk.h

|
||||
copy ..\..\..\gtk\gtkx.h $(CopyDir)\include\gtk-3.0\gtk\gtkx.h

|
||||
copy ..\..\..\gtk\gtk-a11y.h $(CopyDir)\include\gtk-3.0\gtk\gtk-a11y.h

|
||||
copy ..\..\..\gtk\gtkaboutdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkaboutdialog.h

|
||||
copy ..\..\..\gtk\gtkaccelgroup.h $(CopyDir)\include\gtk-3.0\gtk\gtkaccelgroup.h

|
||||
copy ..\..\..\gtk\gtkaccellabel.h $(CopyDir)\include\gtk-3.0\gtk\gtkaccellabel.h

|
||||
copy ..\..\..\gtk\gtkaccelmap.h $(CopyDir)\include\gtk-3.0\gtk\gtkaccelmap.h

|
||||
copy ..\..\..\gtk\gtkaccessible.h $(CopyDir)\include\gtk-3.0\gtk\gtkaccessible.h

|
||||
copy ..\..\..\gtk\gtkactionable.h $(CopyDir)\include\gtk-3.0\gtk\gtkactionable.h

|
||||
copy ..\..\..\gtk\gtkactionbar.h $(CopyDir)\include\gtk-3.0\gtk\gtkactionbar.h

|
||||
copy ..\..\..\gtk\gtkadjustment.h $(CopyDir)\include\gtk-3.0\gtk\gtkadjustment.h

|
||||
copy ..\..\..\gtk\gtkappchooser.h $(CopyDir)\include\gtk-3.0\gtk\gtkappchooser.h

|
||||
copy ..\..\..\gtk\gtkappchooserbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkappchooserbutton.h

|
||||
copy ..\..\..\gtk\gtkappchooserdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkappchooserdialog.h

|
||||
copy ..\..\..\gtk\gtkappchooserwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkappchooserwidget.h

|
||||
copy ..\..\..\gtk\gtkapplication.h $(CopyDir)\include\gtk-3.0\gtk\gtkapplication.h

|
||||
copy ..\..\..\gtk\gtkapplicationwindow.h $(CopyDir)\include\gtk-3.0\gtk\gtkapplicationwindow.h

|
||||
copy ..\..\..\gtk\gtkaspectframe.h $(CopyDir)\include\gtk-3.0\gtk\gtkaspectframe.h

|
||||
copy ..\..\..\gtk\gtkassistant.h $(CopyDir)\include\gtk-3.0\gtk\gtkassistant.h

|
||||
copy ..\..\..\gtk\gtkbbox.h $(CopyDir)\include\gtk-3.0\gtk\gtkbbox.h

|
||||
copy ..\..\..\gtk\gtkbin.h $(CopyDir)\include\gtk-3.0\gtk\gtkbin.h

|
||||
copy ..\..\..\gtk\gtkbindings.h $(CopyDir)\include\gtk-3.0\gtk\gtkbindings.h

|
||||
copy ..\..\..\gtk\gtkborder.h $(CopyDir)\include\gtk-3.0\gtk\gtkborder.h

|
||||
copy ..\..\..\gtk\gtkbox.h $(CopyDir)\include\gtk-3.0\gtk\gtkbox.h

|
||||
copy ..\..\..\gtk\gtkbuilder.h $(CopyDir)\include\gtk-3.0\gtk\gtkbuilder.h

|
||||
copy ..\..\..\gtk\gtkbuildable.h $(CopyDir)\include\gtk-3.0\gtk\gtkbuildable.h

|
||||
copy ..\..\..\gtk\gtkbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkbutton.h

|
||||
copy ..\..\..\gtk\gtkcalendar.h $(CopyDir)\include\gtk-3.0\gtk\gtkcalendar.h

|
||||
copy ..\..\..\gtk\gtkcellarea.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellarea.h

|
||||
copy ..\..\..\gtk\gtkcellareacontext.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellareacontext.h

|
||||
copy ..\..\..\gtk\gtkcellareabox.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellareabox.h

|
||||
copy ..\..\..\gtk\gtkcelleditable.h $(CopyDir)\include\gtk-3.0\gtk\gtkcelleditable.h

|
||||
copy ..\..\..\gtk\gtkcelllayout.h $(CopyDir)\include\gtk-3.0\gtk\gtkcelllayout.h

|
||||
copy ..\..\..\gtk\gtkcellrenderer.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrenderer.h

|
||||
copy ..\..\..\gtk\gtkcellrendereraccel.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrendereraccel.h

|
||||
copy ..\..\..\gtk\gtkcellrenderercombo.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrenderercombo.h

|
||||
copy ..\..\..\gtk\gtkcellrendererpixbuf.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrendererpixbuf.h

|
||||
copy ..\..\..\gtk\gtkcellrendererprogress.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrendererprogress.h

|
||||
copy ..\..\..\gtk\gtkcellrendererspin.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrendererspin.h

|
||||
copy ..\..\..\gtk\gtkcellrendererspinner.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrendererspinner.h

|
||||
copy ..\..\..\gtk\gtkcellrenderertext.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrenderertext.h

|
||||
copy ..\..\..\gtk\gtkcellrenderertoggle.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrenderertoggle.h

|
||||
copy ..\..\..\gtk\gtkcellview.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellview.h

|
||||
copy ..\..\..\gtk\gtkcheckbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkcheckbutton.h

|
||||
copy ..\..\..\gtk\gtkcheckmenuitem.h $(CopyDir)\include\gtk-3.0\gtk\gtkcheckmenuitem.h

|
||||
copy ..\..\..\gtk\gtkclipboard.h $(CopyDir)\include\gtk-3.0\gtk\gtkclipboard.h

|
||||
copy ..\..\..\gtk\gtkcolorbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkcolorbutton.h

|
||||
copy ..\..\..\gtk\gtkcolorchooser.h $(CopyDir)\include\gtk-3.0\gtk\gtkcolorchooser.h

|
||||
copy ..\..\..\gtk\gtkcolorchooserwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkcolorchooserwidget.h

|
||||
copy ..\..\..\gtk\gtkcolorchooserdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkcolorchooserdialog.h

|
||||
copy ..\..\..\gtk\gtkcolorutils.h $(CopyDir)\include\gtk-3.0\gtk\gtkcolorutils.h

|
||||
copy ..\..\..\gtk\gtkcombobox.h $(CopyDir)\include\gtk-3.0\gtk\gtkcombobox.h

|
||||
copy ..\..\..\gtk\gtkcomboboxtext.h $(CopyDir)\include\gtk-3.0\gtk\gtkcomboboxtext.h

|
||||
copy ..\..\..\gtk\gtkcontainer.h $(CopyDir)\include\gtk-3.0\gtk\gtkcontainer.h

|
||||
copy ..\..\..\gtk\gtkcssprovider.h $(CopyDir)\include\gtk-3.0\gtk\gtkcssprovider.h

|
||||
copy ..\..\..\gtk\gtkcsssection.h $(CopyDir)\include\gtk-3.0\gtk\gtkcsssection.h

|
||||
copy ..\..\..\gtk\gtkdebug.h $(CopyDir)\include\gtk-3.0\gtk\gtkdebug.h

|
||||
copy ..\..\..\gtk\gtkdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkdialog.h

|
||||
copy ..\..\..\gtk\gtkdnd.h $(CopyDir)\include\gtk-3.0\gtk\gtkdnd.h

|
||||
copy ..\..\..\gtk\gtkdrawingarea.h $(CopyDir)\include\gtk-3.0\gtk\gtkdrawingarea.h

|
||||
copy ..\..\..\gtk\gtkeditable.h $(CopyDir)\include\gtk-3.0\gtk\gtkeditable.h

|
||||
copy ..\..\..\gtk\gtkentry.h $(CopyDir)\include\gtk-3.0\gtk\gtkentry.h

|
||||
copy ..\..\..\gtk\gtkentrybuffer.h $(CopyDir)\include\gtk-3.0\gtk\gtkentrybuffer.h

|
||||
copy ..\..\..\gtk\gtkentrycompletion.h $(CopyDir)\include\gtk-3.0\gtk\gtkentrycompletion.h

|
||||
copy ..\..\..\gtk\gtkenums.h $(CopyDir)\include\gtk-3.0\gtk\gtkenums.h

|
||||
copy ..\..\..\gtk\gtkeventbox.h $(CopyDir)\include\gtk-3.0\gtk\gtkeventbox.h

|
||||
copy ..\..\..\gtk\gtkeventcontroller.h $(CopyDir)\include\gtk-3.0\gtk\gtkeventcontroller.h

|
||||
copy ..\..\..\gtk\gtkexpander.h $(CopyDir)\include\gtk-3.0\gtk\gtkexpander.h

|
||||
copy ..\..\..\gtk\gtkfilechooser.h $(CopyDir)\include\gtk-3.0\gtk\gtkfilechooser.h

|
||||
copy ..\..\..\gtk\gtkfilechooserbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkfilechooserbutton.h

|
||||
copy ..\..\..\gtk\gtkfilechooserdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkfilechooserdialog.h

|
||||
copy ..\..\..\gtk\gtkfilechooserwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkfilechooserwidget.h

|
||||
copy ..\..\..\gtk\gtkfilefilter.h $(CopyDir)\include\gtk-3.0\gtk\gtkfilefilter.h

|
||||
copy ..\..\..\gtk\gtkfixed.h $(CopyDir)\include\gtk-3.0\gtk\gtkfixed.h

|
||||
copy ..\..\..\gtk\gtkflowbox.h $(CopyDir)\include\gtk-3.0\gtk\gtkflowbox.h

|
||||
copy ..\..\..\gtk\gtkfontbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkfontbutton.h

|
||||
copy ..\..\..\gtk\gtkfontchooser.h $(CopyDir)\include\gtk-3.0\gtk\gtkfontchooser.h

|
||||
copy ..\..\..\gtk\gtkfontchooserdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkfontchooserdialog.h

|
||||
copy ..\..\..\gtk\gtkfontchooserwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkfontchooserwidget.h

|
||||
copy ..\..\..\gtk\gtkframe.h $(CopyDir)\include\gtk-3.0\gtk\gtkframe.h

|
||||
copy ..\..\..\gtk\gtkgesture.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesture.h

|
||||
copy ..\..\..\gtk\gtkgesturedrag.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturedrag.h

|
||||
copy ..\..\..\gtk\gtkgesturelongpress.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturelongpress.h

|
||||
copy ..\..\..\gtk\gtkgesturemultipress.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturemultipress.h

|
||||
copy ..\..\..\gtk\gtkgesturepan.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturepan.h

|
||||
copy ..\..\..\gtk\gtkgesturerotate.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturerotate.h

|
||||
copy ..\..\..\gtk\gtkgesturesingle.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturesingle.h

|
||||
copy ..\..\..\gtk\gtkgestureswipe.h $(CopyDir)\include\gtk-3.0\gtk\gtkgestureswipe.h

|
||||
copy ..\..\..\gtk\gtkgesturezoom.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturezoom.h

|
||||
copy ..\..\..\gtk\gtkgrid.h $(CopyDir)\include\gtk-3.0\gtk\gtkgrid.h

|
||||
copy ..\..\..\gtk\gtkheaderbar.h $(CopyDir)\include\gtk-3.0\gtk\gtkheaderbar.h

|
||||
copy ..\..\..\gtk\gtkicontheme.h $(CopyDir)\include\gtk-3.0\gtk\gtkicontheme.h

|
||||
copy ..\..\..\gtk\gtkiconview.h $(CopyDir)\include\gtk-3.0\gtk\gtkiconview.h

|
||||
copy ..\..\..\gtk\gtkimage.h $(CopyDir)\include\gtk-3.0\gtk\gtkimage.h

|
||||
copy ..\..\..\gtk\gtkimcontext.h $(CopyDir)\include\gtk-3.0\gtk\gtkimcontext.h

|
||||
copy ..\..\..\gtk\gtkimcontextinfo.h $(CopyDir)\include\gtk-3.0\gtk\gtkimcontextinfo.h

|
||||
copy ..\..\..\gtk\gtkimcontextsimple.h $(CopyDir)\include\gtk-3.0\gtk\gtkimcontextsimple.h

|
||||
copy ..\..\..\gtk\gtkimmodule.h $(CopyDir)\include\gtk-3.0\gtk\gtkimmodule.h

|
||||
copy ..\..\..\gtk\gtkimmulticontext.h $(CopyDir)\include\gtk-3.0\gtk\gtkimmulticontext.h

|
||||
copy ..\..\..\gtk\gtkinfobar.h $(CopyDir)\include\gtk-3.0\gtk\gtkinfobar.h

|
||||
copy ..\..\..\gtk\gtkinvisible.h $(CopyDir)\include\gtk-3.0\gtk\gtkinvisible.h

|
||||
copy ..\..\..\gtk\gtklabel.h $(CopyDir)\include\gtk-3.0\gtk\gtklabel.h

|
||||
copy ..\..\..\gtk\gtklayout.h $(CopyDir)\include\gtk-3.0\gtk\gtklayout.h

|
||||
copy ..\..\..\gtk\gtklevelbar.h $(CopyDir)\include\gtk-3.0\gtk\gtklevelbar.h

|
||||
copy ..\..\..\gtk\gtklinkbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtklinkbutton.h

|
||||
copy ..\..\..\gtk\gtklistbox.h $(CopyDir)\include\gtk-3.0\gtk\gtklistbox.h

|
||||
copy ..\..\..\gtk\gtkliststore.h $(CopyDir)\include\gtk-3.0\gtk\gtkliststore.h

|
||||
copy ..\..\..\gtk\gtklockbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtklockbutton.h

|
||||
copy ..\..\..\gtk\gtkmain.h $(CopyDir)\include\gtk-3.0\gtk\gtkmain.h

|
||||
copy ..\..\..\gtk\gtkmenu.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenu.h

|
||||
copy ..\..\..\gtk\gtkmenubar.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenubar.h

|
||||
copy ..\..\..\gtk\gtkmenubutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenubutton.h

|
||||
copy ..\..\..\gtk\gtkmenuitem.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenuitem.h

|
||||
copy ..\..\..\gtk\gtkmenushell.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenushell.h

|
||||
copy ..\..\..\gtk\gtkmenutoolbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenutoolbutton.h

|
||||
copy ..\..\..\gtk\gtkmessagedialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkmessagedialog.h

|
||||
copy ..\..\..\gtk\gtkmodules.h $(CopyDir)\include\gtk-3.0\gtk\gtkmodules.h

|
||||
copy ..\..\..\gtk\gtkmountoperation.h $(CopyDir)\include\gtk-3.0\gtk\gtkmountoperation.h

|
||||
copy ..\..\..\gtk\gtknotebook.h $(CopyDir)\include\gtk-3.0\gtk\gtknotebook.h

|
||||
copy ..\..\..\gtk\gtkoffscreenwindow.h $(CopyDir)\include\gtk-3.0\gtk\gtkoffscreenwindow.h

|
||||
copy ..\..\..\gtk\gtkorientable.h $(CopyDir)\include\gtk-3.0\gtk\gtkorientable.h

|
||||
copy ..\..\..\gtk\gtkoverlay.h $(CopyDir)\include\gtk-3.0\gtk\gtkoverlay.h

|
||||
copy ..\..\..\gtk\gtkpagesetup.h $(CopyDir)\include\gtk-3.0\gtk\gtkpagesetup.h

|
||||
copy ..\..\..\gtk\gtkpaned.h $(CopyDir)\include\gtk-3.0\gtk\gtkpaned.h

|
||||
copy ..\..\..\gtk\gtkpapersize.h $(CopyDir)\include\gtk-3.0\gtk\gtkpapersize.h

|
||||
copy ..\..\..\gtk\gtkplacessidebar.h $(CopyDir)\include\gtk-3.0\gtk\gtkplacessidebar.h

|
||||
copy ..\..\..\gtk\gtkplug.h $(CopyDir)\include\gtk-3.0\gtk\gtkplug.h

|
||||
copy ..\..\..\gtk\gtkpopover.h $(CopyDir)\include\gtk-3.0\gtk\gtkpopover.h

|
||||
copy ..\..\..\gtk\gtkprintcontext.h $(CopyDir)\include\gtk-3.0\gtk\gtkprintcontext.h

|
||||
copy ..\..\..\gtk\gtkprintoperation.h $(CopyDir)\include\gtk-3.0\gtk\gtkprintoperation.h

|
||||
copy ..\..\..\gtk\gtkprintoperationpreview.h $(CopyDir)\include\gtk-3.0\gtk\gtkprintoperationpreview.h

|
||||
copy ..\..\..\gtk\gtkprintsettings.h $(CopyDir)\include\gtk-3.0\gtk\gtkprintsettings.h

|
||||
copy ..\..\..\gtk\gtkprogressbar.h $(CopyDir)\include\gtk-3.0\gtk\gtkprogressbar.h

|
||||
copy ..\..\..\gtk\gtkradiobutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkradiobutton.h

|
||||
copy ..\..\..\gtk\gtkradiomenuitem.h $(CopyDir)\include\gtk-3.0\gtk\gtkradiomenuitem.h

|
||||
copy ..\..\..\gtk\gtkradiotoolbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkradiotoolbutton.h

|
||||
copy ..\..\..\gtk\gtkrange.h $(CopyDir)\include\gtk-3.0\gtk\gtkrange.h

|
||||
copy ..\..\..\gtk\gtkrecentchooser.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentchooser.h

|
||||
copy ..\..\..\gtk\gtkrecentchooserdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentchooserdialog.h

|
||||
copy ..\..\..\gtk\gtkrecentchoosermenu.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentchoosermenu.h

|
||||
copy ..\..\..\gtk\gtkrecentchooserwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentchooserwidget.h

|
||||
copy ..\..\..\gtk\gtkrecentfilter.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentfilter.h

|
||||
copy ..\..\..\gtk\gtkrecentmanager.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentmanager.h

|
||||
copy ..\..\..\gtk\gtkrevealer.h $(CopyDir)\include\gtk-3.0\gtk\gtkrevealer.h

|
||||
copy ..\..\..\gtk\gtkscale.h $(CopyDir)\include\gtk-3.0\gtk\gtkscale.h

|
||||
copy ..\..\..\gtk\gtkscalebutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkscalebutton.h

|
||||
copy ..\..\..\gtk\gtkscrollable.h $(CopyDir)\include\gtk-3.0\gtk\gtkscrollable.h

|
||||
copy ..\..\..\gtk\gtkscrollbar.h $(CopyDir)\include\gtk-3.0\gtk\gtkscrollbar.h

|
||||
copy ..\..\..\gtk\gtkscrolledwindow.h $(CopyDir)\include\gtk-3.0\gtk\gtkscrolledwindow.h

|
||||
copy ..\..\..\gtk\gtksearchbar.h $(CopyDir)\include\gtk-3.0\gtk\gtksearchbar.h

|
||||
copy ..\..\..\gtk\gtksearchentry.h $(CopyDir)\include\gtk-3.0\gtk\gtksearchentry.h

|
||||
copy ..\..\..\gtk\gtkselection.h $(CopyDir)\include\gtk-3.0\gtk\gtkselection.h

|
||||
copy ..\..\..\gtk\gtkseparator.h $(CopyDir)\include\gtk-3.0\gtk\gtkseparator.h

|
||||
copy ..\..\..\gtk\gtkseparatormenuitem.h $(CopyDir)\include\gtk-3.0\gtk\gtkseparatormenuitem.h

|
||||
copy ..\..\..\gtk\gtkseparatortoolitem.h $(CopyDir)\include\gtk-3.0\gtk\gtkseparatortoolitem.h

|
||||
copy ..\..\..\gtk\gtksettings.h $(CopyDir)\include\gtk-3.0\gtk\gtksettings.h

|
||||
copy ..\..\..\gtk\gtkshow.h $(CopyDir)\include\gtk-3.0\gtk\gtkshow.h

|
||||
copy ..\..\..\gtk\gtksizegroup.h $(CopyDir)\include\gtk-3.0\gtk\gtksizegroup.h

|
||||
copy ..\..\..\gtk\gtksizerequest.h $(CopyDir)\include\gtk-3.0\gtk\gtksizerequest.h

|
||||
copy ..\..\..\gtk\gtksocket.h $(CopyDir)\include\gtk-3.0\gtk\gtksocket.h

|
||||
copy ..\..\..\gtk\gtkspinbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkspinbutton.h

|
||||
copy ..\..\..\gtk\gtkspinner.h $(CopyDir)\include\gtk-3.0\gtk\gtkspinner.h

|
||||
copy ..\..\..\gtk\gtkstack.h $(CopyDir)\include\gtk-3.0\gtk\gtkstack.h

|
||||
copy ..\..\..\gtk\gtkstackswitcher.h $(CopyDir)\include\gtk-3.0\gtk\gtkstackswitcher.h

|
||||
copy ..\..\..\gtk\gtkstatusbar.h $(CopyDir)\include\gtk-3.0\gtk\gtkstatusbar.h

|
||||
copy ..\..\..\gtk\gtkstylecontext.h $(CopyDir)\include\gtk-3.0\gtk\gtkstylecontext.h

|
||||
copy ..\..\..\gtk\gtkstyleproperties.h $(CopyDir)\include\gtk-3.0\gtk\gtkstyleproperties.h

|
||||
copy ..\..\..\gtk\gtkstyleprovider.h $(CopyDir)\include\gtk-3.0\gtk\gtkstyleprovider.h

|
||||
copy ..\..\..\gtk\gtkswitch.h $(CopyDir)\include\gtk-3.0\gtk\gtkswitch.h

|
||||
copy ..\..\..\gtk\gtktestutils.h $(CopyDir)\include\gtk-3.0\gtk\gtktestutils.h

|
||||
copy ..\..\..\gtk\gtktextattributes.h $(CopyDir)\include\gtk-3.0\gtk\gtktextattributes.h

|
||||
copy ..\..\..\gtk\gtktextbuffer.h $(CopyDir)\include\gtk-3.0\gtk\gtktextbuffer.h

|
||||
copy ..\..\..\gtk\gtktextbufferrichtext.h $(CopyDir)\include\gtk-3.0\gtk\gtktextbufferrichtext.h

|
||||
copy ..\..\..\gtk\gtktextchild.h $(CopyDir)\include\gtk-3.0\gtk\gtktextchild.h

|
||||
copy ..\..\..\gtk\gtktextdisplay.h $(CopyDir)\include\gtk-3.0\gtk\gtktextdisplay.h

|
||||
copy ..\..\..\gtk\gtktextiter.h $(CopyDir)\include\gtk-3.0\gtk\gtktextiter.h

|
||||
copy ..\..\..\gtk\gtktextmark.h $(CopyDir)\include\gtk-3.0\gtk\gtktextmark.h

|
||||
copy ..\..\..\gtk\gtktexttag.h $(CopyDir)\include\gtk-3.0\gtk\gtktexttag.h

|
||||
copy ..\..\..\gtk\gtktexttagtable.h $(CopyDir)\include\gtk-3.0\gtk\gtktexttagtable.h

|
||||
copy ..\..\..\gtk\gtktextview.h $(CopyDir)\include\gtk-3.0\gtk\gtktextview.h

|
||||
copy ..\..\..\gtk\gtktogglebutton.h $(CopyDir)\include\gtk-3.0\gtk\gtktogglebutton.h

|
||||
copy ..\..\..\gtk\gtktoggletoolbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtktoggletoolbutton.h

|
||||
copy ..\..\..\gtk\gtktoolbar.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolbar.h

|
||||
copy ..\..\..\gtk\gtktoolbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolbutton.h

|
||||
copy ..\..\..\gtk\gtktoolitem.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolitem.h

|
||||
copy ..\..\..\gtk\gtktoolitemgroup.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolitemgroup.h

|
||||
copy ..\..\..\gtk\gtktoolpalette.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolpalette.h

|
||||
copy ..\..\..\gtk\gtktoolshell.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolshell.h

|
||||
copy ..\..\..\gtk\gtktooltip.h $(CopyDir)\include\gtk-3.0\gtk\gtktooltip.h

|
||||
copy ..\..\..\gtk\gtktreednd.h $(CopyDir)\include\gtk-3.0\gtk\gtktreednd.h

|
||||
copy ..\..\..\gtk\gtktreemodel.h $(CopyDir)\include\gtk-3.0\gtk\gtktreemodel.h

|
||||
copy ..\..\..\gtk\gtktreemodelfilter.h $(CopyDir)\include\gtk-3.0\gtk\gtktreemodelfilter.h

|
||||
copy ..\..\..\gtk\gtktreemodelsort.h $(CopyDir)\include\gtk-3.0\gtk\gtktreemodelsort.h

|
||||
copy ..\..\..\gtk\gtktreeselection.h $(CopyDir)\include\gtk-3.0\gtk\gtktreeselection.h

|
||||
copy ..\..\..\gtk\gtktreesortable.h $(CopyDir)\include\gtk-3.0\gtk\gtktreesortable.h

|
||||
copy ..\..\..\gtk\gtktreestore.h $(CopyDir)\include\gtk-3.0\gtk\gtktreestore.h

|
||||
copy ..\..\..\gtk\gtktreeview.h $(CopyDir)\include\gtk-3.0\gtk\gtktreeview.h

|
||||
copy ..\..\..\gtk\gtktreeviewcolumn.h $(CopyDir)\include\gtk-3.0\gtk\gtktreeviewcolumn.h

|
||||
copy ..\..\..\gtk\gtktypes.h $(CopyDir)\include\gtk-3.0\gtk\gtktypes.h

|
||||
copy ..\..\..\gtk\gtkviewport.h $(CopyDir)\include\gtk-3.0\gtk\gtkviewport.h

|
||||
copy ..\..\..\gtk\gtkvolumebutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkvolumebutton.h

|
||||
copy ..\..\..\gtk\gtkwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkwidget.h

|
||||
copy ..\..\..\gtk\gtkwidgetpath.h $(CopyDir)\include\gtk-3.0\gtk\gtkwidgetpath.h

|
||||
copy ..\..\..\gtk\gtkwindow.h $(CopyDir)\include\gtk-3.0\gtk\gtkwindow.h

|
||||
copy ..\..\..\gtk\gtkwindowgroup.h $(CopyDir)\include\gtk-3.0\gtk\gtkwindowgroup.h

|
||||
copy ..\..\..\gtk\gtktextlayout.h $(CopyDir)\include\gtk-3.0\gtk\gtktextlayout.h

|
||||
copy ..\..\..\gtk\gtktypebuiltins.h $(CopyDir)\include\gtk-3.0\gtk\gtktypebuiltins.h

|
||||
copy ..\..\..\gtk\gtkversion.h $(CopyDir)\include\gtk-3.0\gtk\gtkversion.h

|
||||
copy ..\..\..\gtk\a11y\gtkarrowaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkarrowaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkbooleancellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkbooleancellaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkbuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkbuttonaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkcellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcellaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkcellaccessibleparent.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcellaccessibleparent.h

|
||||
copy ..\..\..\gtk\a11y\gtkcheckmenuitemaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcheckmenuitemaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkcomboboxaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcomboboxaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkcontaineraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcontaineraccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkcontainercellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcontainercellaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkentryaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkentryaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkexpanderaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkexpanderaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkflowboxaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkflowboxaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkflowboxchildaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkflowboxchildaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkframeaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkframeaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkiconviewaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkiconviewaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkimageaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkimageaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkimagecellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkimagecellaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtklabelaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklabelaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtklevelbaraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklevelbaraccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtklinkbuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklinkbuttonaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtklistboxaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklistboxaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtklistboxrowaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklistboxrowaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtklockbuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklockbuttonaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkmenuaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkmenuaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkmenubuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkmenubuttonaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkmenuitemaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkmenuitemaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkmenushellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkmenushellaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtknotebookaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtknotebookaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtknotebookpageaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtknotebookpageaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkpanedaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkpanedaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkpopoveraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkpopoveraccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkprogressbaraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkprogressbaraccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkradiobuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkradiobuttonaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkradiomenuitemaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkradiomenuitemaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkrangeaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkrangeaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkrenderercellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkrenderercellaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkscaleaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkscaleaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkscalebuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkscalebuttonaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkscrolledwindowaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkscrolledwindowaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkspinbuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkspinbuttonaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkspinneraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkspinneraccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkstatusbaraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkstatusbaraccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkswitchaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkswitchaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtktextcellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtktextcellaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtktextviewaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtktextviewaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtktogglebuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtktogglebuttonaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtktoplevelaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtktoplevelaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtktreeviewaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtktreeviewaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkwidgetaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkwidgetaccessible.h

|
||||
copy ..\..\..\gtk\a11y\gtkwindowaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkwindowaccessible.h

|
||||
copy ..\..\..\gtk\deprecated\gtkactivatable.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkactivatable.h

|
||||
copy ..\..\..\gtk\deprecated\gtkaction.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkaction.h

|
||||
copy ..\..\..\gtk\deprecated\gtkactiongroup.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkactiongroup.h

|
||||
copy ..\..\..\gtk\deprecated\gtkalignment.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkalignment.h

|
||||
copy ..\..\..\gtk\deprecated\gtkarrow.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkarrow.h

|
||||
copy ..\..\..\gtk\deprecated\gtkcolorsel.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkcolorsel.h

|
||||
copy ..\..\..\gtk\deprecated\gtkcolorseldialog.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkcolorseldialog.h

|
||||
copy ..\..\..\gtk\deprecated\gtkfontsel.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkfontsel.h

|
||||
copy ..\..\..\gtk\deprecated\gtkgradient.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkgradient.h

|
||||
copy ..\..\..\gtk\deprecated\gtkhandlebox.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhandlebox.h

|
||||
copy ..\..\..\gtk\deprecated\gtkhbbox.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhbbox.h

|
||||
copy ..\..\..\gtk\deprecated\gtkhbox.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhbox.h

|
||||
copy ..\..\..\gtk\deprecated\gtkhpaned.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhpaned.h

|
||||
copy ..\..\..\gtk\deprecated\gtkhscale.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhscale.h

|
||||
copy ..\..\..\gtk\deprecated\gtkhscrollbar.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhscrollbar.h

|
||||
copy ..\..\..\gtk\deprecated\gtkhseparator.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhseparator.h

|
||||
copy ..\..\..\gtk\deprecated\gtkhsv.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhsv.h

|
||||
copy ..\..\..\gtk\deprecated\gtkiconfactory.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkiconfactory.h

|
||||
copy ..\..\..\gtk\deprecated\gtkimagemenuitem.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkimagemenuitem.h

|
||||
copy ..\..\..\gtk\deprecated\gtkmisc.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkmisc.h

|
||||
copy ..\..\..\gtk\deprecated\gtknumerableicon.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtknumerableicon.h

|
||||
copy ..\..\..\gtk\deprecated\gtkradioaction.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkradioaction.h

|
||||
copy ..\..\..\gtk\deprecated\gtkrc.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkrc.h

|
||||
copy ..\..\..\gtk\deprecated\gtkrecentaction.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkrecentaction.h

|
||||
copy ..\..\..\gtk\deprecated\gtkstatusicon.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkstatusicon.h

|
||||
copy ..\..\..\gtk\deprecated\gtkstock.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkstock.h

|
||||
copy ..\..\..\gtk\deprecated\gtkstyle.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkstyle.h

|
||||
copy ..\..\..\gtk\deprecated\gtksymboliccolor.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtksymboliccolor.h

|
||||
copy ..\..\..\gtk\deprecated\gtktable.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtktable.h

|
||||
copy ..\..\..\gtk\deprecated\gtktearoffmenuitem.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtktearoffmenuitem.h

|
||||
copy ..\..\..\gtk\deprecated\gtkthemingengine.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkthemingengine.h

|
||||
copy ..\..\..\gtk\deprecated\gtktoggleaction.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtktoggleaction.h

|
||||
copy ..\..\..\gtk\deprecated\gtkuimanager.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkuimanager.h

|
||||
copy ..\..\..\gtk\deprecated\gtkvbbox.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvbbox.h

|
||||
copy ..\..\..\gtk\deprecated\gtkvbox.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvbox.h

|
||||
copy ..\..\..\gtk\deprecated\gtkvscale.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvscale.h

|
||||
copy ..\..\..\gtk\deprecated\gtkvscrollbar.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvscrollbar.h

|
||||
copy ..\..\..\gtk\deprecated\gtkvseparator.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvseparator.h

|
||||
copy ..\..\..\gtk\deprecated\gtkvpaned.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvpaned.h

|
||||
mkdir $(CopyDir)\include\gail-$(ApiVersion)\libgail-util

|
||||
copy ..\..\..\libgail-util\gail-util.h $(CopyDir)\include\gail-$(ApiVersion)\libgail-util

|
||||
copy ..\..\..\libgail-util\gailmisc.h $(CopyDir)\include\gail-$(ApiVersion)\libgail-util

|
||||
copy ..\..\..\libgail-util\gailtextutil.h $(CopyDir)\include\gail-$(ApiVersion)\libgail-util

|
||||
|
||||
mkdir $(CopyDir)\share\icons\hicolor\16x16\apps

|
||||
copy ..\..\..\demos\gtk-demo\data\16x16\gtk3-demo.png $(CopyDir)\share\icons\hicolor\16x16\apps\

|
||||
|
||||
mkdir $(CopyDir)\share\icons\hicolor\22x22\apps

|
||||
copy ..\..\..\demos\gtk-demo\data\22x22\gtk3-demo.png $(CopyDir)\share\icons\hicolor\22x22\apps\

|
||||
|
||||
mkdir $(CopyDir)\share\icons\hicolor\24x24\apps

|
||||
copy ..\..\..\demos\gtk-demo\data\24x24\gtk3-demo.png $(CopyDir)\share\icons\hicolor\24x24\apps\

|
||||
|
||||
mkdir $(CopyDir)\share\icons\hicolor\32x32\apps

|
||||
copy ..\..\..\demos\gtk-demo\data\32x32\gtk3-demo.png $(CopyDir)\share\icons\hicolor\32x32\apps\

|
||||
|
||||
mkdir $(CopyDir)\share\icons\hicolor\48x48\apps

|
||||
copy ..\..\..\demos\gtk-demo\data\48x48\gtk3-demo.png $(CopyDir)\share\icons\hicolor\48x48\apps\

|
||||
|
||||
mkdir $(CopyDir)\share\icons\hicolor\256x256\apps

|
||||
copy ..\..\..\demos\gtk-demo\data\256x256\gtk3-demo.png $(CopyDir)\share\icons\hicolor\256x256\apps\

|
||||
|
||||
mkdir $(CopyDir)\share\glib-2.0\schemas

|
||||
copy ..\..\..\gtk\org.gtk.Settings.FileChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas

|
||||
copy ..\..\..\gtk\org.gtk.Settings.ColorChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas

|
||||
copy ..\..\..\gtk\org.gtk.Settings.Debug.gschema.xml $(CopyDir)\share\glib-2.0\schemas

|
||||
copy ..\..\..\demos\gtk-demo\org.gtk.Demo.gschema.xml $(CopyDir)\share\glib-2.0\schemas

|
||||
|
||||
echo "Compiling gsettings XML Files..."

|
||||
$(CopyDir)\bin\glib-compile-schemas.exe $(CopyDir)\share\glib-2.0\schemas

|
||||
"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="GtkDoInstallBroadwayHeaders"
|
||||
Value="
|
||||
/>
|
||||
<UserMacro
|
||||
Name="GtkDoInstallBroadwayHeaders"
|
||||
Value="
|
||||
copy ..\..\..\gdk\broadway\gdkbroadway.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk

|
||||
|
||||
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\broadway

|
||||
copy ..\..\..\gdk\broadway\gdkbroadwaywindow.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\broadway

|
||||
copy ..\..\..\gdk\broadway\gdkbroadwaycursor.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\broadway

|
||||
copy ..\..\..\gdk\broadway\gdkbroadwaydisplay.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\broadway

|
||||
copy ..\..\..\gdk\broadway\gdkbroadwayvisual.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\broadway

|
||||
"
|
||||
/>
|
||||
copy ..\..\..\gdk\broadway\gdkbroadwaywindow.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\broadway

|
||||
"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gtk"
|
||||
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
|
||||
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
@@ -63,7 +63,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gtk"
|
||||
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
|
||||
PreprocessorDefinitions="$(GtkDefines)"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
@@ -95,7 +95,7 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gtk"
|
||||
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
|
||||
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
@@ -127,7 +127,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gtk"
|
||||
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
|
||||
PreprocessorDefinitions="$(GtkDefines)"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
|
||||
179
build/win32/vs9/gtk3-icon-browser.vcproj
Normal file
179
build/win32/vs9/gtk3-icon-browser.vcproj
Normal file
@@ -0,0 +1,179 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
Name="gtk3-icon-browser"
|
||||
ProjectGUID="{3281202A-CD26-4C67-B892-EB34BDBC612E}"
|
||||
RootNamespace="gtk3iconbrowser"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="196613"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
InheritedPropertySheets=".\gtk-build-defines.vsprops"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\demos\icon-browser"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
InheritedPropertySheets=".\gtk-build-defines.vsprops"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\demos\icon-browser"
|
||||
EnableIntrinsicFunctions="true"
|
||||
PreprocessorDefinitions=""
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
InheritedPropertySheets=".\gtk-build-defines.vsprops"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\demos\icon-browser"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
InheritedPropertySheets=".\gtk-build-defines.vsprops"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\demos\icon-browser"
|
||||
EnableIntrinsicFunctions="true"
|
||||
PreprocessorDefinitions=""
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Sources"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File RelativePath="..\..\..\demos\icon-browser\iconbrowserapp.c" />
|
||||
<File RelativePath="..\..\..\demos\icon-browser\iconbrowserwin.c" />
|
||||
<File RelativePath="..\..\..\demos\icon-browser\main.c" />
|
||||
<File RelativePath="..\..\..\demos\icon-browser\resources.c" />
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Headers"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
58
configure.ac
58
configure.ac
@@ -9,9 +9,9 @@
|
||||
# set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
|
||||
|
||||
m4_define([gtk_major_version], [3])
|
||||
m4_define([gtk_minor_version], [13])
|
||||
m4_define([gtk_micro_version], [6])
|
||||
m4_define([gtk_interface_age], [0])
|
||||
m4_define([gtk_minor_version], [14])
|
||||
m4_define([gtk_micro_version], [8])
|
||||
m4_define([gtk_interface_age], [8])
|
||||
m4_define([gtk_binary_age],
|
||||
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
|
||||
m4_define([gtk_version],
|
||||
@@ -42,12 +42,12 @@ m4_define([gtk_binary_version], [3.0.0])
|
||||
|
||||
# required versions of other packages
|
||||
m4_define([glib_required_version], [2.41.2])
|
||||
m4_define([pango_required_version], [1.32.4])
|
||||
m4_define([pango_required_version], [1.36.7])
|
||||
m4_define([atk_required_version], [2.12.0])
|
||||
m4_define([cairo_required_version], [1.12.0])
|
||||
m4_define([gdk_pixbuf_required_version], [2.27.1])
|
||||
m4_define([gdk_pixbuf_required_version], [2.30.0])
|
||||
m4_define([introspection_required_version], [1.39.0])
|
||||
m4_define([wayland_required_version], [1.3.90])
|
||||
m4_define([wayland_required_version], [1.5.91])
|
||||
GLIB_REQUIRED_VERSION=glib_required_version
|
||||
PANGO_REQUIRED_VERSION=pango_required_version
|
||||
ATK_REQUIRED_VERSION=atk_required_version
|
||||
@@ -189,6 +189,9 @@ case $host in
|
||||
;;
|
||||
esac
|
||||
|
||||
# Define _GNU_SOURCE etc. where appropriate, e.g. for strptime() on glibc
|
||||
AC_USE_SYSTEM_EXTENSIONS
|
||||
|
||||
dnl
|
||||
dnl Check for a working C++ compiler, but do not bail out, if none is found.
|
||||
dnl We use this for an automated test for C++ header correctness.
|
||||
@@ -474,11 +477,6 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}",
|
||||
[Define if debugging is enabled])
|
||||
|
||||
|
||||
# Build time sanity check...
|
||||
AM_SANITY_CHECK
|
||||
|
||||
@@ -744,9 +742,6 @@ LIBS="$LIBS $GLIB_LIBS"
|
||||
AC_CHECK_FUNCS(bind_textdomain_codeset)
|
||||
LIBS=$gtk_save_LIBS
|
||||
|
||||
AC_CHECK_HEADERS(pwd.h,
|
||||
AC_DEFINE(HAVE_PWD_H, 1,
|
||||
[Define to 1 if pwd.h is available]))
|
||||
AC_CHECK_HEADERS(sys/mman.h,
|
||||
AC_DEFINE(HAVE_SYS_MMAN_H, 1,
|
||||
[Define to 1 if mman.h is available]))
|
||||
@@ -936,7 +931,9 @@ AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
|
||||
AS_IF([test "x$enable_gtk2_dependency" = xyes],
|
||||
[AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
|
||||
if test x$GTK_UPDATE_ICON_CACHE = xno; then
|
||||
REBUILD_PNGS=#
|
||||
AC_MSG_ERROR([
|
||||
*** --enable-gtk2-dependency has been set but no existing
|
||||
*** `gtk-update-icon-cache` has been found in the path.])
|
||||
fi],
|
||||
|
||||
[test "x$cross_compiling" = xyes],
|
||||
@@ -954,22 +951,21 @@ AS_IF([test "x$enable_gtk2_dependency" = xyes],
|
||||
|
||||
NATIVE_GDKPIXBUF_CFLAGS=`$PKG_CONFIG_FOR_BUILD --cflags gdk-pixbuf-2.0`
|
||||
NATIVE_GDKPIXBUF_LIBS=`$PKG_CONFIG_FOR_BUILD --libs gdk-pixbuf-2.0`
|
||||
# This is the native gtk-update-icon-cache which will be used at
|
||||
# build time, NOT the one installed on the target host.
|
||||
GTK_UPDATE_ICON_CACHE="`cd $builddir && pwd`/gtk/native/native-update-icon-cache$BUILD_EXEEXT"
|
||||
AC_SUBST(NATIVE_GDKPIXBUF_CFLAGS)
|
||||
AC_SUBST(NATIVE_GDKPIXBUF_LIBS)]
|
||||
AC_SUBST(NATIVE_GDKPIXBUF_LIBS)
|
||||
AC_SUBST(GTK_UPDATE_ICON_CACHE)],
|
||||
|
||||
[# In native compiling case, the gtk-update-icon-cache installed
|
||||
# is the same as the one used during build.
|
||||
GTK_UPDATE_ICON_CACHE="\$(abs_top_builddir)/gtk/gtk-update-icon-cache$EXEEXT"
|
||||
AC_SUBST(GTK_UPDATE_ICON_CACHE)]
|
||||
)
|
||||
|
||||
AM_CONDITIONAL(USE_EXTERNAL_ICON_CACHE, [test "x$enable_gtk2_dependency" = xyes])
|
||||
|
||||
AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
|
||||
|
||||
if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
|
||||
test "x$REBUILD_PNGS" = "x#" ; then
|
||||
AC_MSG_ERROR([
|
||||
*** gtkbuiltincache.h is not in the tree, and cannot be built
|
||||
*** because you don't have libpng, or (when cross-compiling) you
|
||||
*** don't have a prebuilt gtk-update-icon-cache on the build system.])
|
||||
fi
|
||||
|
||||
########################################
|
||||
# Windowing system checks
|
||||
########################################
|
||||
@@ -1723,6 +1719,16 @@ else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(doc-cross-references,
|
||||
AC_HELP_STRING([--disable-doc-cross-references],
|
||||
[cross reference symbols from other libraries @<:@default=yes@:>@]),
|
||||
enable_doc_cross_references=$enableval,
|
||||
enable_doc_cross_references=yes)
|
||||
|
||||
AM_CONDITIONAL(ENABLE_DOC_CROSS_REFERENCES, test x$enable_doc_cross_references != xno)
|
||||
|
||||
|
||||
|
||||
##################################################
|
||||
# Visibility handling
|
||||
##################################################
|
||||
|
||||
@@ -165,7 +165,7 @@ dist_appsicon32_DATA = data/32x32/gtk3-demo.png
|
||||
dist_appsicon48_DATA = data/48x48/gtk3-demo.png
|
||||
dist_appsicon256_DATA = data/256x256/gtk3-demo.png
|
||||
|
||||
update_icon_cache = gtk-update-icon-cache --ignore-theme-index --force
|
||||
update_icon_cache = $(GTK_UPDATE_ICON_CACHE) --ignore-theme-index --force
|
||||
|
||||
install-data-hook: install-update-icon-cache
|
||||
uninstall-hook: uninstall-update-icon-cache
|
||||
|
||||
@@ -142,8 +142,11 @@ static void
|
||||
add_item (GtkWidget *button, gpointer data)
|
||||
{
|
||||
Item foo;
|
||||
GtkTreeIter iter;
|
||||
GtkTreeModel *model = (GtkTreeModel *)data;
|
||||
GtkTreeIter current, iter;
|
||||
GtkTreePath *path;
|
||||
GtkTreeModel *model;
|
||||
GtkTreeViewColumn *column;
|
||||
GtkTreeView *treeview = (GtkTreeView *)data;
|
||||
|
||||
g_return_if_fail (articles != NULL);
|
||||
|
||||
@@ -152,12 +155,26 @@ add_item (GtkWidget *button, gpointer data)
|
||||
foo.yummy = 50;
|
||||
g_array_append_vals (articles, &foo, 1);
|
||||
|
||||
gtk_list_store_append (GTK_LIST_STORE (model), &iter);
|
||||
/* Insert a new row below the current one */
|
||||
gtk_tree_view_get_cursor (treeview, &path, NULL);
|
||||
model = gtk_tree_view_get_model (treeview);
|
||||
gtk_tree_model_get_iter (model, ¤t, path);
|
||||
gtk_tree_path_free (path);
|
||||
|
||||
/* Set the data for the new row */
|
||||
gtk_list_store_insert_after (GTK_LIST_STORE (model), &iter, ¤t);
|
||||
gtk_list_store_set (GTK_LIST_STORE (model), &iter,
|
||||
COLUMN_ITEM_NUMBER, foo.number,
|
||||
COLUMN_ITEM_PRODUCT, foo.product,
|
||||
COLUMN_ITEM_YUMMY, foo.yummy,
|
||||
-1);
|
||||
|
||||
/* Move focus to the new row */
|
||||
path = gtk_tree_model_get_path (model, &iter);
|
||||
column = gtk_tree_view_get_column (treeview, 0);
|
||||
gtk_tree_view_set_cursor (treeview, path, column, FALSE);
|
||||
|
||||
gtk_tree_path_free (path);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -368,7 +385,7 @@ do_editable_cells (GtkWidget *do_widget)
|
||||
|
||||
button = gtk_button_new_with_label ("Add item");
|
||||
g_signal_connect (button, "clicked",
|
||||
G_CALLBACK (add_item), items_model);
|
||||
G_CALLBACK (add_item), treeview);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0);
|
||||
|
||||
button = gtk_button_new_with_label ("Remove item");
|
||||
|
||||
@@ -516,9 +516,8 @@ static GtkWidget *create_text (GtkWidget **text_view, gboolean is_source);
|
||||
static void
|
||||
add_data_tab (const gchar *demoname)
|
||||
{
|
||||
gchar *resource_dir, *resource_name, *content_type, *content_mime;
|
||||
gchar *resource_dir, *resource_name;
|
||||
gchar **resources;
|
||||
GBytes *bytes;
|
||||
GtkWidget *widget, *label;
|
||||
guint i;
|
||||
|
||||
@@ -533,41 +532,40 @@ add_data_tab (const gchar *demoname)
|
||||
for (i = 0; resources[i]; i++)
|
||||
{
|
||||
resource_name = g_strconcat (resource_dir, "/", resources[i], NULL);
|
||||
bytes = g_resources_lookup_data (resource_name, 0, NULL);
|
||||
g_assert (bytes);
|
||||
|
||||
content_type = g_content_type_guess (resource_name,
|
||||
g_bytes_get_data (bytes, NULL),
|
||||
g_bytes_get_size (bytes),
|
||||
NULL);
|
||||
content_mime = g_content_type_get_mime_type (content_type);
|
||||
|
||||
/* In theory we should look at all the mime types gdk-pixbuf supports
|
||||
* and go from there, but we know what file types we've added.
|
||||
*/
|
||||
if (g_content_type_is_a (content_mime, "image/png") ||
|
||||
g_content_type_is_a (content_mime, "image/gif") ||
|
||||
g_content_type_is_a (content_mime, "image/jpeg"))
|
||||
widget = gtk_image_new_from_resource (resource_name);
|
||||
if (gtk_image_get_pixbuf (GTK_IMAGE (widget)) == NULL &&
|
||||
gtk_image_get_animation (GTK_IMAGE (widget)) == NULL)
|
||||
{
|
||||
widget = gtk_image_new_from_resource (resource_name);
|
||||
}
|
||||
else if (g_content_type_is_a (content_mime, "text/plain") ||
|
||||
g_content_type_is_a (content_mime, "application/x-ext-ui") ||
|
||||
g_content_type_is_a (content_mime, "text/css"))
|
||||
{
|
||||
GtkTextBuffer *buffer;
|
||||
GtkWidget *textview;
|
||||
GBytes *bytes;
|
||||
|
||||
widget = create_text (&textview, FALSE);
|
||||
buffer = gtk_text_buffer_new (NULL);
|
||||
gtk_text_buffer_set_text (buffer, g_bytes_get_data (bytes, NULL), g_bytes_get_size (bytes));
|
||||
gtk_text_view_set_buffer (GTK_TEXT_VIEW (textview), buffer);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* So we've used the best API available to figure out it's
|
||||
* not an image. Let's try something else then.
|
||||
*/
|
||||
g_object_ref_sink (widget);
|
||||
gtk_widget_destroy (widget);
|
||||
|
||||
g_warning ("Don't know how to display resource '%s' of type '%s'\n", resource_name, content_mime);
|
||||
widget = NULL;
|
||||
bytes = g_resources_lookup_data (resource_name, 0, NULL);
|
||||
g_assert (bytes);
|
||||
|
||||
if (g_utf8_validate (g_bytes_get_data (bytes, NULL), g_bytes_get_size (bytes), NULL))
|
||||
{
|
||||
/* Looks like it parses as text. Dump it into a textview then! */
|
||||
GtkTextBuffer *buffer;
|
||||
GtkWidget *textview;
|
||||
|
||||
widget = create_text (&textview, FALSE);
|
||||
buffer = gtk_text_buffer_new (NULL);
|
||||
gtk_text_buffer_set_text (buffer, g_bytes_get_data (bytes, NULL), g_bytes_get_size (bytes));
|
||||
gtk_text_view_set_buffer (GTK_TEXT_VIEW (textview), buffer);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_warning ("Don't know how to display resource '%s'\n", resource_name);
|
||||
widget = NULL;
|
||||
}
|
||||
|
||||
g_bytes_unref (bytes);
|
||||
}
|
||||
|
||||
gtk_widget_show_all (widget);
|
||||
@@ -579,10 +577,7 @@ add_data_tab (const gchar *demoname)
|
||||
"tab-expand", TRUE,
|
||||
NULL);
|
||||
|
||||
g_free (content_mime);
|
||||
g_free (content_type);
|
||||
g_free (resource_name);
|
||||
g_bytes_unref (bytes);
|
||||
}
|
||||
|
||||
g_strfreev (resources);
|
||||
@@ -921,9 +916,10 @@ startup (GApplication *app)
|
||||
{
|
||||
GtkBuilder *builder;
|
||||
GMenuModel *appmenu;
|
||||
gchar *ids[] = { "appmenu", NULL };
|
||||
|
||||
builder = gtk_builder_new ();
|
||||
gtk_builder_add_from_resource (builder, "/ui/main.ui", NULL);
|
||||
gtk_builder_add_objects_from_resource (builder, "/ui/main.ui", ids, NULL);
|
||||
|
||||
appmenu = (GMenuModel *)gtk_builder_get_object (builder, "appmenu");
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ resources.c: iconbrowser.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourc
|
||||
--target=$@ --sourcedir=$(srcdir) --generate-source
|
||||
|
||||
EXTRA_DIST = \
|
||||
app-menu.ui \
|
||||
iconbrowser.gresource.xml \
|
||||
window.ui
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ dist_appsicon32_DATA = data/32x32/gtk3-widget-factory.png
|
||||
dist_appsicon48_DATA = data/48x48/gtk3-widget-factory.png
|
||||
dist_appsicon256_DATA = data/256x256/gtk3-widget-factory.png
|
||||
|
||||
update_icon_cache = gtk-update-icon-cache --ignore-theme-index --force
|
||||
update_icon_cache = $(GTK_UPDATE_ICON_CACHE) --ignore-theme-index --force
|
||||
|
||||
install-data-hook: install-update-icon-cache
|
||||
uninstall-hook: uninstall-update-icon-cache
|
||||
|
||||
@@ -144,6 +144,13 @@ dismiss (GtkWidget *button)
|
||||
gtk_revealer_set_reveal_child (GTK_REVEALER (w), FALSE);
|
||||
}
|
||||
|
||||
static void
|
||||
spin_value_reset (GtkWidget *button, GtkAdjustment *adjustment)
|
||||
{
|
||||
gtk_adjustment_set_value (adjustment, 50.0);
|
||||
dismiss (button);
|
||||
}
|
||||
|
||||
static gint pulse_time = 250;
|
||||
static gint pulse_entry_mode = 0;
|
||||
|
||||
@@ -524,6 +531,95 @@ populate_colors (GtkWidget *widget)
|
||||
gtk_list_box_invalidate_headers (GTK_LIST_BOX (widget));
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
GtkWidget *flowbox;
|
||||
gchar *filename;
|
||||
} BackgroundData;
|
||||
|
||||
static void
|
||||
background_loaded_cb (GObject *source,
|
||||
GAsyncResult *res,
|
||||
gpointer data)
|
||||
{
|
||||
BackgroundData *bd = data;
|
||||
GtkWidget *child;
|
||||
GdkPixbuf *pixbuf;
|
||||
GError *error = NULL;
|
||||
|
||||
pixbuf = gdk_pixbuf_new_from_stream_finish (res, &error);
|
||||
if (error)
|
||||
{
|
||||
g_warning ("%s", error->message);
|
||||
g_error_free (error);
|
||||
return;
|
||||
}
|
||||
|
||||
child = gtk_image_new_from_pixbuf (pixbuf);
|
||||
gtk_widget_show (child);
|
||||
gtk_flow_box_insert (GTK_FLOW_BOX (bd->flowbox), child, -1);
|
||||
child = gtk_widget_get_parent (child);
|
||||
g_object_set_data_full (G_OBJECT (child), "filename", bd->filename, g_free);
|
||||
g_free (bd);
|
||||
}
|
||||
|
||||
static void
|
||||
populate_flowbox (GtkWidget *button, GtkWidget *flowbox)
|
||||
{
|
||||
const gchar *location;
|
||||
GDir *dir;
|
||||
GError *error = NULL;
|
||||
const gchar *name;
|
||||
gchar *filename;
|
||||
GFile *file;
|
||||
GInputStream *stream;
|
||||
BackgroundData *bd;
|
||||
GdkPixbuf *pixbuf;
|
||||
GtkWidget *child;
|
||||
|
||||
g_signal_handlers_disconnect_by_func (button, populate_flowbox, flowbox);
|
||||
|
||||
pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, 110, 70);
|
||||
gdk_pixbuf_fill (pixbuf, 0xffffffff);
|
||||
child = gtk_image_new_from_pixbuf (pixbuf);
|
||||
gtk_widget_show (child);
|
||||
gtk_flow_box_insert (GTK_FLOW_BOX (flowbox), child, -1);
|
||||
|
||||
location = "/usr/share/backgrounds/gnome";
|
||||
dir = g_dir_open (location, 0, &error);
|
||||
if (error)
|
||||
{
|
||||
g_warning ("%s", error->message);
|
||||
g_error_free (error);
|
||||
return;
|
||||
}
|
||||
|
||||
while ((name = g_dir_read_name (dir)) != NULL)
|
||||
{
|
||||
filename = g_build_filename (location, name, NULL);
|
||||
file = g_file_new_for_path (filename);
|
||||
stream = G_INPUT_STREAM (g_file_read (file, NULL, &error));
|
||||
if (error)
|
||||
{
|
||||
g_warning ("%s", error->message);
|
||||
g_clear_error (&error);
|
||||
g_free (filename);
|
||||
}
|
||||
else
|
||||
{
|
||||
bd = g_new (BackgroundData, 1);
|
||||
bd->flowbox = flowbox;
|
||||
bd->filename = filename;
|
||||
gdk_pixbuf_new_from_stream_at_scale_async (stream, 110, 110, TRUE, NULL,
|
||||
background_loaded_cb, bd);
|
||||
}
|
||||
|
||||
g_object_unref (file);
|
||||
g_object_unref (stream);
|
||||
}
|
||||
|
||||
g_dir_close (dir);
|
||||
}
|
||||
|
||||
static void
|
||||
row_activated (GtkListBox *box, GtkListBoxRow *row)
|
||||
{
|
||||
@@ -567,6 +663,131 @@ set_accel (GtkApplication *app, GtkWidget *widget)
|
||||
g_strfreev (accels);
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
GtkTextView tv;
|
||||
cairo_surface_t *surface;
|
||||
} MyTextView;
|
||||
|
||||
typedef GtkTextViewClass MyTextViewClass;
|
||||
|
||||
G_DEFINE_TYPE (MyTextView, my_text_view, GTK_TYPE_TEXT_VIEW)
|
||||
|
||||
static void
|
||||
my_text_view_init (MyTextView *tv)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
my_tv_draw_layer (GtkTextView *widget,
|
||||
GtkTextViewLayer layer,
|
||||
cairo_t *cr)
|
||||
{
|
||||
MyTextView *tv = (MyTextView *)widget;
|
||||
|
||||
if (layer == GTK_TEXT_VIEW_LAYER_BELOW && tv->surface)
|
||||
{
|
||||
cairo_save (cr);
|
||||
cairo_set_source_surface (cr, tv->surface, 0.0, 0.0);
|
||||
cairo_paint_with_alpha (cr, 0.333);
|
||||
cairo_restore (cr);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
my_tv_finalize (GObject *object)
|
||||
{
|
||||
MyTextView *tv = (MyTextView *)object;
|
||||
|
||||
if (tv->surface)
|
||||
cairo_surface_destroy (tv->surface);
|
||||
|
||||
G_OBJECT_CLASS (my_text_view_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
static void
|
||||
my_text_view_class_init (MyTextViewClass *class)
|
||||
{
|
||||
GtkTextViewClass *tv_class = GTK_TEXT_VIEW_CLASS (class);
|
||||
GObjectClass *o_class = G_OBJECT_CLASS (class);
|
||||
|
||||
o_class->finalize = my_tv_finalize;
|
||||
tv_class->draw_layer = my_tv_draw_layer;
|
||||
}
|
||||
|
||||
static void
|
||||
my_text_view_set_background (MyTextView *tv, const gchar *filename)
|
||||
{
|
||||
GdkPixbuf *pixbuf;
|
||||
GError *error = NULL;
|
||||
|
||||
if (tv->surface)
|
||||
cairo_surface_destroy (tv->surface);
|
||||
|
||||
tv->surface = NULL;
|
||||
|
||||
if (filename == NULL)
|
||||
return;
|
||||
|
||||
pixbuf = gdk_pixbuf_new_from_file (filename, &error);
|
||||
if (error)
|
||||
{
|
||||
g_warning ("%s", error->message);
|
||||
g_error_free (error);
|
||||
return;
|
||||
}
|
||||
|
||||
tv->surface = gdk_cairo_surface_create_from_pixbuf (pixbuf, 1, NULL);
|
||||
|
||||
g_object_unref (pixbuf);
|
||||
|
||||
gtk_widget_queue_draw (GTK_WIDGET (tv));
|
||||
}
|
||||
|
||||
static void
|
||||
close_selection_dialog (GtkWidget *dialog, gint response, GtkWidget *tv)
|
||||
{
|
||||
GtkWidget *box;
|
||||
GtkWidget *child;
|
||||
GList *children;
|
||||
const gchar *filename;
|
||||
|
||||
gtk_widget_hide (dialog);
|
||||
|
||||
if (response == GTK_RESPONSE_CANCEL)
|
||||
return;
|
||||
|
||||
box = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
|
||||
children = gtk_container_get_children (GTK_CONTAINER (box));
|
||||
box = children->data;
|
||||
g_list_free (children);
|
||||
g_assert (GTK_IS_FLOW_BOX (box));
|
||||
children = gtk_flow_box_get_selected_children (GTK_FLOW_BOX (box));
|
||||
|
||||
if (!children)
|
||||
return;
|
||||
|
||||
child = children->data;
|
||||
filename = (const gchar *)g_object_get_data (G_OBJECT (child), "filename");
|
||||
|
||||
g_list_free (children);
|
||||
|
||||
my_text_view_set_background ((MyTextView *)tv, filename);
|
||||
}
|
||||
|
||||
static void
|
||||
toggle_selection_mode (GtkSwitch *sw,
|
||||
GParamSpec *pspec,
|
||||
GtkListBox *listbox)
|
||||
{
|
||||
if (gtk_switch_get_active (sw))
|
||||
gtk_list_box_set_selection_mode (listbox, GTK_SELECTION_SINGLE);
|
||||
else
|
||||
gtk_list_box_set_selection_mode (listbox, GTK_SELECTION_NONE);
|
||||
|
||||
gtk_list_box_set_activate_on_single_click (listbox, !gtk_switch_get_active (sw));
|
||||
}
|
||||
|
||||
static void
|
||||
activate (GApplication *app)
|
||||
{
|
||||
@@ -594,6 +815,8 @@ activate (GApplication *app)
|
||||
};
|
||||
gint i;
|
||||
|
||||
g_type_ensure (my_text_view_get_type ());
|
||||
|
||||
builder = gtk_builder_new_from_resource ("/org/gtk/WidgetFactory/widget-factory.ui");
|
||||
gtk_builder_add_callback_symbol (builder, "on_entry_icon_release", (GCallback)on_entry_icon_release);
|
||||
gtk_builder_connect_signals (builder, NULL);
|
||||
@@ -626,6 +849,10 @@ activate (GApplication *app)
|
||||
g_signal_connect (adj, "value-changed", G_CALLBACK (update_pulse_time), widget);
|
||||
update_pulse_time (adj, widget);
|
||||
|
||||
widget = (GtkWidget *)gtk_builder_get_object (builder, "page2reset");
|
||||
adj = (GtkAdjustment *) gtk_builder_get_object (builder, "adjustment2");
|
||||
g_signal_connect (widget, "clicked", G_CALLBACK (spin_value_reset), adj);
|
||||
|
||||
widget = (GtkWidget *)gtk_builder_get_object (builder, "page2dismiss");
|
||||
g_signal_connect (widget, "clicked", G_CALLBACK (dismiss), NULL);
|
||||
|
||||
@@ -637,6 +864,9 @@ activate (GApplication *app)
|
||||
gtk_list_box_set_header_func (GTK_LIST_BOX (widget), update_header, NULL, NULL);
|
||||
g_signal_connect (widget, "row-activated", G_CALLBACK (row_activated), NULL);
|
||||
|
||||
widget2 = (GtkWidget *)gtk_builder_get_object (builder, "listboxrow1switch");
|
||||
g_signal_connect (widget2, "notify::active", G_CALLBACK (toggle_selection_mode), widget);
|
||||
|
||||
widget = (GtkWidget *)gtk_builder_get_object (builder, "listboxrow3");
|
||||
widget2 = (GtkWidget *)gtk_builder_get_object (builder, "listboxrow3image");
|
||||
g_object_set_data (G_OBJECT (widget), "image", widget2);
|
||||
@@ -645,6 +875,10 @@ activate (GApplication *app)
|
||||
widget2 = (GtkWidget *)gtk_builder_get_object (builder, "info_dialog");
|
||||
g_object_set_data (G_OBJECT (widget), "dialog", widget2);
|
||||
|
||||
widget = (GtkWidget *)gtk_builder_get_object (builder, "listboxrow5button");
|
||||
widget2 = (GtkWidget *)gtk_builder_get_object (builder, "action_dialog");
|
||||
g_signal_connect_swapped (widget, "clicked", G_CALLBACK (gtk_window_present), widget2);
|
||||
|
||||
widget = (GtkWidget *)gtk_builder_get_object (builder, "toolbar");
|
||||
g_object_set_data (G_OBJECT (window), "toolbar", widget);
|
||||
|
||||
@@ -675,6 +909,15 @@ activate (GApplication *app)
|
||||
widget = (GtkWidget *)gtk_builder_get_object (builder, "preference_dialog_button");
|
||||
g_signal_connect (widget, "clicked", G_CALLBACK (show_dialog), dialog);
|
||||
|
||||
dialog = (GtkWidget *)gtk_builder_get_object (builder, "selection_dialog");
|
||||
widget = (GtkWidget *)gtk_builder_get_object (builder, "text3");
|
||||
g_signal_connect (dialog, "response", G_CALLBACK (close_selection_dialog), widget);
|
||||
widget = (GtkWidget *)gtk_builder_get_object (builder, "selection_dialog_button");
|
||||
g_signal_connect (widget, "clicked", G_CALLBACK (show_dialog), dialog);
|
||||
|
||||
widget2 = (GtkWidget *)gtk_builder_get_object (builder, "selection_flowbox");
|
||||
g_signal_connect (widget, "clicked", G_CALLBACK (populate_flowbox), widget2);
|
||||
|
||||
widget = (GtkWidget *)gtk_builder_get_object (builder, "charletree");
|
||||
populate_model ((GtkTreeStore *)gtk_tree_view_get_model (GTK_TREE_VIEW (widget)));
|
||||
gtk_tree_view_expand_all (GTK_TREE_VIEW (widget));
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
<object class="GtkAdjustment" id="adjustment2">
|
||||
<property name="upper">1000</property>
|
||||
<property name="lower">1</property>
|
||||
<property name="value">42</property>
|
||||
<property name="value">50</property>
|
||||
<property name="step_increment">1</property>
|
||||
<property name="page_increment">10</property>
|
||||
</object>
|
||||
@@ -1423,6 +1423,7 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label_xalign">0</property>
|
||||
<property name="shadow_type">etched-in</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
@@ -1430,7 +1431,7 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
|
||||
<object class="GtkLabel" id="label17">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes"><b>Etched out</b></property>
|
||||
<property name="label" translatable="yes"><b>Etched in</b></property>
|
||||
<property name="use_markup">True</property>
|
||||
</object>
|
||||
</child>
|
||||
@@ -1975,7 +1976,6 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
|
||||
<child>
|
||||
<object class="GtkBox" id="page2box">
|
||||
<property name="visible">True</property>
|
||||
<property name="margin">10</property>
|
||||
<property name="spacing">20</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="page2note">
|
||||
@@ -1985,10 +1985,21 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
|
||||
<property name="label">NEWS!</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="page2reset">
|
||||
<property name="visible">True</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="label" translatable="yes">Reset</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="page2dismiss">
|
||||
<property name="visible">True</property>
|
||||
<property name="focus-on-click">False</property>
|
||||
<property name="relief">none</property>
|
||||
<style>
|
||||
<class name="image-button"/>
|
||||
</style>
|
||||
<child>
|
||||
<object class="GtkImage" id="page2dismissi">
|
||||
<property name="visible">True</property>
|
||||
@@ -2174,8 +2185,12 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkFrame">
|
||||
<object class="GtkScrolledWindow">
|
||||
<property name="visible">True</property>
|
||||
<property name="shadow-type">in</property>
|
||||
<property name="hscrollbar-policy">never</property>
|
||||
<property name="vscrollbar-policy">automatic</property>
|
||||
<property name="min-content-height">200</property>
|
||||
<child>
|
||||
<object class="GtkListBox" id="listbox">
|
||||
<property name="visible">True</property>
|
||||
@@ -2185,6 +2200,7 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
|
||||
<object class="GtkListBoxRow" id="listboxrow1">
|
||||
<property name="visible">True</property>
|
||||
<property name="activatable">False</property>
|
||||
<property name="selectable">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
@@ -2202,9 +2218,9 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch">
|
||||
<object class="GtkSwitch" id="listboxrow1switch">
|
||||
<property name="visible">True</property>
|
||||
<property name="active">True</property>
|
||||
<property name="active">False</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin-top">6</property>
|
||||
@@ -2332,6 +2348,86 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkListBoxRow" id="listboxrow5">
|
||||
<property name="visible">True</property>
|
||||
<property name="activatable">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">horizontal</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Row 5</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin">6</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="listboxrow5button">
|
||||
<property name="visible">True</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin-top">6</property>
|
||||
<property name="margin-bottom">6</property>
|
||||
<property name="margin-start">12</property>
|
||||
<property name="margin-end">12</property>
|
||||
<style>
|
||||
<class name="image-button"/>
|
||||
</style>
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="visible">True</property>
|
||||
<property name="icon-size">1</property>
|
||||
<property name="icon-name">appointment-soon-symbolic</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkListBoxRow" id="listboxrow6">
|
||||
<property name="visible">True</property>
|
||||
<property name="activatable">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="orientation">horizontal</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Row 6</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin">6</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton">
|
||||
<property name="visible">True</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin-top">6</property>
|
||||
<property name="margin-bottom">6</property>
|
||||
<property name="margin-start">12</property>
|
||||
<property name="margin-end">12</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
@@ -2779,7 +2875,7 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
|
||||
<property name="shadow_type">in</property>
|
||||
<property name="vexpand">True</property>
|
||||
<child>
|
||||
<object class="GtkTextView">
|
||||
<object class="MyTextView" id="text3">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="buffer">textbuffer1</property>
|
||||
@@ -2911,7 +3007,8 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="shadow_type">in</property>
|
||||
<property name="hscrollbar_policy">automatic</property>
|
||||
<property name="height_request">200</property>
|
||||
<property name="margin-top">6</property>
|
||||
<property name="height_request">226</property>
|
||||
<child>
|
||||
<object class="GtkIconView" id="iconview1">
|
||||
<property name="visible">True</property>
|
||||
@@ -2960,6 +3057,13 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
|
||||
<property name="use_underline">True</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="selection_dialog_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">_Select</property>
|
||||
<property name="use_underline">True</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
@@ -2999,7 +3103,6 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
|
||||
<property name="visible">True</property>
|
||||
<property name="enable-grid-lines">vertical</property>
|
||||
<property name="enable-tree-lines">True</property>
|
||||
<property name="rules-hint">True</property>
|
||||
<property name="rubber-banding">True</property>
|
||||
<property name="model">charlemodel</property>
|
||||
<child internal-child="selection">
|
||||
@@ -3109,6 +3212,7 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
|
||||
</object>
|
||||
<object class="GtkMessageDialog" id="info_dialog">
|
||||
<property name="transient-for">window</property>
|
||||
<property name="resizable">False</property>
|
||||
<property name="modal">True</property>
|
||||
<property name="text" translatable="yes">Do something?</property>
|
||||
<property name="secondary-text" translatable="yes">If you do something,
|
||||
@@ -3135,6 +3239,7 @@ bad things might happen.</property>
|
||||
</object>
|
||||
<object class="GtkDialog" id="action_dialog">
|
||||
<property name="transient-for">window</property>
|
||||
<property name="resizable">False</property>
|
||||
<property name="modal">True</property>
|
||||
<property name="use-header-bar">1</property>
|
||||
<property name="title" translatable="yes">Zelda</property>
|
||||
@@ -3313,6 +3418,48 @@ bad things might happen.</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<object class="GtkDialog" id="selection_dialog">
|
||||
<property name="transient-for">window</property>
|
||||
<property name="modal">True</property>
|
||||
<property name="use-header-bar">1</property>
|
||||
<property name="title" translatable="yes">Choose one</property>
|
||||
<signal name="delete-event" handler="gtk_widget_hide_on_delete"/>
|
||||
<child internal-child="vbox">
|
||||
<object class="GtkBox">
|
||||
<child>
|
||||
<object class="GtkFlowBox" id="selection_flowbox">
|
||||
<property name="visible">True</property>
|
||||
<property name="selection-mode">single</property>
|
||||
<property name="row-spacing">10</property>
|
||||
<property name="column-spacing">10</property>
|
||||
<property name="margin">10</property>
|
||||
<property name="min-children-per-line">3</property>
|
||||
<property name="max-children-per-line">9</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="action">
|
||||
<object class="GtkButton" id="cancel_selection_dialog">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">_Cancel</property>
|
||||
<property name="use_underline">True</property>
|
||||
</object>
|
||||
</child>
|
||||
<child type="action">
|
||||
<object class="GtkButton" id="select_selection_dialog">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-default">True</property>
|
||||
<property name="has-default">True</property>
|
||||
<property name="label" translatable="yes">_Select</property>
|
||||
<property name="use_underline">True</property>
|
||||
</object>
|
||||
</child>
|
||||
<action-widgets>
|
||||
<action-widget response="cancel">cancel_selection_dialog</action-widget>
|
||||
<action-widget response="ok" default="true">select_selection_dialog</action-widget>
|
||||
</action-widgets>
|
||||
</object>
|
||||
<object class="GtkSizeGroup">
|
||||
<property name="mode">vertical</property>
|
||||
<widgets>
|
||||
@@ -3320,6 +3467,8 @@ bad things might happen.</property>
|
||||
<widget name="listboxrow2"/>
|
||||
<widget name="listboxrow3"/>
|
||||
<widget name="listboxrow4"/>
|
||||
<widget name="listboxrow5"/>
|
||||
<widget name="listboxrow6"/>
|
||||
</widgets>
|
||||
</object>
|
||||
<object class="GtkSizeGroup">
|
||||
|
||||
@@ -8,8 +8,6 @@ EXTRA_DIST += \
|
||||
developers.txt \
|
||||
dnd_internals.txt \
|
||||
focus_tracking.txt \
|
||||
gtkdocs_fix \
|
||||
make-todo \
|
||||
RELEASE-HOWTO \
|
||||
sizing-test.txt \
|
||||
styles.txt \
|
||||
|
||||
@@ -49,10 +49,10 @@ Make sure that gtk-doc is the latest released version.
|
||||
* forgotten source files
|
||||
* new symbols missing from .symbols files
|
||||
* symbols that are exported by should be private (static or _-prefixed)
|
||||
* symbols that cause PLT entries. This is either caused by using
|
||||
a in the same library function without including the header or by
|
||||
using a function from a different library, which is not yet allowed
|
||||
by the filter in pltcheck.sh
|
||||
* symbols that cause PLT entries. This is either caused by using a function
|
||||
in the same library function without including the header or by using a
|
||||
function from a different library, which is not yet allowed by the filter
|
||||
in pltcheck.sh
|
||||
|
||||
7) If this is a devel release, make sure that the docs for new symbols
|
||||
are in good shape. Look at the -unused.txt files and add stuff found
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
# Stupid script to fix look of html files created with sgml2html...
|
||||
|
||||
foreach (@ARGV) {
|
||||
print "Fixing... $_\n";
|
||||
system("mv $_ $_.orig");
|
||||
system("sed -e 's/<BODY>/<BODY BGCOLOR=\"#FFFFFF\">/g' -e 's/<HR>/<HR NOSHADE>/g' $_.orig > $_");
|
||||
unlink("$_.orig");
|
||||
}
|
||||
|
||||
350
docs/make-todo
350
docs/make-todo
@@ -1,350 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import xmllib;
|
||||
import sys;
|
||||
import string
|
||||
import re
|
||||
|
||||
def html_subst(s):
|
||||
if s.group(1) != None:
|
||||
return s.group(0)
|
||||
elif s.group(2) != None:
|
||||
return '<a href="' + s.group(0) + '">' + s.group(0) + '</a>'
|
||||
elif s.group(3) != None:
|
||||
return '<a href="mailto:' + s.group(0) + '">' + s.group(0) + '</a>'
|
||||
|
||||
def htmlify(str):
|
||||
return re.sub ("(<[^>]*>)|(http://[~.:/\w-]+)|([\w._!-]+@[\w_-]+).[\w_-]+", html_subst, str)
|
||||
|
||||
def bug_subst(s):
|
||||
if s.group(1) != None:
|
||||
return s.group(0)
|
||||
else:
|
||||
n = s.group(2)
|
||||
return '<a href="http://bugs.gnome.org/db/%s/%s.html">#%s</a>' % (n[0:2], n, n)
|
||||
|
||||
def bugify(str):
|
||||
str = re.sub ("(<[^>]*>)|#(\d+)", bug_subst, str)
|
||||
return htmlify(str)
|
||||
|
||||
def make_id(str):
|
||||
return re.sub ("[^a-z]","-", string.lower(str))
|
||||
|
||||
class ParseError (Exception):
|
||||
pass
|
||||
|
||||
class Entry:
|
||||
def __init__(self):
|
||||
self.description = None
|
||||
self.title = None
|
||||
self.url = None
|
||||
self.contact = None
|
||||
self.bugs = None
|
||||
|
||||
def set_size(self, size):
|
||||
size = string.lower(size)
|
||||
if size == "small":
|
||||
self.size = "Small"
|
||||
elif size == "medium":
|
||||
self.size = "Medium"
|
||||
elif size == "big":
|
||||
self.size = "Big"
|
||||
else:
|
||||
raise ParseError, 'size must be "small", "medium", or "big"'
|
||||
|
||||
def output(self):
|
||||
if self.size == "Big":
|
||||
bgcolor = "#88bb88"
|
||||
elif self.size == "Medium":
|
||||
bgcolor = "#b4d4b4"
|
||||
else:
|
||||
bgcolor = "#d0e0d0"
|
||||
|
||||
print '''<table cellspacing="0" cellpadding="2" width="97%%" border="0" bgcolor="#000000">
|
||||
<tbody><tr><td colspan=2>
|
||||
<table cellspacing="0" cellpadding="5" width="100%%" border="0" bgcolor="#ffffff">
|
||||
<tbody>
|
||||
<tr bgcolor="%s">
|
||||
<td align="left"><font size="+1">%s</font></font></td>
|
||||
<td align="left" width="20%%"><b>Size</b>: %s</td>
|
||||
<td align="center" width="20%%"><b>Status</b>: %s</td>
|
||||
<td align="right" width="20%%"><b>Target Version</b>: %s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=4>
|
||||
%s
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>''' % (bgcolor, self.title, self.size, self.status, self.target, htmlify(self.description))
|
||||
|
||||
if self.url != None:
|
||||
print '''<tr><td width="0"><b>More Info</b>:</td>
|
||||
<td>%s</td>
|
||||
</tr>''' % htmlify (self.url)
|
||||
|
||||
if self.bugs != None:
|
||||
print '''<tr><td width="0"><b>Bug Reports</b>:</td>
|
||||
<td>%s</td>
|
||||
</tr>''' % bugify (self.bugs)
|
||||
|
||||
if self.contact != None:
|
||||
print '''<tr><td width="0"><b>Contact</b>:</td>
|
||||
<td>%s</td>
|
||||
</tr>''' % htmlify (self.contact)
|
||||
|
||||
print '''</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</td></tr></tbody></table>
|
||||
'''
|
||||
|
||||
class Section:
|
||||
def __init__(self):
|
||||
self.title = None
|
||||
self.entries = []
|
||||
|
||||
def output(self):
|
||||
|
||||
print '<h2><a name="%s">%s</a></h2>' % (make_id(self.title), self.title)
|
||||
|
||||
first = 1
|
||||
for entry in self.entries:
|
||||
if not first:
|
||||
print "<br>"
|
||||
first = 0
|
||||
entry.output()
|
||||
|
||||
class TodoParser (xmllib.XMLParser):
|
||||
def __init__(self):
|
||||
xmllib.XMLParser.__init__(self)
|
||||
|
||||
self.in_todo = 0
|
||||
self.in_data = 0
|
||||
self.data = ""
|
||||
self.section = None
|
||||
self.entry = None
|
||||
self.logourl = None
|
||||
self.title = None
|
||||
self.sections = []
|
||||
|
||||
self.entitydefs = {}
|
||||
|
||||
def start_todo(self,attributes):
|
||||
if self.in_todo:
|
||||
raise ParseError, "<todo> tags may not be nested"
|
||||
if attributes.has_key ("logourl"):
|
||||
self.logourl = attributes["logourl"]
|
||||
self.in_todo = 1
|
||||
|
||||
def end_todo(self):
|
||||
self.in_todo = 0
|
||||
|
||||
def start_section(self,attributes):
|
||||
if self.section:
|
||||
raise ParseError, "<section> tags may not be nested"
|
||||
|
||||
self.section = Section()
|
||||
|
||||
def end_section(self):
|
||||
if self.section.title == None:
|
||||
raise ParseError, "<section> requires <title>"
|
||||
|
||||
self.sections.append(self.section)
|
||||
self.section = None
|
||||
|
||||
def start_title(self,attributes):
|
||||
if not self.in_todo:
|
||||
raise ParseError, "<title> tag must be in <todo>, <section> or <entry>"
|
||||
if self.in_data:
|
||||
raise ParseError, "Unexpected <title> tag in content"
|
||||
self.in_data = 1
|
||||
|
||||
def end_title(self):
|
||||
self.in_data = 0
|
||||
if self.entry:
|
||||
self.entry.title = self.data
|
||||
elif self.section:
|
||||
self.section.title = self.data
|
||||
else:
|
||||
self.title = self.data
|
||||
self.data = ""
|
||||
|
||||
def start_description(self,attributes):
|
||||
if not self.entry:
|
||||
raise ParseError, "<description> tag must be in <entry>"
|
||||
if self.in_data:
|
||||
raise ParseError, "Unexpected <description> tag in content"
|
||||
self.in_data = 1
|
||||
|
||||
def end_description(self):
|
||||
self.in_data = 0
|
||||
self.entry.description = self.data
|
||||
self.data = ""
|
||||
|
||||
def start_url(self,attributes):
|
||||
if not self.entry:
|
||||
raise ParseError, "<url> tag must be in <entry>"
|
||||
if self.in_data:
|
||||
raise ParseError, "Unexpected <url> tag in content"
|
||||
self.in_data = 1
|
||||
|
||||
def end_url(self):
|
||||
self.in_data = 0
|
||||
self.entry.url = self.data
|
||||
self.data = ""
|
||||
|
||||
def start_contact(self,attributes):
|
||||
if not self.entry:
|
||||
raise ParseError, "<contact> tag must be in <entry>"
|
||||
if self.in_data:
|
||||
raise ParseError, "Unexpected <contact> tag in content"
|
||||
self.in_data = 1
|
||||
|
||||
def end_contact(self):
|
||||
self.in_data = 0
|
||||
self.entry.contact = self.data
|
||||
self.data = ""
|
||||
|
||||
def start_bugs(self,attributes):
|
||||
if not self.entry:
|
||||
raise ParseError, "<bugs> tag must be in <bugs>"
|
||||
if self.in_data:
|
||||
raise ParseError, "Unexpected <bugs> tag in content"
|
||||
self.in_data = 1
|
||||
|
||||
def end_bugs(self):
|
||||
self.in_data = 0
|
||||
self.entry.bugs = self.data
|
||||
self.data = ""
|
||||
|
||||
def start_entry(self,attributes):
|
||||
if not self.section:
|
||||
raise ParseError, "<entry> tag must be in <section>"
|
||||
if self.entry:
|
||||
raise ParseError, "<entry> tags may not be nested"
|
||||
|
||||
self.entry = Entry()
|
||||
|
||||
if not attributes.has_key("size"):
|
||||
raise ParseError, '"size" attribute required for entry'
|
||||
self.entry.set_size(attributes["size"])
|
||||
|
||||
if not attributes.has_key("status"):
|
||||
raise ParseError, '"status" attribute (completion percentage) required for entry'
|
||||
self.entry.status=attributes["status"]
|
||||
|
||||
if not attributes.has_key("target"):
|
||||
raise ParseError, '"target" attribute (target version) required for entry'
|
||||
self.entry.target=attributes["target"]
|
||||
|
||||
def end_entry(self):
|
||||
if self.entry.title == None:
|
||||
raise ParseError, "<entry> requires <title>"
|
||||
|
||||
if self.entry.description == None:
|
||||
raise ParseError, "<entry> requires <description>"
|
||||
|
||||
self.section.entries.append(self.entry)
|
||||
self.entry = None
|
||||
|
||||
def handle_data(self,data):
|
||||
if self.in_data:
|
||||
self.data = self.data + data
|
||||
|
||||
def unknown_starttag(self,tag,attributes):
|
||||
if not self.in_data:
|
||||
raise ParseError, "Unexpected start tag: " + tag
|
||||
else:
|
||||
self.data = self.data + "<" + tag
|
||||
for (key,val) in attributes.items():
|
||||
self.data = self.data + ' %s="%s"' % (key,val)
|
||||
self.data = self.data + ">"
|
||||
|
||||
def unknown_endtag(self,tag):
|
||||
if not self.in_data:
|
||||
raise ParseError, "Unexpected end tag: " + tag
|
||||
else:
|
||||
self.data = self.data + "</%s>" % tag
|
||||
|
||||
def syntax_error(self, err):
|
||||
if re.match("reference to unknown entity", err):
|
||||
pass
|
||||
else:
|
||||
xmllib.XMLParser.syntax_error (self, err)
|
||||
|
||||
def unknown_entityref(self,ref):
|
||||
if not self.in_data:
|
||||
raise ParseError, "Unknown entity &" + ref + ";"
|
||||
else:
|
||||
self.data = self.data + "&" + ref + ";"
|
||||
|
||||
file = open(sys.argv[1])
|
||||
parser = TodoParser()
|
||||
|
||||
lineno = 1
|
||||
while 1:
|
||||
line = file.readline()
|
||||
if line == "":
|
||||
break
|
||||
|
||||
try:
|
||||
parser.feed(line)
|
||||
except ParseError, err:
|
||||
sys.stderr.write("Parse error at line " + `lineno` + ": " + err.__str__() + "\n")
|
||||
sys.exit(1)
|
||||
except RuntimeError, err:
|
||||
sys.stderr.write(err.__str__() + "\n")
|
||||
sys.exit(1)
|
||||
|
||||
lineno = lineno + 1
|
||||
|
||||
parser.close()
|
||||
if parser.title == None:
|
||||
sys.stderr.write ("<todo> Document must have a <title>\n")
|
||||
sys.exit (1)
|
||||
|
||||
print '''<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>%s</title>
|
||||
</head>
|
||||
<body bgcolor="#ffffff">
|
||||
<table width="100%%" cellspacing="0" cellpadding="0" border="0">
|
||||
<tbody>
|
||||
<tr valign="top">
|
||||
<td>
|
||||
<h1>%s</h1>''' % (parser.title, parser.title)
|
||||
|
||||
|
||||
for section in parser.sections:
|
||||
ntasks = len(section.entries)
|
||||
id = make_id (section.title)
|
||||
if ntasks == 1:
|
||||
print '<a href="#%s">%s</a> (1 item)<br>' % (id,section.title)
|
||||
else:
|
||||
print '<a href="#%s">%s</a> (%d items)<br>' % (id,section.title,ntasks)
|
||||
|
||||
print '''
|
||||
</td>'''
|
||||
if parser.logourl != None:
|
||||
print ''' <td align="right">
|
||||
<img src="%s" alt="Logo"></img>
|
||||
</td>''' % parser.logourl
|
||||
print '''
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
'''
|
||||
|
||||
first = 1
|
||||
for section in parser.sections:
|
||||
if not first:
|
||||
print "<br><br>"
|
||||
first = 0
|
||||
section.output()
|
||||
|
||||
print '''</body>
|
||||
</html>'''
|
||||
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
Damon Chaplin <damon@karuna.freeserve.co.uk> and others.
|
||||
|
||||
See:
|
||||
|
||||
http://www.gtk.org/rdp/status.html
|
||||
|
||||
for a complete list.
|
||||
@@ -1,30 +0,0 @@
|
||||
This work may be reproduced and distributed in whole or in part, in
|
||||
any medium, physical or electronic, so as long as this copyright
|
||||
notice remains intact and unchanged on all copies. Commercial
|
||||
redistribution is permitted and encouraged, but you may not
|
||||
redistribute, in whole or in part, under terms more restrictive than
|
||||
those under which you received it. If you redistribute a modified or
|
||||
translated version of this work, you must also make the source code to
|
||||
the modified or translated version available in electronic form
|
||||
without charge. However, mere aggregation as part of a larger work
|
||||
shall not count as a modification for this purpose.
|
||||
|
||||
All code examples in this work are placed into the public domain,
|
||||
and may be used, modified and redistributed without restriction.
|
||||
|
||||
BECAUSE THIS WORK IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE WORK, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE WORK "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. SHOULD THE WORK PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY REPAIR OR CORRECTION.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE WORK AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
WORK, EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
@@ -1,62 +0,0 @@
|
||||
This package contains the reference documentation
|
||||
for GTK+. For more information about GTK+
|
||||
see:
|
||||
|
||||
http://www.gtk.org
|
||||
|
||||
For information about contributing to the
|
||||
GLib/GTK+ reference documentation project, see:
|
||||
|
||||
http://www.gtk.org/rdp/
|
||||
|
||||
The GTK+ reference documentation is freely redistributable,
|
||||
see the file COPYING for details.
|
||||
|
||||
|
||||
REQUIREMENTS
|
||||
============
|
||||
|
||||
To build the documentation, you must have the gtk-doc
|
||||
package installed. To rebuild the template files,
|
||||
you must have the current version of the GTK+
|
||||
header files installed.
|
||||
|
||||
|
||||
BUILD
|
||||
=====
|
||||
|
||||
First, run configure to generate the makefiles for this
|
||||
module. There is one option specific to this package
|
||||
|
||||
--with-html-dir=DIR top of installed HTML documentation tree
|
||||
|
||||
|
||||
The Makefiles in the gdk/ and gtk/ subdirs each define three targets:
|
||||
|
||||
templates:
|
||||
|
||||
Scan the headers and merge the results with the current
|
||||
template files
|
||||
|
||||
sgml:
|
||||
|
||||
Generate SGML files using the DocBook DTD from
|
||||
the template files
|
||||
|
||||
html:
|
||||
|
||||
Generate HTML from the SGML files.
|
||||
|
||||
To build the documentation, do:
|
||||
|
||||
make sgml
|
||||
make html
|
||||
|
||||
You should only run the 'make templates' step if you
|
||||
need to regenerate the templates for a more recent
|
||||
version of the GTK+ sources.
|
||||
|
||||
INSTALLATION
|
||||
============
|
||||
|
||||
make install
|
||||
@@ -1,39 +0,0 @@
|
||||
Before making any changes to this module, please
|
||||
contact:
|
||||
|
||||
Damon Chaplin <damon@karuna.freeserve.co.uk>
|
||||
|
||||
This will ensure that duplicate work does not occur,
|
||||
and also make sure we know who has written what
|
||||
parts of the documentation. See
|
||||
|
||||
http://www.gtk.org/rdp/
|
||||
|
||||
for more information.
|
||||
|
||||
By contributing work to the Reference Documentation
|
||||
Project, you agree that it will be covered under the
|
||||
license terms described in the file COPYING
|
||||
included in this directory.
|
||||
|
||||
|
||||
Other notes:
|
||||
|
||||
- Do not run 'make templates' unless you have
|
||||
the latest cvs version of the gtk-1-2
|
||||
branch of GTK+ and the latest CVS version
|
||||
of gtk-doc.
|
||||
|
||||
(This is very important. Otherwise, the template
|
||||
files may be come corrupted.)
|
||||
|
||||
Make sure that gtk-config --prefix points
|
||||
to the correct version of GTK+.
|
||||
|
||||
- As always, ChangeLog entries should be made for
|
||||
each commit. These can be really brief
|
||||
"documented GHashTable"; but if you are editing
|
||||
something someone else wrote, please be specific.
|
||||
(Or better, send the changes to them for their
|
||||
approval, first)
|
||||
|
||||
@@ -135,12 +135,13 @@ HTML_IMAGES = \
|
||||
images/watch.png \
|
||||
images/xterm.png
|
||||
|
||||
if ENABLE_DOC_CROSS_REFERENCES
|
||||
# Extra options to supply to gtkdoc-fixref
|
||||
FIXXREF_OPTIONS= \
|
||||
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gobject \
|
||||
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/glib \
|
||||
--extra-dir=$(CAIRO_PREFIX)/share/gtk-doc/html/cairo
|
||||
|
||||
endif
|
||||
|
||||
include $(top_srcdir)/gtk-doc.make
|
||||
|
||||
|
||||
@@ -315,6 +315,7 @@ HTML_IMAGES = \
|
||||
$(srcdir)/images/flow-box.png \
|
||||
$(srcdir)/images/inspector.png
|
||||
|
||||
if ENABLE_DOC_CROSS_REFERENCES
|
||||
# Extra options to supply to gtkdoc-fixref
|
||||
FIXXREF_OPTIONS=--extra-dir=../gdk/html \
|
||||
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gobject \
|
||||
@@ -323,6 +324,7 @@ FIXXREF_OPTIONS=--extra-dir=../gdk/html \
|
||||
--extra-dir=$(ATK_PREFIX)/share/gtk-doc/html/atk \
|
||||
--extra-dir=$(PANGO_PREFIX)/share/gtk-doc/html/pango \
|
||||
--extra-dir=$(CAIRO_PREFIX)/share/gtk-doc/html/cairo
|
||||
endif
|
||||
|
||||
include $(top_srcdir)/gtk-doc.make
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
<command>broadwayd</command>
|
||||
<arg choice="opt">--port <replaceable>PORT</replaceable></arg>
|
||||
<arg choice="opt">--address <replaceable>ADDRESS</replaceable></arg>
|
||||
<arg choice="opt">--unixsocket <replaceable>ADDRESS</replaceable></arg>
|
||||
<arg choice="opt"><replaceable>:DISPLAY</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
@@ -80,6 +81,13 @@ openssl passwd -1 > ~/.config/broadway.passwd
|
||||
address, instead of the default <literal>http://127.0.0.1:<replaceable>PORT</replaceable></literal>.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>--unixsocket</term>
|
||||
<listitem><para>Use <replaceable>ADDRESS</replaceable> as the unix domain socket
|
||||
address. This option overrides <literal>--address</literal> and <literal>--port</literal>.
|
||||
It is available only on Unix-like systems.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ How to compile GTK+ itself
|
||||
is used in a similar fashion for the linker. Finally the
|
||||
<envar>PKG_CONFIG_PATH</envar> environment variable contains
|
||||
a search path that <command>pkg-config</command> (see below)
|
||||
uses when looking for for file describing how to compile
|
||||
uses when looking for files describing how to compile
|
||||
programs using different libraries. If you were installing GTK+
|
||||
and it's dependencies into <filename>/opt/gtk</filename>, you
|
||||
might want to set these variables as:
|
||||
@@ -202,7 +202,7 @@ How to compile GTK+ itself
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<ulink url="http://live.gnome.org/GObjectIntrospection">Gobject Introspection</ulink>
|
||||
<ulink url="https://wiki.gnome.org/Projects/GObjectIntrospection">Gobject Introspection</ulink>
|
||||
is a framework for making introspection data available to
|
||||
language bindings. It is available
|
||||
<ulink url="http://download.gnome.org/sources/gobject-introspection/">here</ulink>.
|
||||
|
||||
@@ -79,7 +79,6 @@
|
||||
<xi:include href="xml/gtkactionbar.xml" />
|
||||
<xi:include href="xml/gtkheaderbar.xml" />
|
||||
<xi:include href="xml/gtkoverlay.xml" />
|
||||
<xi:include href="xml/gtkalignment.xml" />
|
||||
<xi:include href="xml/gtkbbox.xml" />
|
||||
<xi:include href="xml/gtkpaned.xml" />
|
||||
<xi:include href="xml/gtklayout.xml" />
|
||||
@@ -100,7 +99,6 @@
|
||||
<xi:include href="xml/gtklevelbar.xml" />
|
||||
<xi:include href="xml/gtkstatusbar.xml" />
|
||||
<xi:include href="xml/gtkaccellabel.xml" />
|
||||
<xi:include href="xml/gtkstatusicon.xml" />
|
||||
</chapter>
|
||||
|
||||
<chapter id="ButtonWidgets">
|
||||
@@ -339,6 +337,9 @@
|
||||
<xi:include href="xml/gtkiconfactory.xml" />
|
||||
<xi:include href="xml/gtknumerableicon.xml" />
|
||||
<xi:include href="xml/gtkarrow.xml" />
|
||||
<xi:include href="xml/gtkstatusicon.xml" />
|
||||
<xi:include href="xml/gtkthemingengine.xml" />
|
||||
<xi:include href="xml/gtkalignment.xml" />
|
||||
</chapter>
|
||||
|
||||
</part>
|
||||
@@ -365,7 +366,6 @@
|
||||
<xi:include href="xml/gtkcssprovider.xml" />
|
||||
<xi:include href="xml/gtkstyleprovider.xml" />
|
||||
<xi:include href="xml/gtkstyleproperties.xml" />
|
||||
<xi:include href="xml/gtkthemingengine.xml" />
|
||||
<xi:include href="xml/gtkwidgetpath.xml" />
|
||||
<xi:include href="xml/gtkicontheme.xml" />
|
||||
</part>
|
||||
|
||||
@@ -3810,6 +3810,8 @@ gtk_text_tag_table_get_type
|
||||
<FILE>gtktextview</FILE>
|
||||
<TITLE>GtkTextView</TITLE>
|
||||
GtkTextView
|
||||
GtkTextViewClass
|
||||
GtkTextViewLayer
|
||||
GtkTextWindowType
|
||||
GtkWrapMode
|
||||
gtk_text_view_new
|
||||
@@ -3827,7 +3829,7 @@ gtk_text_view_get_visible_rect
|
||||
gtk_text_view_get_iter_location
|
||||
gtk_text_view_get_cursor_locations
|
||||
gtk_text_view_get_line_at_y
|
||||
gtk_text_view_get_line_yrange
|
||||
/gtk_text_view_get_line_yrange
|
||||
gtk_text_view_get_iter_at_location
|
||||
gtk_text_view_get_iter_at_position
|
||||
gtk_text_view_buffer_to_window_coords
|
||||
@@ -6507,6 +6509,7 @@ gtk_drag_unhighlight
|
||||
<SUBSECTION Source Side>
|
||||
gtk_drag_begin
|
||||
gtk_drag_begin_with_coordinates
|
||||
gtk_drag_cancel
|
||||
gtk_drag_set_icon_widget
|
||||
gtk_drag_set_icon_pixbuf
|
||||
gtk_drag_set_icon_stock
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 6.0 KiB |
@@ -31,7 +31,7 @@ or environment variables.
|
||||
|
||||
<para>
|
||||
For up-to-date information about the current status of this port, see the
|
||||
<ulink url="http://live.gnome.org/GTK+/OSX">project page</ulink>.
|
||||
<ulink url="https://wiki.gnome.org/Projects/GTK+/OSX">project page</ulink>.
|
||||
</para>
|
||||
|
||||
</refsect1>
|
||||
|
||||
@@ -164,7 +164,7 @@ tree = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));
|
||||
</para>
|
||||
<para>
|
||||
Cell renderers are used to draw the data in the tree model in a
|
||||
way. There are a number of cell renderers that come with GTK+ 2.x,
|
||||
way. There are a number of cell renderers that come with GTK+,
|
||||
including the #GtkCellRendererText, #GtkCellRendererPixbuf and
|
||||
the #GtkCellRendererToggle.
|
||||
It is relatively easy to write a custom renderer.
|
||||
|
||||
@@ -110,7 +110,7 @@ in 256 color mode.
|
||||
<para>
|
||||
More information about GTK+ on Windows, including detailed build
|
||||
instructions, binary downloads, etc, can be found
|
||||
<ulink url="http://live.gnome.org/GTK+/Win32">online</ulink>.
|
||||
<ulink url="https://wiki.gnome.org/Projects/GTK+/Win32">online</ulink>.
|
||||
</para>
|
||||
|
||||
</refsect1>
|
||||
|
||||
@@ -503,25 +503,35 @@ create_tree_view (void)
|
||||
{
|
||||
GtkWidget *widget;
|
||||
GtkWidget *tree_view;
|
||||
GtkListStore *list_store;
|
||||
GtkTreeStore *store;
|
||||
GtkTreeIter iter;
|
||||
WidgetInfo *info;
|
||||
|
||||
widget = gtk_frame_new (NULL);
|
||||
gtk_frame_set_shadow_type (GTK_FRAME (widget), GTK_SHADOW_IN);
|
||||
list_store = gtk_list_store_new (1, G_TYPE_STRING);
|
||||
gtk_list_store_append (list_store, &iter);
|
||||
gtk_list_store_set (list_store, &iter, 0, "Line One", -1);
|
||||
gtk_list_store_append (list_store, &iter);
|
||||
gtk_list_store_set (list_store, &iter, 0, "Line Two", -1);
|
||||
gtk_list_store_append (list_store, &iter);
|
||||
gtk_list_store_set (list_store, &iter, 0, "Line Three", -1);
|
||||
store = gtk_tree_store_new (3, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_STRING);
|
||||
gtk_tree_store_append (store, &iter, NULL);
|
||||
gtk_tree_store_set (store, &iter, 0, "Line One", 1, FALSE, 2, "A", -1);
|
||||
gtk_tree_store_append (store, &iter, NULL);
|
||||
gtk_tree_store_set (store, &iter, 0, "Line Two", 1, TRUE, 2, "B", -1);
|
||||
gtk_tree_store_append (store, &iter, &iter);
|
||||
gtk_tree_store_set (store, &iter, 0, "Line Three", 1, FALSE, 2, "C", -1);
|
||||
|
||||
tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (list_store));
|
||||
tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));
|
||||
gtk_tree_view_set_enable_tree_lines (GTK_TREE_VIEW (tree_view), TRUE);
|
||||
gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tree_view),
|
||||
0, "List and Tree",
|
||||
0, "List",
|
||||
gtk_cell_renderer_text_new (),
|
||||
"text", 0, NULL);
|
||||
gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tree_view),
|
||||
1, "and",
|
||||
gtk_cell_renderer_toggle_new (),
|
||||
"active", 1, NULL);
|
||||
gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tree_view),
|
||||
2, "Tree",
|
||||
g_object_new (GTK_TYPE_CELL_RENDERER_TEXT, "xalign", 0.5, NULL),
|
||||
"text", 2, NULL);
|
||||
gtk_tree_view_expand_all (GTK_TREE_VIEW (tree_view));
|
||||
gtk_container_add (GTK_CONTAINER (widget), tree_view);
|
||||
|
||||
info = new_widget_info ("list-and-tree", widget, MEDIUM);
|
||||
|
||||
@@ -42,10 +42,6 @@ AM_CPPFLAGS = \
|
||||
$(GTK_DEBUG_FLAGS) \
|
||||
$(GDK_DEP_CFLAGS)
|
||||
|
||||
if PLATFORM_WIN32
|
||||
no_undefined = -no-undefined
|
||||
endif
|
||||
|
||||
# libtool stuff: set version and export symbols for resolving
|
||||
# since automake doesn't support conditionalized libsomething_la_LDFLAGS
|
||||
# we use the general approach here
|
||||
@@ -192,7 +188,6 @@ libgdk_3_la_LIBADD += quartz/libgdk-quartz.la
|
||||
endif # USE_QUARTZ
|
||||
|
||||
if USE_WIN32
|
||||
libgdk_3_la_SOURCES += gdkkeynames.c
|
||||
libgdk_3_la_LIBADD += win32/libgdk-win32.la
|
||||
libgdk_3_la_DEPENDENCIES = win32/libgdk-win32.la win32/rc/gdk-win32-res.o
|
||||
libgdk_3_la_LDFLAGS += -Wl,win32/rc/gdk-win32-res.o
|
||||
|
||||
@@ -15,7 +15,7 @@ AM_CPPFLAGS = \
|
||||
$(GTK_DEBUG_FLAGS) \
|
||||
$(GDK_DEP_CFLAGS)
|
||||
|
||||
LDADDS = $(GDK_DEP_LIBS)
|
||||
LDADDS = $(GDK_DEP_LIBS) -lrt
|
||||
|
||||
noinst_LTLIBRARIES = libgdk-broadway.la
|
||||
|
||||
|
||||
@@ -258,7 +258,7 @@ encode_pixel (struct encoder *encoder, guint32 color, guint32 prev_color)
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
encoder_flush (struct encoder *encoder)
|
||||
{
|
||||
encode_run (encoder);
|
||||
|
||||
@@ -27,6 +27,9 @@
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/tcp.h>
|
||||
#endif
|
||||
#ifdef HAVE_GIO_UNIX
|
||||
#include <gio/gunixsocketaddress.h>
|
||||
#endif
|
||||
#ifdef G_OS_WIN32
|
||||
#include <windows.h>
|
||||
#include <string.h>
|
||||
@@ -117,6 +120,8 @@ struct BroadwayWindow {
|
||||
|
||||
static void broadway_server_resync_windows (BroadwayServer *server);
|
||||
|
||||
static GType broadway_server_get_type (void);
|
||||
|
||||
G_DEFINE_TYPE (BroadwayServer, broadway_server, G_TYPE_OBJECT)
|
||||
|
||||
static void
|
||||
@@ -749,16 +754,10 @@ broadway_server_flush (BroadwayServer *server)
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
broadway_server_sync (BroadwayServer *server)
|
||||
{
|
||||
broadway_server_flush (server);
|
||||
}
|
||||
|
||||
|
||||
#if 0
|
||||
/* TODO: This is not used atm, is it needed? */
|
||||
/* Note: This may be called while handling a message (i.e. sorta recursively) */
|
||||
BroadwayInputMsg *
|
||||
static BroadwayInputMsg *
|
||||
broadway_server_block_for_input (BroadwayServer *server, char op,
|
||||
guint32 serial, gboolean remove_message)
|
||||
{
|
||||
@@ -811,6 +810,7 @@ broadway_server_block_for_input (BroadwayServer *server, char op,
|
||||
queue_process_input_at_idle (server);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static void *
|
||||
map_named_shm (char *name, gsize size)
|
||||
@@ -1237,6 +1237,7 @@ broadway_server_new (char *address, int port, GError **error)
|
||||
error))
|
||||
{
|
||||
g_prefix_error (error, "Unable to listen to port %d: ", server->port);
|
||||
g_object_unref (server);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
@@ -1246,6 +1247,7 @@ broadway_server_new (char *address, int port, GError **error)
|
||||
if (inet_address == NULL)
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_INVALID_DATA, "Invalid ip address %s: ", address);
|
||||
g_object_unref (server);
|
||||
return NULL;
|
||||
}
|
||||
socket_address = g_inet_socket_address_new (inet_address, port);
|
||||
@@ -1260,6 +1262,55 @@ broadway_server_new (char *address, int port, GError **error)
|
||||
{
|
||||
g_prefix_error (error, "Unable to listen to %s:%d: ", server->address, server->port);
|
||||
g_object_unref (socket_address);
|
||||
g_object_unref (server);
|
||||
return NULL;
|
||||
}
|
||||
g_object_unref (socket_address);
|
||||
}
|
||||
|
||||
g_signal_connect (server->service, "incoming",
|
||||
G_CALLBACK (handle_incoming_connection), NULL);
|
||||
return server;
|
||||
}
|
||||
|
||||
BroadwayServer *
|
||||
broadway_server_on_unix_socket_new (char *address, GError **error)
|
||||
{
|
||||
BroadwayServer *server;
|
||||
GSocketAddress *socket_address = NULL;
|
||||
|
||||
server = g_object_new (BROADWAY_TYPE_SERVER, NULL);
|
||||
server->port = -1;
|
||||
server->address = g_strdup (address);
|
||||
|
||||
if (address == NULL)
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_INVALID_DATA, "Unspecified unix domain socket address");
|
||||
g_object_unref (server);
|
||||
return NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef HAVE_GIO_UNIX
|
||||
socket_address = g_unix_socket_address_new (address);
|
||||
#endif
|
||||
if (socket_address == NULL)
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_INVALID_DATA, "Invalid unix domain socket address %s: ", address);
|
||||
g_object_unref (server);
|
||||
return NULL;
|
||||
}
|
||||
if (!g_socket_listener_add_address (G_SOCKET_LISTENER (server->service),
|
||||
socket_address,
|
||||
G_SOCKET_TYPE_STREAM,
|
||||
G_SOCKET_PROTOCOL_DEFAULT,
|
||||
G_OBJECT (server),
|
||||
NULL,
|
||||
error))
|
||||
{
|
||||
g_prefix_error (error, "Unable to listen to %s: ", server->address);
|
||||
g_object_unref (socket_address);
|
||||
g_object_unref (server);
|
||||
return NULL;
|
||||
}
|
||||
g_object_unref (socket_address);
|
||||
|
||||
@@ -22,6 +22,8 @@ typedef struct _BroadwayServerClass BroadwayServerClass;
|
||||
BroadwayServer *broadway_server_new (char *address,
|
||||
int port,
|
||||
GError **error);
|
||||
BroadwayServer *broadway_server_on_unix_socket_new (char *address,
|
||||
GError **error);
|
||||
gboolean broadway_server_has_client (BroadwayServer *server);
|
||||
void broadway_server_flush (BroadwayServer *server);
|
||||
void broadway_server_sync (BroadwayServer *server);
|
||||
|
||||
@@ -2401,7 +2401,7 @@ function handleKeyPress(e) {
|
||||
|
||||
keysym = getKeysym(ev);
|
||||
|
||||
// Modify the the which attribute in the depressed keys list so
|
||||
// Modify the which attribute in the depressed keys list so
|
||||
// that the keyUp event will be able to have the character code
|
||||
// translation available.
|
||||
if (kdlen > 0) {
|
||||
|
||||
@@ -124,7 +124,7 @@ send_reply (BroadwayClient *client,
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
add_client_serial_mapping (BroadwayClient *client,
|
||||
guint32 client_serial,
|
||||
guint32 daemon_serial)
|
||||
@@ -154,7 +154,7 @@ add_client_serial_mapping (BroadwayClient *client,
|
||||
|
||||
/* Returns the latest seen client serial at the time we sent
|
||||
a daemon request to the browser with a specific daemon serial */
|
||||
guint32
|
||||
static guint32
|
||||
get_client_serial (BroadwayClient *client, guint32 daemon_serial)
|
||||
{
|
||||
BroadwaySerialMapping *map;
|
||||
@@ -417,12 +417,16 @@ main (int argc, char *argv[])
|
||||
GSocketService *listener;
|
||||
char *path, *basename;
|
||||
char *http_address = NULL;
|
||||
char *unixsocket_address = NULL;
|
||||
int http_port = 0;
|
||||
char *display;
|
||||
int port = 0;
|
||||
const GOptionEntry entries[] = {
|
||||
{ "port", 'p', 0, G_OPTION_ARG_INT, &http_port, "Httpd port", "PORT" },
|
||||
{ "address", 'a', 0, G_OPTION_ARG_STRING, &http_address, "Ip address to bind to ", "ADDRESS" },
|
||||
#ifdef G_OS_UNIX
|
||||
{ "unixsocket", 'u', 0, G_OPTION_ARG_STRING, &unixsocket_address, "Unix domain socket address", "ADDRESS" },
|
||||
#endif
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
@@ -448,10 +452,11 @@ main (int argc, char *argv[])
|
||||
if (display == NULL)
|
||||
{
|
||||
#ifdef G_OS_UNIX
|
||||
display = ":0";
|
||||
#else
|
||||
display = ":tcp";
|
||||
if (g_unix_socket_address_abstract_names_supported ())
|
||||
display = ":0";
|
||||
else
|
||||
#endif
|
||||
display = ":tcp";
|
||||
}
|
||||
|
||||
if (g_str_has_prefix (display, ":tcp"))
|
||||
@@ -486,7 +491,11 @@ main (int argc, char *argv[])
|
||||
if (http_port == 0)
|
||||
http_port = 8080 + port;
|
||||
|
||||
server = broadway_server_new (http_address, http_port, &error);
|
||||
if (unixsocket_address != NULL)
|
||||
server = broadway_server_on_unix_socket_new (unixsocket_address, &error);
|
||||
else
|
||||
server = broadway_server_new (http_address, http_port, &error);
|
||||
|
||||
if (server == NULL)
|
||||
{
|
||||
g_printerr ("%s\n", error->message);
|
||||
|
||||
@@ -53,6 +53,8 @@ struct _GdkBroadwayServerClass
|
||||
|
||||
static gboolean input_available_cb (gpointer stream, gpointer user_data);
|
||||
|
||||
static GType gdk_broadway_server_get_type (void);
|
||||
|
||||
G_DEFINE_TYPE (GdkBroadwayServer, gdk_broadway_server, G_TYPE_OBJECT)
|
||||
|
||||
static void
|
||||
@@ -108,10 +110,11 @@ _gdk_broadway_server_new (const char *display, GError **error)
|
||||
if (display == NULL)
|
||||
{
|
||||
#ifdef G_OS_UNIX
|
||||
display = ":0";
|
||||
#else
|
||||
display = ":tcp";
|
||||
if (g_unix_socket_address_abstract_names_supported ())
|
||||
display = ":0";
|
||||
else
|
||||
#endif
|
||||
display = ":tcp";
|
||||
}
|
||||
|
||||
if (g_str_has_prefix (display, ":tcp"))
|
||||
@@ -542,13 +545,13 @@ map_named_shm (char *name, gsize size)
|
||||
|
||||
#ifdef HAVE_POSIX_FALLOCATE
|
||||
res = posix_fallocate (fd, 0, size);
|
||||
if (res != 0)
|
||||
if (res != 0 && errno == ENOSPC)
|
||||
{
|
||||
shm_unlink (name);
|
||||
g_error ("Not enough shared memory for window surface");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
ptr = mmap(0, size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
|
||||
|
||||
(void) close(fd);
|
||||
|
||||
@@ -260,11 +260,6 @@ gdk_broadway_display_finalize (GObject *object)
|
||||
G_OBJECT_CLASS (gdk_broadway_display_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_broadway_display_make_default (GdkDisplay *display)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_broadway_display_notify_startup_complete (GdkDisplay *display,
|
||||
const gchar *startup_id)
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef __GDK_EVENT_SOURCE_H__
|
||||
#define __GDK_EVENT_SOURCE_H__
|
||||
#ifndef __GDK_BROADWAY_EVENT_SOURCE_H__
|
||||
#define __GDK_BROADWAY_EVENT_SOURCE_H__
|
||||
|
||||
#include "gdkprivate-broadway.h"
|
||||
|
||||
@@ -29,4 +29,4 @@ GSource * _gdk_broadway_event_source_new (GdkDisplay *display);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GDK_EVENT_SOURCE_H__ */
|
||||
#endif /* __GDK_BROADWAY_EVENT_SOURCE_H__ */
|
||||
|
||||
@@ -46,6 +46,8 @@ typedef struct _GdkKeymapClass GdkBroadwayKeymapClass;
|
||||
#define GDK_BROADWAY_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_BROADWAY_KEYMAP, GdkBroadwayKeymap))
|
||||
#define GDK_IS_BROADWAY_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_BROADWAY_KEYMAP))
|
||||
|
||||
static GType gdk_broadway_keymap_get_type (void);
|
||||
|
||||
typedef struct _DirectionCacheEntry DirectionCacheEntry;
|
||||
|
||||
struct _GdkBroadwayKeymap
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include <gdk/gdktestutils.h>
|
||||
#include <gdk/gdkkeysyms.h>
|
||||
#include <gdk/gdkinternals.h>
|
||||
#include "gdkprivate-broadway.h"
|
||||
|
||||
void
|
||||
_gdk_broadway_window_sync_rendering (GdkWindow *window)
|
||||
|
||||
@@ -662,18 +662,6 @@ gdk_window_broadway_set_device_cursor (GdkWindow *window,
|
||||
GDK_DEVICE_GET_CLASS (device)->set_window_cursor (device, window, cursor);
|
||||
}
|
||||
|
||||
GdkCursor *
|
||||
_gdk_broadway_window_get_cursor (GdkWindow *window)
|
||||
{
|
||||
GdkWindowImplBroadway *impl;
|
||||
|
||||
g_return_val_if_fail (GDK_IS_WINDOW (window), NULL);
|
||||
|
||||
impl = GDK_WINDOW_IMPL_BROADWAY (window->impl);
|
||||
|
||||
return impl->cursor;
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_window_broadway_get_geometry (GdkWindow *window,
|
||||
gint *x,
|
||||
|
||||
@@ -1,17 +1,22 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
my $ARRAYNAME = $ARGV[0];
|
||||
print "static const char $ARRAYNAME\[\] = \"";
|
||||
my $first = 0;
|
||||
print "static const char $ARRAYNAME\[\] = {";
|
||||
|
||||
for ($i = 1; $i <= $#ARGV; $i = $i + 1) {
|
||||
my $FILENAME = $ARGV[$i];
|
||||
open FILE, $FILENAME or die "Cannot open $FILENAME";
|
||||
while (my $line = <FILE>) {
|
||||
foreach my $c (split //, $line) {
|
||||
printf ("\\x%02x", ord ($c));
|
||||
if ($first == 1) {
|
||||
printf (",\n");
|
||||
}
|
||||
printf ("0x%02x", ord ($c));
|
||||
$first = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print "\";\n";
|
||||
print "};\n";
|
||||
|
||||
|
||||
@@ -48,6 +48,8 @@ G_BEGIN_DECLS
|
||||
*
|
||||
* A #GdkColor is used to describe a color,
|
||||
* similar to the XColor struct used in the X11 drawing API.
|
||||
*
|
||||
* Deprecated: 3.14: Use #GdkRGBA
|
||||
*/
|
||||
struct _GdkColor
|
||||
{
|
||||
|
||||
20
gdk/gdk.c
20
gdk/gdk.c
@@ -555,6 +555,26 @@ gdk_threads_impl_lock (void)
|
||||
static void
|
||||
gdk_threads_impl_unlock (void)
|
||||
{
|
||||
/* we need a trylock() here because trying to unlock a mutex
|
||||
* that hasn't been locked yet is:
|
||||
*
|
||||
* a) not portable
|
||||
* b) fail on GLib ≥ 2.41
|
||||
*
|
||||
* trylock() will either succeed because nothing is holding the
|
||||
* GDK mutex, and will be unlocked right afterwards; or it's
|
||||
* going to fail because the mutex is locked already, in which
|
||||
* case we unlock it as expected.
|
||||
*
|
||||
* this is needed in the case somebody called gdk_threads_init()
|
||||
* without calling gdk_threads_enter() before calling gtk_main().
|
||||
* in theory, we could just say that this is undefined behaviour,
|
||||
* but our documentation has always been *less* than explicit as
|
||||
* to what the behaviour should actually be.
|
||||
*
|
||||
* see bug: https://bugzilla.gnome.org/show_bug.cgi?id=735428
|
||||
*/
|
||||
g_mutex_trylock (&gdk_threads_mutex);
|
||||
g_mutex_unlock (&gdk_threads_mutex);
|
||||
}
|
||||
|
||||
|
||||
@@ -285,7 +285,7 @@ gdk_cairo_surface_create_from_pixbuf (const GdkPixbuf *pixbuf,
|
||||
cairo_surface_t *surface;
|
||||
|
||||
g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL);
|
||||
g_return_val_if_fail (scale > 0, NULL);
|
||||
g_return_val_if_fail (scale >= 0, NULL);
|
||||
g_return_val_if_fail (for_window == NULL || GDK_IS_WINDOW (for_window), NULL);
|
||||
|
||||
if (gdk_pixbuf_get_n_channels (pixbuf) == 3)
|
||||
@@ -477,6 +477,9 @@ gdk_cairo_region_create_from_surface (cairo_surface_t *surface)
|
||||
else
|
||||
image = cairo_surface_reference (surface);
|
||||
|
||||
/* Flush the surface to make sure that the rendering is up to date. */
|
||||
cairo_surface_flush (image);
|
||||
|
||||
data = cairo_image_surface_get_data (image);
|
||||
stride = cairo_image_surface_get_stride (image);
|
||||
|
||||
|
||||
@@ -451,7 +451,6 @@ GdkAtom
|
||||
gdk_drag_get_selection (GdkDragContext *context)
|
||||
{
|
||||
g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), GDK_NONE);
|
||||
g_return_val_if_fail (context->source_window != NULL, GDK_NONE);
|
||||
|
||||
return GDK_DRAG_CONTEXT_GET_CLASS (context)->get_selection (context);
|
||||
}
|
||||
|
||||
@@ -73,6 +73,7 @@ typedef enum
|
||||
* @GDK_DRAG_PROTO_WIN32_DROPFILES: The simple WM_DROPFILES protocol.
|
||||
* @GDK_DRAG_PROTO_OLE2: The complex OLE2 DND protocol (not implemented).
|
||||
* @GDK_DRAG_PROTO_LOCAL: Intra-application DND.
|
||||
* @GDK_DRAG_PROTO_WAYLAND: Wayland DND protocol.
|
||||
*
|
||||
* Used in #GdkDragContext to indicate the protocol according to
|
||||
* which DND is done.
|
||||
@@ -85,7 +86,8 @@ typedef enum
|
||||
GDK_DRAG_PROTO_ROOTWIN,
|
||||
GDK_DRAG_PROTO_WIN32_DROPFILES,
|
||||
GDK_DRAG_PROTO_OLE2,
|
||||
GDK_DRAG_PROTO_LOCAL
|
||||
GDK_DRAG_PROTO_LOCAL,
|
||||
GDK_DRAG_PROTO_WAYLAND
|
||||
} GdkDragProtocol;
|
||||
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/*** BEGIN file-header ***/
|
||||
#ifndef __GDK_ENUM_TYPES_H__
|
||||
#define __GDK_ENUM_TYPES_H__
|
||||
|
||||
#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
|
||||
#error "Only <gdk/gdk.h> can be included directly."
|
||||
#endif
|
||||
|
||||
#ifndef __GDK_ENUM_TYPES_H__
|
||||
#define __GDK_ENUM_TYPES_H__
|
||||
|
||||
#include <glib-object.h>
|
||||
#include <gdk/gdkversionmacros.h>
|
||||
|
||||
|
||||
@@ -22,13 +22,13 @@
|
||||
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
|
||||
*/
|
||||
|
||||
#ifndef __GDK_FRAME_CLOCK_H__
|
||||
#define __GDK_FRAME_CLOCK_H__
|
||||
|
||||
#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
|
||||
#error "Only <gdk/gdk.h> can be included directly."
|
||||
#endif
|
||||
|
||||
#ifndef __GDK_FRAME_CLOCK_H__
|
||||
#define __GDK_FRAME_CLOCK_H__
|
||||
|
||||
#include <gdk/gdkframetimings.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
@@ -56,10 +56,11 @@ struct _GdkFrameClockIdleClass
|
||||
GdkFrameClockClass parent_class;
|
||||
};
|
||||
|
||||
GType gdk_frame_clock_idle_get_type (void) G_GNUC_CONST;
|
||||
GType gdk_frame_clock_idle_get_type (void) G_GNUC_CONST;
|
||||
|
||||
void _gdk_frame_clock_idle_freeze_updates (GdkFrameClockIdle *clock_idle);
|
||||
void _gdk_frame_clock_idle_thaw_updates (GdkFrameClockIdle *clock_idle);
|
||||
GdkFrameClock *_gdk_frame_clock_idle_new (void);
|
||||
void _gdk_frame_clock_idle_freeze_updates (GdkFrameClockIdle *clock_idle);
|
||||
void _gdk_frame_clock_idle_thaw_updates (GdkFrameClockIdle *clock_idle);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef __GDK_FRAME_TIMINGS_H__
|
||||
#define __GDK_FRAME_TIMINGS_H__
|
||||
|
||||
#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
|
||||
#error "Only <gdk/gdk.h> can be included directly."
|
||||
#endif
|
||||
|
||||
#ifndef __GDK_FRAME_TIMINGS_H__
|
||||
#define __GDK_FRAME_TIMINGS_H__
|
||||
|
||||
#include <glib-object.h>
|
||||
#include <gdk/gdkversionmacros.h>
|
||||
|
||||
|
||||
@@ -240,6 +240,7 @@ struct _GdkWindow
|
||||
guint in_update : 1;
|
||||
guint geometry_dirty : 1;
|
||||
guint event_compression : 1;
|
||||
guint frame_clock_events_paused : 1;
|
||||
|
||||
/* The GdkWindow that has the impl, ref:ed if another window.
|
||||
* This ref is required to keep the wrapper of the impl window alive
|
||||
@@ -257,12 +258,6 @@ struct _GdkWindow
|
||||
that is fully or partially (i.e. semi transparently) visible in
|
||||
the window hierarchy from the toplevel and down */
|
||||
cairo_region_t *clip_region;
|
||||
/* This is the clip region, with additionally all the opaque
|
||||
child windows removed */
|
||||
cairo_region_t *clip_region_with_children;
|
||||
/* The layered region is the subset of clip_region that
|
||||
is covered by non-opaque sibling or ancestor sibling window. */
|
||||
cairo_region_t *layered_region;
|
||||
|
||||
GdkCursor *cursor;
|
||||
GHashTable *device_cursor;
|
||||
|
||||
@@ -160,7 +160,8 @@ ensure_atom_tables (void)
|
||||
}
|
||||
|
||||
static GdkAtom
|
||||
intern_atom_internal (const gchar *atom_name, gboolean allocate)
|
||||
intern_atom_internal (const gchar *atom_name,
|
||||
gboolean allocate)
|
||||
{
|
||||
gpointer result;
|
||||
gchar *name;
|
||||
@@ -172,8 +173,8 @@ intern_atom_internal (const gchar *atom_name, gboolean allocate)
|
||||
|
||||
result = GINT_TO_POINTER (atoms_to_names->len);
|
||||
name = allocate ? g_strdup (atom_name) : (gchar *)atom_name;
|
||||
g_hash_table_insert(names_to_atoms, name, result);
|
||||
g_ptr_array_add(atoms_to_names, name);
|
||||
g_hash_table_insert (names_to_atoms, name, result);
|
||||
g_ptr_array_add (atoms_to_names, name);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -166,6 +166,9 @@ gdk_rgba_parse (GdkRGBA *rgba,
|
||||
gchar *str = (gchar *) spec;
|
||||
gchar *p;
|
||||
|
||||
g_return_val_if_fail (spec != NULL, FALSE);
|
||||
|
||||
|
||||
if (strncmp (str, "rgba", 4) == 0)
|
||||
{
|
||||
has_alpha = TRUE;
|
||||
|
||||
@@ -845,6 +845,10 @@ gdk_screen_get_monitor_geometry (GdkScreen *screen,
|
||||
* similar popups, to avoid placing them below panels, docks or other
|
||||
* desktop components.
|
||||
*
|
||||
* Note that not all backends may have a concept of workarea. This
|
||||
* function will return the monitor geometry if a workarea is not
|
||||
* available, or does not apply.
|
||||
*
|
||||
* Monitor numbers start at 0. To obtain the number of monitors of
|
||||
* @screen, use gdk_screen_get_n_monitors().
|
||||
*
|
||||
|
||||
@@ -40,7 +40,9 @@
|
||||
* may be in the top 8 bits of the pixel, or may be in the lower 4 bits.
|
||||
*
|
||||
* There are several standard visuals. The visual returned by
|
||||
* gdk_screen_get_system_visual() is the system’s default visual.
|
||||
* gdk_screen_get_system_visual() is the system’s default visual, and
|
||||
* the visual returned by gdk_screen_get_rgba_visual() should be used for
|
||||
* creating windows with an alpha channel.
|
||||
*
|
||||
* A number of functions are provided for determining the “best” available
|
||||
* visual. For the purposes of making this determination, higher bit depths
|
||||
|
||||
@@ -45,6 +45,10 @@
|
||||
/* for the use of round() */
|
||||
#include "fallback-c89.c"
|
||||
|
||||
#ifdef GDK_WINDOWING_WAYLAND
|
||||
#include "wayland/gdkwayland.h"
|
||||
#endif
|
||||
|
||||
#undef DEBUG_WINDOW_PRINTING
|
||||
|
||||
|
||||
@@ -404,7 +408,7 @@ gdk_window_class_init (GdkWindowClass *klass)
|
||||
* @height: the height of the offscreen surface to create
|
||||
*
|
||||
* The ::create-surface signal is emitted when an offscreen window
|
||||
* needs its surface (re)created, which happens either when the the
|
||||
* needs its surface (re)created, which happens either when the
|
||||
* window is first drawn to, or when the window is being
|
||||
* resized. The first signal handler that returns a non-%NULL
|
||||
* surface will stop any further signal emission, and its surface
|
||||
@@ -1294,6 +1298,15 @@ gdk_window_new (GdkWindow *parent,
|
||||
g_warning (G_STRLOC "Toplevel windows must be created as children of\n"
|
||||
"of a window of type GDK_WINDOW_ROOT or GDK_WINDOW_FOREIGN");
|
||||
break;
|
||||
case GDK_WINDOW_SUBSURFACE:
|
||||
#ifdef GDK_WINDOWING_WAYLAND
|
||||
if (!GDK_IS_WAYLAND_DISPLAY (display))
|
||||
{
|
||||
g_warning (G_STRLOC "Subsurface windows can only be used on Wayland");
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
case GDK_WINDOW_CHILD:
|
||||
break;
|
||||
default:
|
||||
@@ -2851,6 +2864,8 @@ gdk_window_end_paint (GdkWindow *window)
|
||||
|
||||
cairo_destroy (cr);
|
||||
cairo_region_destroy (full_clip);
|
||||
|
||||
cairo_surface_flush (surface);
|
||||
}
|
||||
|
||||
gdk_window_free_current_paint (window);
|
||||
@@ -3029,7 +3044,7 @@ _gdk_window_ref_cairo_surface (GdkWindow *window)
|
||||
* Creates a Cairo context for drawing to @window.
|
||||
*
|
||||
* Note that calling cairo_reset_clip() on the resulting #cairo_t will
|
||||
* produce undefined results, so avoid it at all costs.
|
||||
*rproduce undefined results, so avoid it at all costs.
|
||||
*
|
||||
* Returns: A newly created Cairo context. Free with
|
||||
* cairo_destroy() when you are done drawing.
|
||||
@@ -3050,11 +3065,15 @@ gdk_cairo_create (GdkWindow *window)
|
||||
cr = cairo_create (surface);
|
||||
|
||||
if (window->impl_window->current_paint.region != NULL)
|
||||
region = cairo_region_copy (window->impl_window->current_paint.region);
|
||||
{
|
||||
region = cairo_region_copy (window->impl_window->current_paint.region);
|
||||
cairo_region_translate (region, -window->abs_x, -window->abs_y);
|
||||
}
|
||||
else
|
||||
region = cairo_region_copy (window->clip_region);
|
||||
{
|
||||
region = cairo_region_copy (window->clip_region);
|
||||
}
|
||||
|
||||
cairo_region_translate (region, -window->abs_x, -window->abs_y);
|
||||
gdk_cairo_region (cr, region);
|
||||
cairo_region_destroy (region);
|
||||
cairo_clip (cr);
|
||||
@@ -3749,23 +3768,18 @@ invalidate_impl_subwindows (GdkWindow *window,
|
||||
if (gdk_window_has_impl (child))
|
||||
{
|
||||
cairo_region_t *tmp = cairo_region_copy (region);
|
||||
cairo_region_translate (tmp, -dx, -dy);
|
||||
cairo_region_translate (tmp, -dx - child->x, -dy - child->y);
|
||||
gdk_window_invalidate_maybe_recurse_full (child,
|
||||
tmp, child_func, user_data);
|
||||
cairo_region_destroy (tmp);
|
||||
}
|
||||
else
|
||||
{
|
||||
dx += child->x;
|
||||
dy += child->y;
|
||||
invalidate_impl_subwindows (child,
|
||||
region,
|
||||
child_func, user_data,
|
||||
dx, dy);
|
||||
dx -= child->x;
|
||||
dy -= child->y;
|
||||
dx + child->x, dy + child->y);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4353,6 +4367,8 @@ gdk_window_get_device_position_double (GdkWindow *window,
|
||||
g_return_val_if_fail (GDK_IS_DEVICE (device), NULL);
|
||||
g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, NULL);
|
||||
|
||||
tmp_x = tmp_y = 0;
|
||||
tmp_mask = 0;
|
||||
normal_child = GDK_WINDOW_IMPL_GET_CLASS (window->impl)->get_device_state (window,
|
||||
device,
|
||||
&tmp_x, &tmp_y,
|
||||
@@ -7615,7 +7631,8 @@ get_pointer_window (GdkDisplay *display,
|
||||
grab = _gdk_display_has_device_grab (display, device, serial);
|
||||
if (grab != NULL &&
|
||||
!grab->owner_events &&
|
||||
pointer_window != grab->window)
|
||||
pointer_window != grab->window &&
|
||||
!gdk_window_is_ancestor (pointer_window, grab->window))
|
||||
pointer_window = NULL;
|
||||
|
||||
return pointer_window;
|
||||
@@ -10590,6 +10607,8 @@ gdk_window_flush_events (GdkFrameClock *clock,
|
||||
_gdk_display_pause_events (display);
|
||||
|
||||
gdk_frame_clock_request_phase (clock, GDK_FRAME_CLOCK_PHASE_RESUME_EVENTS);
|
||||
|
||||
window->frame_clock_events_paused = TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -10616,6 +10635,8 @@ gdk_window_resume_events (GdkFrameClock *clock,
|
||||
|
||||
display = gdk_window_get_display (window);
|
||||
_gdk_display_unpause_events (display);
|
||||
|
||||
window->frame_clock_events_paused = FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -10648,6 +10669,9 @@ gdk_window_set_frame_clock (GdkWindow *window,
|
||||
|
||||
if (window->frame_clock)
|
||||
{
|
||||
if (window->frame_clock_events_paused)
|
||||
gdk_window_resume_events (window->frame_clock, G_OBJECT (window));
|
||||
|
||||
g_signal_handlers_disconnect_by_func (G_OBJECT (window->frame_clock),
|
||||
G_CALLBACK (gdk_window_flush_events),
|
||||
window);
|
||||
|
||||
@@ -68,6 +68,9 @@ typedef enum
|
||||
* @GDK_WINDOW_FOREIGN: foreign window (see gdk_window_foreign_new())
|
||||
* @GDK_WINDOW_OFFSCREEN: offscreen window (see
|
||||
* [Offscreen Windows][OFFSCREEN-WINDOWS]). Since 2.18
|
||||
* @GDK_WINDOW_SUBSURFACE: subsurface-based window; This window is visually
|
||||
* tied to a toplevel, and is moved/stacked with it. Currently this window
|
||||
* type is only implemented in Wayland. Since 3.14
|
||||
*
|
||||
* Describes the kind of window.
|
||||
*/
|
||||
@@ -78,7 +81,8 @@ typedef enum
|
||||
GDK_WINDOW_CHILD,
|
||||
GDK_WINDOW_TEMP,
|
||||
GDK_WINDOW_FOREIGN,
|
||||
GDK_WINDOW_OFFSCREEN
|
||||
GDK_WINDOW_OFFSCREEN,
|
||||
GDK_WINDOW_SUBSURFACE
|
||||
} GdkWindowType;
|
||||
|
||||
/**
|
||||
|
||||
@@ -654,4 +654,23 @@ update_context_from_dragging_info (id <NSDraggingInfo> sender)
|
||||
_gdk_quartz_drag_source_context = NULL;
|
||||
}
|
||||
|
||||
#ifdef AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
|
||||
|
||||
- (void)setStyleMask:(NSUInteger)styleMask
|
||||
{
|
||||
gboolean was_fullscreen;
|
||||
gboolean is_fullscreen;
|
||||
|
||||
was_fullscreen = (([self styleMask] & NSFullScreenWindowMask) != 0);
|
||||
|
||||
[super setStyleMask:styleMask];
|
||||
|
||||
is_fullscreen = (([self styleMask] & NSFullScreenWindowMask) != 0);
|
||||
|
||||
if (was_fullscreen != is_fullscreen)
|
||||
_gdk_quartz_window_update_fullscreen_state ([[self contentView] gdkWindow]);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@end
|
||||
|
||||
@@ -43,6 +43,10 @@
|
||||
-(void)showAndMakeKey:(BOOL)makeKey;
|
||||
-(void)hide;
|
||||
|
||||
#ifdef AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
|
||||
-(void)setStyleMask:(NSUInteger)styleMask;
|
||||
#endif
|
||||
|
||||
@end
|
||||
|
||||
|
||||
|
||||
@@ -44,6 +44,9 @@ _gdk_quartz_window_drag_begin (GdkWindow *window,
|
||||
NULL);
|
||||
_gdk_quartz_drag_source_context->is_source = TRUE;
|
||||
|
||||
_gdk_quartz_drag_source_context->source_window = window;
|
||||
g_object_ref (window);
|
||||
|
||||
_gdk_quartz_drag_source_context->targets = targets;
|
||||
|
||||
gdk_drag_context_set_device (_gdk_quartz_drag_source_context, device);
|
||||
|
||||
@@ -1638,10 +1638,12 @@ _gdk_quartz_screen_get_setting (GdkScreen *screen,
|
||||
{
|
||||
NSString *name;
|
||||
char *str;
|
||||
gint size;
|
||||
|
||||
GDK_QUARTZ_ALLOC_POOL;
|
||||
|
||||
name = [[NSFont systemFontOfSize:0] familyName];
|
||||
size = (gint)[[NSFont userFontOfSize:0] pointSize];
|
||||
|
||||
/* Let's try to use the "views" font size (12pt) by default. This is
|
||||
* used for lists/text/other "content" which is the largest parts of
|
||||
@@ -1652,7 +1654,7 @@ _gdk_quartz_screen_get_setting (GdkScreen *screen,
|
||||
/* The size has to be hardcoded as there doesn't seem to be a way to
|
||||
* get the views font size programmatically.
|
||||
*/
|
||||
str = g_strdup_printf ("%s 12", [name UTF8String]);
|
||||
str = g_strdup_printf ("%s %d", [name UTF8String], size);
|
||||
g_value_set_string (value, str);
|
||||
g_free (str);
|
||||
|
||||
|
||||
@@ -216,7 +216,7 @@ void _gdk_quartz_window_debug_highlight (GdkWindow *window,
|
||||
gint number);
|
||||
|
||||
void _gdk_quartz_window_update_position (GdkWindow *window);
|
||||
|
||||
void _gdk_quartz_window_update_fullscreen_state (GdkWindow *window);
|
||||
|
||||
/* Window methods - testing */
|
||||
void _gdk_quartz_window_sync_rendering (GdkWindow *window);
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "gdkquartzcursor.h"
|
||||
|
||||
#include <Carbon/Carbon.h>
|
||||
#include <AvailabilityMacros.h>
|
||||
|
||||
#include <sys/time.h>
|
||||
#include <cairo-quartz.h>
|
||||
@@ -43,8 +44,6 @@ static GSList *main_window_stack;
|
||||
|
||||
void _gdk_quartz_window_flush (GdkWindowImplQuartz *window_impl);
|
||||
|
||||
#define FULLSCREEN_DATA "fullscreen-data"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
gint x, y;
|
||||
@@ -53,11 +52,15 @@ typedef struct
|
||||
} FullscreenSavedGeometry;
|
||||
|
||||
|
||||
#ifndef AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
|
||||
static FullscreenSavedGeometry *get_fullscreen_geometry (GdkWindow *window);
|
||||
#endif
|
||||
|
||||
#define FULLSCREEN_DATA "fullscreen-data"
|
||||
|
||||
static void update_toplevel_order (void);
|
||||
static void clear_toplevel_order (void);
|
||||
|
||||
static FullscreenSavedGeometry *get_fullscreen_geometry (GdkWindow *window);
|
||||
|
||||
#define WINDOW_IS_TOPLEVEL(window) \
|
||||
(GDK_WINDOW_TYPE (window) != GDK_WINDOW_CHILD && \
|
||||
GDK_WINDOW_TYPE (window) != GDK_WINDOW_FOREIGN && \
|
||||
@@ -1170,8 +1173,10 @@ gdk_window_quartz_hide (GdkWindow *window)
|
||||
GdkWindowImplQuartz *impl;
|
||||
|
||||
/* Make sure we're not stuck in fullscreen mode. */
|
||||
#ifndef AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
|
||||
if (get_fullscreen_geometry (window))
|
||||
SetSystemUIMode (kUIModeNormal, 0);
|
||||
#endif
|
||||
|
||||
check_grab_unmap (window);
|
||||
|
||||
@@ -2635,6 +2640,66 @@ gdk_quartz_window_deiconify (GdkWindow *window)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
|
||||
|
||||
static gboolean
|
||||
window_is_fullscreen (GdkWindow *window)
|
||||
{
|
||||
GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl);
|
||||
|
||||
return ([impl->toplevel styleMask] & NSFullScreenWindowMask) != 0;
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_quartz_window_fullscreen (GdkWindow *window)
|
||||
{
|
||||
GdkWindowImplQuartz *impl;
|
||||
|
||||
if (GDK_WINDOW_DESTROYED (window) ||
|
||||
!WINDOW_IS_TOPLEVEL (window))
|
||||
return;
|
||||
|
||||
impl = GDK_WINDOW_IMPL_QUARTZ (window->impl);
|
||||
|
||||
if (!window_is_fullscreen (window))
|
||||
[impl->toplevel toggleFullScreen:nil];
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_quartz_window_unfullscreen (GdkWindow *window)
|
||||
{
|
||||
GdkWindowImplQuartz *impl;
|
||||
|
||||
if (GDK_WINDOW_DESTROYED (window) ||
|
||||
!WINDOW_IS_TOPLEVEL (window))
|
||||
return;
|
||||
|
||||
impl = GDK_WINDOW_IMPL_QUARTZ (window->impl);
|
||||
|
||||
if (window_is_fullscreen (window))
|
||||
[impl->toplevel toggleFullScreen:nil];
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_quartz_window_update_fullscreen_state (GdkWindow *window)
|
||||
{
|
||||
gboolean is_fullscreen;
|
||||
gboolean was_fullscreen;
|
||||
|
||||
is_fullscreen = window_is_fullscreen (window);
|
||||
was_fullscreen = (gdk_window_get_state (window) & GDK_WINDOW_STATE_FULLSCREEN) != 0;
|
||||
|
||||
if (is_fullscreen != was_fullscreen)
|
||||
{
|
||||
if (is_fullscreen)
|
||||
gdk_synthesize_window_state (window, 0, GDK_WINDOW_STATE_FULLSCREEN);
|
||||
else
|
||||
gdk_synthesize_window_state (window, GDK_WINDOW_STATE_FULLSCREEN, 0);
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
static FullscreenSavedGeometry *
|
||||
get_fullscreen_geometry (GdkWindow *window)
|
||||
{
|
||||
@@ -2718,6 +2783,8 @@ gdk_quartz_window_unfullscreen (GdkWindow *window)
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static void
|
||||
gdk_quartz_window_set_keep_above (GdkWindow *window,
|
||||
gboolean setting)
|
||||
|
||||
@@ -59,6 +59,8 @@ struct _GdkWaylandAppLaunchContextClass
|
||||
GdkAppLaunchContextClass base_class;
|
||||
};
|
||||
|
||||
GType gdk_wayland_app_launch_context_get_type (void);
|
||||
|
||||
G_DEFINE_TYPE (GdkWaylandAppLaunchContext, gdk_wayland_app_launch_context, GDK_TYPE_APP_LAUNCH_CONTEXT)
|
||||
|
||||
static void
|
||||
|
||||
@@ -66,6 +66,8 @@ struct _GdkWaylandCursorClass
|
||||
GdkCursorClass cursor_class;
|
||||
};
|
||||
|
||||
GType _gdk_wayland_cursor_get_type (void);
|
||||
|
||||
G_DEFINE_TYPE (GdkWaylandCursor, _gdk_wayland_cursor, GDK_TYPE_CURSOR)
|
||||
|
||||
void
|
||||
@@ -179,6 +181,8 @@ _gdk_wayland_cursor_get_buffer (GdkCursor *cursor,
|
||||
*h = wayland_cursor->surface.height / wayland_cursor->surface.scale;
|
||||
*scale = wayland_cursor->surface.scale;
|
||||
|
||||
cairo_surface_reference (wayland_cursor->surface.cairo_surface);
|
||||
|
||||
if (wayland_cursor->surface.cairo_surface)
|
||||
return _gdk_wayland_shm_surface_get_wl_buffer (wayland_cursor->surface.cairo_surface);
|
||||
else
|
||||
|
||||
@@ -15,13 +15,12 @@
|
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#define _GNU_SOURCE
|
||||
#include "config.h"
|
||||
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <string.h>
|
||||
#include <gdk/gdkwindow.h>
|
||||
#include <gdk/gdktypes.h>
|
||||
@@ -36,10 +35,6 @@
|
||||
#include <sys/time.h>
|
||||
#include <sys/mman.h>
|
||||
|
||||
typedef struct _DataOffer DataOffer;
|
||||
|
||||
typedef struct _GdkWaylandSelectionOffer GdkWaylandSelectionOffer;
|
||||
|
||||
typedef struct _GdkWaylandTouchData GdkWaylandTouchData;
|
||||
|
||||
struct _GdkWaylandTouchData
|
||||
@@ -48,6 +43,7 @@ struct _GdkWaylandTouchData
|
||||
gdouble x;
|
||||
gdouble y;
|
||||
GdkWindow *window;
|
||||
uint32_t touch_down_serial;
|
||||
guint initial_touch : 1;
|
||||
};
|
||||
|
||||
@@ -90,13 +86,11 @@ struct _GdkWaylandDeviceData
|
||||
guint32 repeat_count;
|
||||
GSettings *keyboard_settings;
|
||||
|
||||
GdkCursor *grab_cursor;
|
||||
guint cursor_timeout_id;
|
||||
guint cursor_image_index;
|
||||
|
||||
DataOffer *drag_offer;
|
||||
DataOffer *selection_offer;
|
||||
|
||||
GdkWaylandSelectionOffer *selection_offer_out;
|
||||
GdkDragContext *drop_context;
|
||||
|
||||
struct wl_surface *pointer_surface;
|
||||
};
|
||||
@@ -121,6 +115,9 @@ G_DEFINE_TYPE (GdkWaylandDevice, gdk_wayland_device, GDK_TYPE_DEVICE)
|
||||
#define GDK_IS_WAYLAND_DEVICE_MANAGER_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_WAYLAND_DEVICE_MANAGER))
|
||||
#define GDK_WAYLAND_DEVICE_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_WAYLAND_DEVICE_MANAGER, GdkWaylandDeviceManagerClass))
|
||||
|
||||
#define GDK_SLOT_TO_EVENT_SEQUENCE(s) ((GdkEventSequence *) GUINT_TO_POINTER((s) + 1))
|
||||
#define GDK_EVENT_SEQUENCE_TO_SLOT(s) (GPOINTER_TO_UINT(s) - 1)
|
||||
|
||||
typedef struct _GdkWaylandDeviceManager GdkWaylandDeviceManager;
|
||||
typedef struct _GdkWaylandDeviceManagerClass GdkWaylandDeviceManagerClass;
|
||||
|
||||
@@ -135,6 +132,8 @@ struct _GdkWaylandDeviceManagerClass
|
||||
GdkDeviceManagerClass parent_class;
|
||||
};
|
||||
|
||||
GType gdk_wayland_device_manager_get_type (void);
|
||||
|
||||
G_DEFINE_TYPE (GdkWaylandDeviceManager,
|
||||
gdk_wayland_device_manager, GDK_TYPE_DEVICE_MANAGER)
|
||||
|
||||
@@ -184,8 +183,21 @@ gdk_wayland_device_update_window_cursor (GdkWaylandDeviceData *wd)
|
||||
int x, y, w, h, scale;
|
||||
guint next_image_index, next_image_delay;
|
||||
|
||||
buffer = _gdk_wayland_cursor_get_buffer (wd->cursor, wd->cursor_image_index,
|
||||
&x, &y, &w, &h, &scale);
|
||||
if (wd->grab_cursor)
|
||||
{
|
||||
buffer = _gdk_wayland_cursor_get_buffer (wd->grab_cursor, 0,
|
||||
&x, &y, &w, &h, &scale);
|
||||
}
|
||||
else if (wd->cursor)
|
||||
{
|
||||
buffer = _gdk_wayland_cursor_get_buffer (wd->cursor, wd->cursor_image_index,
|
||||
&x, &y, &w, &h, &scale);
|
||||
}
|
||||
else
|
||||
{
|
||||
wd->cursor_timeout_id = 0;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (!wd->wl_pointer)
|
||||
return FALSE;
|
||||
@@ -199,6 +211,13 @@ gdk_wayland_device_update_window_cursor (GdkWaylandDeviceData *wd)
|
||||
wl_surface_damage (wd->pointer_surface, 0, 0, w, h);
|
||||
wl_surface_commit (wd->pointer_surface);
|
||||
|
||||
if (wd->grab_cursor)
|
||||
{
|
||||
/* We admit only static icons during drags so far */
|
||||
gdk_wayland_device_stop_window_cursor_animation (wd);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
next_image_index =
|
||||
_gdk_wayland_cursor_get_next_image_index (wd->cursor,
|
||||
wd->cursor_image_index,
|
||||
@@ -360,6 +379,13 @@ gdk_wayland_device_grab (GdkDevice *device,
|
||||
device,
|
||||
wayland_device->wl_seat,
|
||||
time_);
|
||||
|
||||
g_clear_object (&wayland_device->grab_cursor);
|
||||
|
||||
if (cursor)
|
||||
wayland_device->grab_cursor = g_object_ref (cursor);
|
||||
|
||||
gdk_wayland_device_update_window_cursor (wayland_device);
|
||||
}
|
||||
|
||||
return GDK_GRAB_SUCCESS;
|
||||
@@ -387,6 +413,9 @@ gdk_wayland_device_ungrab (GdkDevice *device,
|
||||
if (grab)
|
||||
grab->serial_end = grab->serial_start;
|
||||
|
||||
g_clear_object (&wayland_device->grab_cursor);
|
||||
gdk_wayland_device_update_window_cursor (wayland_device);
|
||||
|
||||
if (wayland_device->pointer_grab_window)
|
||||
_gdk_wayland_window_set_device_grabbed (wayland_device->pointer_grab_window,
|
||||
NULL,
|
||||
@@ -509,61 +538,12 @@ _gdk_wayland_device_get_keymap (GdkDevice *device)
|
||||
return GDK_WAYLAND_DEVICE (device)->device->keymap;
|
||||
}
|
||||
|
||||
struct _DataOffer {
|
||||
struct wl_data_offer *offer;
|
||||
gint ref_count;
|
||||
GPtrArray *types;
|
||||
};
|
||||
|
||||
static void
|
||||
data_offer_offer (void *data,
|
||||
struct wl_data_offer *wl_data_offer,
|
||||
const char *type)
|
||||
{
|
||||
DataOffer *offer = (DataOffer *)data;
|
||||
g_debug (G_STRLOC ": %s wl_data_offer = %p type = %s",
|
||||
G_STRFUNC, wl_data_offer, type);
|
||||
|
||||
g_ptr_array_add (offer->types, g_strdup (type));
|
||||
}
|
||||
|
||||
static void
|
||||
data_offer_unref (DataOffer *offer)
|
||||
{
|
||||
offer->ref_count--;
|
||||
|
||||
if (offer->ref_count == 0)
|
||||
{
|
||||
g_ptr_array_free (offer->types, TRUE);
|
||||
g_free (offer);
|
||||
}
|
||||
}
|
||||
|
||||
static const struct wl_data_offer_listener data_offer_listener = {
|
||||
data_offer_offer,
|
||||
};
|
||||
|
||||
static void
|
||||
data_device_data_offer (void *data,
|
||||
struct wl_data_device *data_device,
|
||||
struct wl_data_offer *_offer)
|
||||
{
|
||||
DataOffer *offer;
|
||||
|
||||
/* This structure is reference counted to handle the case where you get a
|
||||
* leave but are in the middle of transferring data
|
||||
*/
|
||||
offer = g_new0 (DataOffer, 1);
|
||||
offer->ref_count = 1;
|
||||
offer->types = g_ptr_array_new_with_free_func (g_free);
|
||||
offer->offer = _offer;
|
||||
|
||||
/* The DataOffer structure is then retrieved later since this sets the user
|
||||
* data.
|
||||
*/
|
||||
wl_data_offer_add_listener (offer->offer,
|
||||
&data_offer_listener,
|
||||
offer);
|
||||
gdk_wayland_selection_set_offer (_offer);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -571,52 +551,112 @@ data_device_enter (void *data,
|
||||
struct wl_data_device *data_device,
|
||||
uint32_t serial,
|
||||
struct wl_surface *surface,
|
||||
int32_t x,
|
||||
int32_t y,
|
||||
wl_fixed_t x,
|
||||
wl_fixed_t y,
|
||||
struct wl_data_offer *offer)
|
||||
{
|
||||
GdkWaylandDeviceData *device = (GdkWaylandDeviceData *)data;
|
||||
GdkWindow *dest_window, *dnd_owner;
|
||||
|
||||
dest_window = wl_surface_get_user_data (surface);
|
||||
|
||||
if (!GDK_IS_WINDOW (dest_window))
|
||||
return;
|
||||
|
||||
g_debug (G_STRLOC ": %s data_device = %p serial = %u, surface = %p, x = %d y = %d, offer = %p",
|
||||
G_STRFUNC, data_device, serial, surface, x, y, offer);
|
||||
|
||||
/* Retrieve the DataOffer associated with with the wl_data_offer - this
|
||||
* association is made when the listener is attached.
|
||||
*/
|
||||
g_assert (device->drag_offer == NULL);
|
||||
device->drag_offer = wl_data_offer_get_user_data (offer);
|
||||
/* Update pointer state, so device state queries work during DnD */
|
||||
device->pointer_focus = g_object_ref (dest_window);
|
||||
device->surface_x = wl_fixed_to_double (x);
|
||||
device->surface_y = wl_fixed_to_double (y);
|
||||
|
||||
gdk_wayland_drop_context_update_targets (device->drop_context);
|
||||
|
||||
dnd_owner = gdk_selection_owner_get (gdk_drag_get_selection (device->drop_context));
|
||||
|
||||
if (dnd_owner)
|
||||
_gdk_wayland_drag_context_set_source_window (device->drop_context, dnd_owner);
|
||||
|
||||
_gdk_wayland_drag_context_set_dest_window (device->drop_context,
|
||||
dest_window, serial);
|
||||
_gdk_wayland_drag_context_set_coords (device->drop_context,
|
||||
wl_fixed_to_double (x),
|
||||
wl_fixed_to_double (y));
|
||||
_gdk_wayland_drag_context_emit_event (device->drop_context, GDK_DRAG_ENTER,
|
||||
GDK_CURRENT_TIME);
|
||||
gdk_wayland_selection_set_offer (offer);
|
||||
}
|
||||
|
||||
static void
|
||||
data_device_leave (void *data,
|
||||
struct wl_data_device *data_device)
|
||||
{
|
||||
GdkWaylandDeviceData *device = (GdkWaylandDeviceData *)data;
|
||||
GdkWaylandDeviceData *device = (GdkWaylandDeviceData *) data;
|
||||
|
||||
g_debug (G_STRLOC ": %s data_device = %p",
|
||||
G_STRFUNC, data_device);
|
||||
|
||||
data_offer_unref (device->drag_offer);
|
||||
device->drag_offer = NULL;
|
||||
if (!gdk_drag_context_get_dest_window (device->drop_context))
|
||||
return;
|
||||
|
||||
device->pointer_focus = NULL;
|
||||
|
||||
_gdk_wayland_drag_context_set_coords (device->drop_context, -1, -1);
|
||||
_gdk_wayland_drag_context_emit_event (device->drop_context, GDK_DRAG_LEAVE,
|
||||
GDK_CURRENT_TIME);
|
||||
_gdk_wayland_drag_context_set_dest_window (device->drop_context, NULL, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
data_device_motion (void *data,
|
||||
struct wl_data_device *data_device,
|
||||
uint32_t time,
|
||||
int32_t x,
|
||||
int32_t y)
|
||||
wl_fixed_t x,
|
||||
wl_fixed_t y)
|
||||
{
|
||||
GdkWaylandDeviceData *device = (GdkWaylandDeviceData *) data;
|
||||
|
||||
g_debug (G_STRLOC ": %s data_device = %p, time = %d, x = %d, y = %d",
|
||||
G_STRFUNC, data_device, time, x, y);
|
||||
|
||||
if (!gdk_drag_context_get_dest_window (device->drop_context))
|
||||
return;
|
||||
|
||||
/* Update pointer state, so device state queries work during DnD */
|
||||
device->surface_x = wl_fixed_to_double (x);
|
||||
device->surface_y = wl_fixed_to_double (y);
|
||||
|
||||
gdk_wayland_drop_context_update_targets (device->drop_context);
|
||||
_gdk_wayland_drag_context_set_coords (device->drop_context,
|
||||
wl_fixed_to_double (x),
|
||||
wl_fixed_to_double (y));
|
||||
_gdk_wayland_drag_context_emit_event (device->drop_context,
|
||||
GDK_DRAG_MOTION, time);
|
||||
}
|
||||
|
||||
static void
|
||||
data_device_drop (void *data,
|
||||
struct wl_data_device *data_device)
|
||||
{
|
||||
GdkWaylandDeviceData *device = (GdkWaylandDeviceData *) data;
|
||||
GdkWindow *local_dnd_owner;
|
||||
|
||||
g_debug (G_STRLOC ": %s data_device = %p",
|
||||
G_STRFUNC, data_device);
|
||||
|
||||
local_dnd_owner = gdk_selection_owner_get (gdk_drag_get_selection (device->drop_context));
|
||||
|
||||
if (local_dnd_owner)
|
||||
{
|
||||
GdkDragContext *source_context;
|
||||
|
||||
source_context = gdk_wayland_drag_context_lookup_by_source_window (local_dnd_owner);
|
||||
gdk_wayland_drag_context_undo_grab (source_context);
|
||||
}
|
||||
|
||||
_gdk_wayland_drag_context_emit_event (device->drop_context,
|
||||
GDK_DROP_START, GDK_CURRENT_TIME);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -624,33 +664,10 @@ data_device_selection (void *data,
|
||||
struct wl_data_device *wl_data_device,
|
||||
struct wl_data_offer *offer)
|
||||
{
|
||||
GdkWaylandDeviceData *device = (GdkWaylandDeviceData *)data;
|
||||
|
||||
g_debug (G_STRLOC ": %s wl_data_device = %p wl_data_offer = %p",
|
||||
G_STRFUNC, wl_data_device, offer);
|
||||
|
||||
if (!offer)
|
||||
{
|
||||
if (device->selection_offer)
|
||||
{
|
||||
data_offer_unref (device->selection_offer);
|
||||
device->selection_offer = NULL;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (device->selection_offer)
|
||||
{
|
||||
data_offer_unref (device->selection_offer);
|
||||
device->selection_offer = NULL;
|
||||
}
|
||||
|
||||
/* Retrieve the DataOffer associated with with the wl_data_offer -
|
||||
* this association is made when the listener is attached.
|
||||
*/
|
||||
g_assert (device->selection_offer == NULL);
|
||||
device->selection_offer = wl_data_offer_get_user_data (offer);
|
||||
gdk_wayland_selection_set_offer (offer);
|
||||
}
|
||||
|
||||
static const struct wl_data_device_listener data_device_listener = {
|
||||
@@ -700,6 +717,8 @@ pointer_handle_enter (void *data,
|
||||
event->crossing.focus = TRUE;
|
||||
event->crossing.state = 0;
|
||||
|
||||
gdk_wayland_device_update_window_cursor (device);
|
||||
|
||||
get_coordinates (device,
|
||||
&event->crossing.x,
|
||||
&event->crossing.y,
|
||||
@@ -744,6 +763,8 @@ pointer_handle_leave (void *data,
|
||||
event->crossing.focus = TRUE;
|
||||
event->crossing.state = 0;
|
||||
|
||||
gdk_wayland_device_update_window_cursor (device);
|
||||
|
||||
get_coordinates (device,
|
||||
&event->crossing.x,
|
||||
&event->crossing.y,
|
||||
@@ -758,11 +779,7 @@ pointer_handle_leave (void *data,
|
||||
|
||||
g_object_unref(device->pointer_focus);
|
||||
if (device->cursor)
|
||||
{
|
||||
gdk_wayland_device_stop_window_cursor_animation (device);
|
||||
g_object_unref (device->cursor);
|
||||
device->cursor = NULL;
|
||||
}
|
||||
gdk_wayland_device_stop_window_cursor_animation (device);
|
||||
|
||||
device->pointer_focus = NULL;
|
||||
}
|
||||
@@ -1303,9 +1320,9 @@ keyboard_handle_repeat_info (void *data,
|
||||
}
|
||||
|
||||
static GdkWaylandTouchData *
|
||||
_device_manager_add_touch (GdkWaylandDeviceData *device,
|
||||
uint32_t id,
|
||||
struct wl_surface *surface)
|
||||
gdk_wayland_device_add_touch (GdkWaylandDeviceData *device,
|
||||
uint32_t id,
|
||||
struct wl_surface *surface)
|
||||
{
|
||||
GdkWaylandTouchData *touch;
|
||||
|
||||
@@ -1320,15 +1337,15 @@ _device_manager_add_touch (GdkWaylandDeviceData *device,
|
||||
}
|
||||
|
||||
static GdkWaylandTouchData *
|
||||
_device_manager_get_touch (GdkWaylandDeviceData *device,
|
||||
uint32_t id)
|
||||
gdk_wayland_device_get_touch (GdkWaylandDeviceData *device,
|
||||
uint32_t id)
|
||||
{
|
||||
return g_hash_table_lookup (device->touches, GUINT_TO_POINTER (id));
|
||||
}
|
||||
|
||||
static void
|
||||
_device_manager_remove_touch (GdkWaylandDeviceData *device,
|
||||
uint32_t id)
|
||||
gdk_wayland_device_remove_touch (GdkWaylandDeviceData *device,
|
||||
uint32_t id)
|
||||
{
|
||||
g_hash_table_remove (device->touches, GUINT_TO_POINTER (id));
|
||||
}
|
||||
@@ -1350,7 +1367,7 @@ _create_touch_event (GdkWaylandDeviceData *device,
|
||||
event->touch.time = time;
|
||||
event->touch.state = device->modifiers;
|
||||
gdk_event_set_screen (event, display->screen);
|
||||
event->touch.sequence = GUINT_TO_POINTER (touch->id + 1);
|
||||
event->touch.sequence = GDK_SLOT_TO_EVENT_SEQUENCE (touch->id);
|
||||
|
||||
if (touch->initial_touch)
|
||||
{
|
||||
@@ -1381,12 +1398,17 @@ touch_handle_down (void *data,
|
||||
wl_fixed_t y)
|
||||
{
|
||||
GdkWaylandDeviceData *device = data;
|
||||
GdkWaylandDisplay *wayland_display =
|
||||
GDK_WAYLAND_DISPLAY (device->display);
|
||||
GdkWaylandTouchData *touch;
|
||||
GdkEvent *event;
|
||||
|
||||
touch = _device_manager_add_touch (device, id, wl_surface);
|
||||
_gdk_wayland_display_update_serial (wayland_display, serial);
|
||||
|
||||
touch = gdk_wayland_device_add_touch (device, id, wl_surface);
|
||||
touch->x = wl_fixed_to_double (x);
|
||||
touch->y = wl_fixed_to_double (y);
|
||||
touch->touch_down_serial = serial;
|
||||
|
||||
event = _create_touch_event (device, touch, GDK_TOUCH_BEGIN, time);
|
||||
|
||||
@@ -1404,17 +1426,21 @@ touch_handle_up (void *data,
|
||||
int32_t id)
|
||||
{
|
||||
GdkWaylandDeviceData *device = data;
|
||||
GdkWaylandDisplay *wayland_display =
|
||||
GDK_WAYLAND_DISPLAY (device->display);
|
||||
GdkWaylandTouchData *touch;
|
||||
GdkEvent *event;
|
||||
|
||||
touch = _device_manager_get_touch (device, id);
|
||||
_gdk_wayland_display_update_serial (wayland_display, serial);
|
||||
|
||||
touch = gdk_wayland_device_get_touch (device, id);
|
||||
event = _create_touch_event (device, touch, GDK_TOUCH_END, time);
|
||||
|
||||
GDK_NOTE (EVENTS,
|
||||
g_message ("touch end %f %f", event->touch.x, event->touch.y));
|
||||
|
||||
_gdk_wayland_display_deliver_event (device->display, event);
|
||||
_device_manager_remove_touch (device, id);
|
||||
gdk_wayland_device_remove_touch (device, id);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1429,7 +1455,7 @@ touch_handle_motion (void *data,
|
||||
GdkWaylandTouchData *touch;
|
||||
GdkEvent *event;
|
||||
|
||||
touch = _device_manager_get_touch (device, id);
|
||||
touch = gdk_wayland_device_get_touch (device, id);
|
||||
touch->x = wl_fixed_to_double (x);
|
||||
touch->y = wl_fixed_to_double (y);
|
||||
|
||||
@@ -1525,6 +1551,9 @@ seat_handle_capabilities (void *data,
|
||||
device_manager->devices =
|
||||
g_list_prepend (device_manager->devices, device->pointer);
|
||||
|
||||
device->drop_context = _gdk_wayland_drop_context_new (device->pointer,
|
||||
device->data_device);
|
||||
|
||||
g_signal_emit_by_name (device_manager, "device-added", device->pointer);
|
||||
}
|
||||
else if (!(caps & WL_SEAT_CAPABILITY_POINTER) && device->wl_pointer)
|
||||
@@ -1536,6 +1565,8 @@ seat_handle_capabilities (void *data,
|
||||
device_manager->devices =
|
||||
g_list_remove (device_manager->devices, device->pointer);
|
||||
|
||||
g_clear_object (&device->drop_context);
|
||||
|
||||
g_signal_emit_by_name (device_manager, "device-removed", device->pointer);
|
||||
g_object_unref (device->pointer);
|
||||
device->pointer = NULL;
|
||||
@@ -1779,12 +1810,13 @@ gdk_wayland_device_manager_get_client_pointer (GdkDeviceManager *device_manager)
|
||||
|
||||
wayland_device_manager = (GdkWaylandDeviceManager *) device_manager;
|
||||
|
||||
/* Find the first pointer device */
|
||||
/* Find the first master pointer device */
|
||||
for (l = wayland_device_manager->devices; l != NULL; l = l->next)
|
||||
{
|
||||
GdkDevice *device = l->data;
|
||||
|
||||
if (gdk_device_get_source (device) == GDK_SOURCE_MOUSE)
|
||||
if (gdk_device_get_source (device) == GDK_SOURCE_MOUSE &&
|
||||
gdk_device_get_device_type (device) == GDK_DEVICE_TYPE_MASTER)
|
||||
return device;
|
||||
}
|
||||
|
||||
@@ -1816,291 +1848,89 @@ _gdk_wayland_device_manager_new (GdkDisplay *display)
|
||||
}
|
||||
|
||||
uint32_t
|
||||
_gdk_wayland_device_get_button_press_serial (GdkWaylandDeviceData *device)
|
||||
_gdk_wayland_device_get_implicit_grab_serial (GdkWaylandDevice *device,
|
||||
const GdkEvent *event)
|
||||
{
|
||||
return device->button_press_serial;
|
||||
GdkEventSequence *sequence = NULL;
|
||||
GdkWaylandTouchData *touch = NULL;
|
||||
|
||||
if (event)
|
||||
sequence = gdk_event_get_event_sequence (event);
|
||||
|
||||
if (sequence)
|
||||
touch = gdk_wayland_device_get_touch (device->device,
|
||||
GDK_EVENT_SEQUENCE_TO_SLOT (sequence));
|
||||
if (touch)
|
||||
return touch->touch_down_serial;
|
||||
else
|
||||
return device->device->button_press_serial;
|
||||
}
|
||||
|
||||
static GdkAtom
|
||||
mime_type_to_gdk_atom (char *mime_type)
|
||||
uint32_t
|
||||
_gdk_wayland_device_get_last_implicit_grab_serial (GdkWaylandDevice *device,
|
||||
GdkEventSequence **sequence)
|
||||
{
|
||||
if (strcmp (mime_type, "text/plain;charset=utf8"))
|
||||
return gdk_atom_intern_static_string ("UTF8_STRING");
|
||||
GdkWaylandTouchData *touch;
|
||||
GHashTableIter iter;
|
||||
uint32_t serial = 0;
|
||||
|
||||
return GDK_NONE;
|
||||
g_hash_table_iter_init (&iter, device->device->touches);
|
||||
|
||||
if (sequence)
|
||||
*sequence = NULL;
|
||||
|
||||
if (device->device->button_press_serial > serial)
|
||||
serial = device->device->button_press_serial;
|
||||
|
||||
while (g_hash_table_iter_next (&iter, NULL, (gpointer *) &touch))
|
||||
{
|
||||
if (touch->touch_down_serial > serial)
|
||||
{
|
||||
if (sequence)
|
||||
*sequence = GDK_SLOT_TO_EVENT_SEQUENCE (touch->id);
|
||||
serial = touch->touch_down_serial;
|
||||
}
|
||||
}
|
||||
|
||||
return serial;
|
||||
}
|
||||
|
||||
gint
|
||||
gdk_wayland_device_get_selection_type_atoms (GdkDevice *gdk_device,
|
||||
GdkAtom **atoms_out)
|
||||
void
|
||||
gdk_wayland_device_unset_touch_grab (GdkDevice *gdk_device,
|
||||
GdkEventSequence *sequence)
|
||||
{
|
||||
gint i;
|
||||
GdkAtom *atoms;
|
||||
GdkWaylandDeviceData *device;
|
||||
|
||||
g_return_val_if_fail (GDK_IS_WAYLAND_DEVICE (gdk_device), 0);
|
||||
g_return_val_if_fail (atoms_out != NULL, 0);
|
||||
|
||||
g_return_if_fail (GDK_IS_WAYLAND_DEVICE (gdk_device));
|
||||
device = GDK_WAYLAND_DEVICE (gdk_device)->device;
|
||||
|
||||
if (!device->selection_offer || device->selection_offer->types->len == 0)
|
||||
{
|
||||
*atoms_out = NULL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
atoms = g_new0 (GdkAtom, device->selection_offer->types->len);
|
||||
|
||||
/* Convert list of targets to atoms */
|
||||
for (i = 0; i < device->selection_offer->types->len; i++)
|
||||
atoms[i] = mime_type_to_gdk_atom (device->selection_offer->types->pdata[i]);
|
||||
|
||||
*atoms_out = atoms;
|
||||
return device->selection_offer->types->len;
|
||||
gdk_wayland_device_remove_touch (device, GDK_EVENT_SEQUENCE_TO_SLOT (sequence));
|
||||
_gdk_display_end_touch_grab (gdk_device_get_display (gdk_device),
|
||||
gdk_device, sequence);
|
||||
}
|
||||
|
||||
typedef struct
|
||||
struct wl_data_device *
|
||||
gdk_wayland_device_get_data_device (GdkDevice *gdk_device)
|
||||
{
|
||||
GdkWaylandDeviceData *device;
|
||||
DataOffer *offer;
|
||||
GIOChannel *channel;
|
||||
GdkDeviceWaylandRequestContentCallback cb;
|
||||
gpointer userdata;
|
||||
} RequestContentClosure;
|
||||
|
||||
static gboolean
|
||||
_request_content_io_func (GIOChannel *channel,
|
||||
GIOCondition condition,
|
||||
gpointer userdata)
|
||||
{
|
||||
RequestContentClosure *closure = (RequestContentClosure *)userdata;
|
||||
gchar *data = NULL;
|
||||
gsize len = 0;
|
||||
GError *error = NULL;
|
||||
|
||||
/* FIXME: We probably want to do something better than this
|
||||
* to avoid blocking on the transfer of large pieces of data:
|
||||
* call the callback multiple times I should think.
|
||||
*/
|
||||
if (g_io_channel_read_to_end (channel, &data, &len, &error) != G_IO_STATUS_NORMAL)
|
||||
{
|
||||
g_warning (G_STRLOC ": Error reading content from pipe: %s", error->message);
|
||||
g_clear_error (&error);
|
||||
}
|
||||
|
||||
/* Since we use _read_to_end we've got a guaranteed EOF and thus can go
|
||||
* ahead and close the fd
|
||||
*/
|
||||
g_io_channel_shutdown (channel, TRUE, NULL);
|
||||
|
||||
closure->cb (closure->device->pointer, data, len, closure->userdata);
|
||||
|
||||
g_free (data);
|
||||
data_offer_unref (closure->offer);
|
||||
g_io_channel_unref (channel);
|
||||
g_free (closure);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
gdk_wayland_device_request_selection_content (GdkDevice *gdk_device,
|
||||
const gchar *requested_mime_type,
|
||||
GdkDeviceWaylandRequestContentCallback cb,
|
||||
gpointer userdata)
|
||||
{
|
||||
int pipe_fd[2];
|
||||
RequestContentClosure *closure;
|
||||
GdkWaylandDeviceData *device;
|
||||
GError *error = NULL;
|
||||
|
||||
g_return_val_if_fail (GDK_IS_WAYLAND_DEVICE (gdk_device), FALSE);
|
||||
g_return_val_if_fail (requested_mime_type != NULL, FALSE);
|
||||
g_return_val_if_fail (cb != NULL, FALSE);
|
||||
|
||||
g_return_val_if_fail (GDK_IS_WAYLAND_DEVICE (gdk_device), NULL);
|
||||
device = GDK_WAYLAND_DEVICE (gdk_device)->device;
|
||||
|
||||
if (!device->selection_offer)
|
||||
return FALSE;
|
||||
|
||||
/* TODO: Check mimetypes */
|
||||
|
||||
closure = g_new0 (RequestContentClosure, 1);
|
||||
|
||||
device->selection_offer->ref_count++;
|
||||
|
||||
pipe2 (pipe_fd, O_CLOEXEC);
|
||||
wl_data_offer_receive (device->selection_offer->offer,
|
||||
requested_mime_type,
|
||||
pipe_fd[1]);
|
||||
close (pipe_fd[1]);
|
||||
|
||||
closure->device = device;
|
||||
closure->offer = device->selection_offer;
|
||||
closure->channel = g_io_channel_unix_new (pipe_fd[0]);
|
||||
closure->cb = cb;
|
||||
closure->userdata = userdata;
|
||||
|
||||
if (!g_io_channel_set_encoding (closure->channel, NULL, &error))
|
||||
{
|
||||
g_warning (G_STRLOC ": Error setting encoding on channel: %s",
|
||||
error->message);
|
||||
g_clear_error (&error);
|
||||
goto error;
|
||||
}
|
||||
|
||||
g_io_add_watch (closure->channel,
|
||||
G_IO_IN,
|
||||
_request_content_io_func,
|
||||
closure);
|
||||
|
||||
return TRUE;
|
||||
|
||||
error:
|
||||
data_offer_unref (closure->offer);
|
||||
g_io_channel_unref (closure->channel);
|
||||
close (pipe_fd[1]);
|
||||
g_free (closure);
|
||||
|
||||
return FALSE;
|
||||
return device->data_device;
|
||||
}
|
||||
|
||||
struct _GdkWaylandSelectionOffer {
|
||||
GdkDeviceWaylandOfferContentCallback cb;
|
||||
gpointer userdata;
|
||||
struct wl_data_source *source;
|
||||
void
|
||||
gdk_wayland_device_set_selection (GdkDevice *gdk_device,
|
||||
struct wl_data_source *source)
|
||||
{
|
||||
GdkWaylandDeviceData *device;
|
||||
};
|
||||
|
||||
static void
|
||||
data_source_target (void *data,
|
||||
struct wl_data_source *source,
|
||||
const char *mime_type)
|
||||
{
|
||||
g_debug (G_STRLOC ": %s source = %p, mime_type = %s",
|
||||
G_STRFUNC, source, mime_type);
|
||||
}
|
||||
|
||||
static void
|
||||
data_source_send (void *data,
|
||||
struct wl_data_source *source,
|
||||
const char *mime_type,
|
||||
int32_t fd)
|
||||
{
|
||||
GdkWaylandSelectionOffer *offer = (GdkWaylandSelectionOffer *)data;
|
||||
gchar *buf;
|
||||
gssize len, bytes_written = 0;
|
||||
|
||||
g_debug (G_STRLOC ": %s source = %p, mime_type = %s fd = %d",
|
||||
G_STRFUNC, source, mime_type, fd);
|
||||
|
||||
buf = offer->cb (offer->device->pointer, mime_type, &len, offer->userdata);
|
||||
|
||||
while (len > 0)
|
||||
{
|
||||
bytes_written += write (fd, buf + bytes_written, len);
|
||||
if (bytes_written == -1)
|
||||
goto error;
|
||||
len -= bytes_written;
|
||||
}
|
||||
|
||||
close (fd);
|
||||
g_free (buf);
|
||||
|
||||
return;
|
||||
error:
|
||||
|
||||
g_warning (G_STRLOC ": Error writing data to client: %s",
|
||||
g_strerror (errno));
|
||||
|
||||
close (fd);
|
||||
g_free (buf);
|
||||
}
|
||||
|
||||
static void
|
||||
data_source_cancelled (void *data,
|
||||
struct wl_data_source *source)
|
||||
{
|
||||
g_debug (G_STRLOC ": %s source = %p",
|
||||
G_STRFUNC, source);
|
||||
}
|
||||
|
||||
static const struct wl_data_source_listener data_source_listener = {
|
||||
data_source_target,
|
||||
data_source_send,
|
||||
data_source_cancelled
|
||||
};
|
||||
|
||||
static guint32
|
||||
_wl_time_now (void)
|
||||
{
|
||||
struct timeval tv;
|
||||
|
||||
gettimeofday (&tv, NULL);
|
||||
|
||||
return tv.tv_sec * 1000 + tv.tv_usec / 1000;
|
||||
}
|
||||
|
||||
gboolean
|
||||
gdk_wayland_device_offer_selection_content (GdkDevice *gdk_device,
|
||||
const gchar **mime_types,
|
||||
gint nr_mime_types,
|
||||
GdkDeviceWaylandOfferContentCallback cb,
|
||||
gpointer userdata)
|
||||
{
|
||||
GdkDisplay *display;
|
||||
GdkWaylandDisplay *display_wayland;
|
||||
GdkWaylandSelectionOffer *offer;
|
||||
GdkWaylandDeviceData *device;
|
||||
gint i;
|
||||
|
||||
g_return_val_if_fail (GDK_IS_WAYLAND_DEVICE (gdk_device), 0);
|
||||
g_return_if_fail (GDK_IS_WAYLAND_DEVICE (gdk_device));
|
||||
device = GDK_WAYLAND_DEVICE (gdk_device)->device;
|
||||
display_wayland = GDK_WAYLAND_DISPLAY (gdk_device_get_display (gdk_device));
|
||||
|
||||
display = device->display;
|
||||
display_wayland = GDK_WAYLAND_DISPLAY (display);
|
||||
|
||||
offer = g_new0 (GdkWaylandSelectionOffer, 1);
|
||||
offer->cb = cb;
|
||||
offer->userdata = userdata;
|
||||
offer->source =
|
||||
wl_data_device_manager_create_data_source (display_wayland->data_device_manager);
|
||||
offer->device = device;
|
||||
|
||||
for (i = 0; i < nr_mime_types; i++)
|
||||
wl_data_source_offer (offer->source, mime_types[i]);
|
||||
|
||||
wl_data_source_add_listener (offer->source,
|
||||
&data_source_listener,
|
||||
offer);
|
||||
|
||||
wl_data_device_set_selection (device->data_device,
|
||||
offer->source,
|
||||
wl_data_device_set_selection (device->data_device, source,
|
||||
_gdk_wayland_display_get_serial (display_wayland));
|
||||
|
||||
device->selection_offer_out = offer;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
gdk_wayland_device_clear_selection_content (GdkDevice *gdk_device)
|
||||
{
|
||||
GdkWaylandDeviceData *device;
|
||||
|
||||
g_return_val_if_fail (GDK_IS_WAYLAND_DEVICE (gdk_device), 0);
|
||||
device = GDK_WAYLAND_DEVICE (gdk_device)->device;
|
||||
|
||||
if (!device->selection_offer_out)
|
||||
return FALSE;
|
||||
|
||||
wl_data_device_set_selection (device->data_device,
|
||||
NULL,
|
||||
_wl_time_now ());
|
||||
|
||||
wl_data_source_destroy (device->selection_offer_out->source);
|
||||
g_free (device->selection_offer_out);
|
||||
device->selection_offer_out = NULL;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -177,6 +177,10 @@ gdk_registry_handle_global(void *data, struct wl_registry *registry, uint32_t id
|
||||
display_wayland->data_device_manager =
|
||||
wl_registry_bind(display_wayland->wl_registry, id,
|
||||
&wl_data_device_manager_interface, 1);
|
||||
} else if (strcmp (interface, "wl_subcompositor") == 0) {
|
||||
display_wayland->subcompositor =
|
||||
wl_registry_bind (display_wayland->wl_registry, id,
|
||||
&wl_subcompositor_interface, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -212,6 +216,13 @@ _gdk_wayland_display_open (const gchar *display_name)
|
||||
GdkDisplay *display;
|
||||
GdkWaylandDisplay *display_wayland;
|
||||
|
||||
/* If this variable is unset then wayland initialisation will surely
|
||||
* fail, logging a fatal error in the process. Save ourselves from
|
||||
* that.
|
||||
*/
|
||||
if (g_getenv ("XDG_RUNTIME_DIR") == NULL)
|
||||
return NULL;
|
||||
|
||||
wl_log_set_handler_client(log_handler);
|
||||
|
||||
wl_display = wl_display_connect(display_name);
|
||||
@@ -225,6 +236,7 @@ _gdk_wayland_display_open (const gchar *display_name)
|
||||
display_wayland->wl_display = wl_display;
|
||||
display_wayland->screen = _gdk_wayland_screen_new (display);
|
||||
display_wayland->event_source = _gdk_wayland_display_event_source_new (display);
|
||||
_gdk_wayland_display_init_cursors (display_wayland);
|
||||
|
||||
display_wayland->wl_registry = wl_display_get_registry(display_wayland->wl_display);
|
||||
wl_registry_add_listener(display_wayland->wl_registry, ®istry_listener, display_wayland);
|
||||
@@ -232,9 +244,10 @@ _gdk_wayland_display_open (const gchar *display_name)
|
||||
/* Wait until the dust has settled during init... */
|
||||
wl_display_roundtrip (display_wayland->wl_display);
|
||||
|
||||
_gdk_wayland_display_init_cursors (display_wayland);
|
||||
gdk_input_init (display);
|
||||
|
||||
display_wayland->selection = gdk_wayland_selection_new ();
|
||||
|
||||
g_signal_emit_by_name (display, "opened");
|
||||
|
||||
return display;
|
||||
@@ -257,6 +270,12 @@ gdk_wayland_display_dispose (GObject *object)
|
||||
display_wayland->event_source = NULL;
|
||||
}
|
||||
|
||||
if (display_wayland->selection)
|
||||
{
|
||||
gdk_wayland_selection_free (display_wayland->selection);
|
||||
display_wayland->selection = NULL;
|
||||
}
|
||||
|
||||
G_OBJECT_CLASS (gdk_wayland_display_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
@@ -336,7 +355,7 @@ gdk_wayland_display_get_default_group (GdkDisplay *display)
|
||||
static gboolean
|
||||
gdk_wayland_display_supports_selection_notification (GdkDisplay *display)
|
||||
{
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -406,73 +425,10 @@ gdk_wayland_display_get_next_serial (GdkDisplay *display)
|
||||
return ++serial;
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_wayland_display_broadcast_startup_message:
|
||||
* @display: a #GdkDisplay
|
||||
* @message_type: startup notification message type ("new", "change",
|
||||
* or "remove")
|
||||
* @...: a list of key/value pairs (as strings), terminated by a
|
||||
* %NULL key. (A %NULL value for a key will cause that key to be
|
||||
* skipped in the output.)
|
||||
*
|
||||
* Sends a startup notification message of type @message_type to
|
||||
* @display.
|
||||
*
|
||||
* This is a convenience function for use by code that implements the
|
||||
* freedesktop startup notification specification. Applications should
|
||||
* not normally need to call it directly. See the
|
||||
* [Startup Notification Protocol specification](http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt)
|
||||
* for definitions of the message types and keys that can be used.
|
||||
*
|
||||
* Since: 2.12
|
||||
**/
|
||||
void
|
||||
gdk_wayland_display_broadcast_startup_message (GdkDisplay *display,
|
||||
const char *message_type,
|
||||
...)
|
||||
{
|
||||
GString *message;
|
||||
va_list ap;
|
||||
const char *key, *value, *p;
|
||||
|
||||
message = g_string_new (message_type);
|
||||
g_string_append_c (message, ':');
|
||||
|
||||
va_start (ap, message_type);
|
||||
while ((key = va_arg (ap, const char *)))
|
||||
{
|
||||
value = va_arg (ap, const char *);
|
||||
if (!value)
|
||||
continue;
|
||||
|
||||
g_string_append_printf (message, " %s=\"", key);
|
||||
for (p = value; *p; p++)
|
||||
{
|
||||
switch (*p)
|
||||
{
|
||||
case ' ':
|
||||
case '"':
|
||||
case '\\':
|
||||
g_string_append_c (message, '\\');
|
||||
break;
|
||||
}
|
||||
|
||||
g_string_append_c (message, *p);
|
||||
}
|
||||
g_string_append_c (message, '\"');
|
||||
}
|
||||
va_end (ap);
|
||||
|
||||
g_string_free (message, TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_wayland_display_notify_startup_complete (GdkDisplay *display,
|
||||
const gchar *startup_id)
|
||||
{
|
||||
gdk_wayland_display_broadcast_startup_message (display, "remove",
|
||||
"ID", startup_id,
|
||||
NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -488,7 +444,7 @@ gdk_wayland_display_event_data_free (GdkDisplay *display,
|
||||
{
|
||||
}
|
||||
|
||||
GdkKeymap *
|
||||
static GdkKeymap *
|
||||
_gdk_wayland_display_get_keymap (GdkDisplay *display)
|
||||
{
|
||||
GdkDeviceManager *device_manager;
|
||||
@@ -502,7 +458,7 @@ _gdk_wayland_display_get_keymap (GdkDisplay *display)
|
||||
for (l = list; l; l = l->next)
|
||||
{
|
||||
GdkDevice *device;
|
||||
device = list->data;
|
||||
device = l->data;
|
||||
|
||||
if (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD)
|
||||
continue;
|
||||
@@ -522,7 +478,8 @@ _gdk_wayland_display_get_keymap (GdkDisplay *display)
|
||||
if (core_keyboard)
|
||||
return _gdk_wayland_device_get_keymap (core_keyboard);
|
||||
|
||||
tmp_keymap = _gdk_wayland_keymap_new ();
|
||||
if (!tmp_keymap)
|
||||
tmp_keymap = _gdk_wayland_keymap_new ();
|
||||
|
||||
return tmp_keymap;
|
||||
}
|
||||
@@ -751,7 +708,7 @@ static const struct wl_buffer_listener buffer_listener = {
|
||||
buffer_release_callback
|
||||
};
|
||||
|
||||
struct wl_shm_pool *
|
||||
static struct wl_shm_pool *
|
||||
create_shm_pool (struct wl_shm *shm,
|
||||
int width,
|
||||
int height,
|
||||
@@ -890,3 +847,11 @@ _gdk_wayland_shm_surface_get_busy (cairo_surface_t *surface)
|
||||
GdkWaylandCairoSurfaceData *data = cairo_surface_get_user_data (surface, &gdk_wayland_cairo_key);
|
||||
return data->busy;
|
||||
}
|
||||
|
||||
GdkWaylandSelection *
|
||||
gdk_wayland_display_get_selection (GdkDisplay *display)
|
||||
{
|
||||
GdkWaylandDisplay *wayland_display = GDK_WAYLAND_DISPLAY (display);
|
||||
|
||||
return wayland_display->selection;
|
||||
}
|
||||
|
||||
@@ -39,6 +39,8 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _GdkWaylandSelection GdkWaylandSelection;
|
||||
|
||||
struct _GdkWaylandDisplay
|
||||
{
|
||||
GdkDisplay parent_instance;
|
||||
@@ -62,6 +64,7 @@ struct _GdkWaylandDisplay
|
||||
struct gtk_shell *gtk_shell;
|
||||
struct wl_input_device *input_device;
|
||||
struct wl_data_device_manager *data_device_manager;
|
||||
struct wl_subcompositor *subcompositor;
|
||||
|
||||
struct wl_cursor_theme *cursor_theme;
|
||||
GHashTable *cursor_cache;
|
||||
@@ -71,6 +74,8 @@ struct _GdkWaylandDisplay
|
||||
int compositor_version;
|
||||
|
||||
struct xkb_context *xkb_context;
|
||||
|
||||
GdkWaylandSelection *selection;
|
||||
};
|
||||
|
||||
struct _GdkWaylandDisplayClass
|
||||
|
||||
@@ -40,6 +40,13 @@ typedef struct _GdkWaylandDragContextClass GdkWaylandDragContextClass;
|
||||
struct _GdkWaylandDragContext
|
||||
{
|
||||
GdkDragContext context;
|
||||
GdkWindow *dnd_window;
|
||||
struct wl_surface *dnd_surface;
|
||||
struct wl_data_source *data_source;
|
||||
struct wl_data_offer *offer;
|
||||
uint32_t serial;
|
||||
gdouble x;
|
||||
gdouble y;
|
||||
};
|
||||
|
||||
struct _GdkWaylandDragContextClass
|
||||
@@ -49,18 +56,69 @@ struct _GdkWaylandDragContextClass
|
||||
|
||||
static GList *contexts;
|
||||
|
||||
GType gdk_wayland_drag_context_get_type (void);
|
||||
|
||||
G_DEFINE_TYPE (GdkWaylandDragContext, gdk_wayland_drag_context, GDK_TYPE_DRAG_CONTEXT)
|
||||
|
||||
static void
|
||||
gdk_wayland_drag_context_finalize (GObject *object)
|
||||
{
|
||||
GdkWaylandDragContext *wayland_context = GDK_WAYLAND_DRAG_CONTEXT (object);
|
||||
GdkDragContext *context = GDK_DRAG_CONTEXT (object);
|
||||
|
||||
contexts = g_list_remove (contexts, context);
|
||||
|
||||
if (context->is_source &&
|
||||
gdk_selection_owner_get (gdk_drag_get_selection (context)) == context->source_window)
|
||||
gdk_wayland_selection_unset_data_source (gdk_drag_get_selection (context));
|
||||
|
||||
if (wayland_context->data_source)
|
||||
wl_data_source_destroy (wayland_context->data_source);
|
||||
|
||||
if (wayland_context->dnd_window)
|
||||
gdk_window_destroy (wayland_context->dnd_window);
|
||||
|
||||
G_OBJECT_CLASS (gdk_wayland_drag_context_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_wayland_drag_context_emit_event (GdkDragContext *context,
|
||||
GdkEventType type,
|
||||
guint32 time_)
|
||||
{
|
||||
GdkWindow *window;
|
||||
GdkEvent *event;
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case GDK_DRAG_ENTER:
|
||||
case GDK_DRAG_LEAVE:
|
||||
case GDK_DRAG_MOTION:
|
||||
case GDK_DRAG_STATUS:
|
||||
case GDK_DROP_START:
|
||||
case GDK_DROP_FINISHED:
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
if (context->is_source)
|
||||
window = gdk_drag_context_get_source_window (context);
|
||||
else
|
||||
window = gdk_drag_context_get_dest_window (context);
|
||||
|
||||
event = gdk_event_new (type);
|
||||
event->dnd.window = g_object_ref (window);
|
||||
event->dnd.context = g_object_ref (context);
|
||||
event->dnd.time = time_;
|
||||
event->dnd.x_root = GDK_WAYLAND_DRAG_CONTEXT (context)->x;
|
||||
event->dnd.y_root = GDK_WAYLAND_DRAG_CONTEXT (context)->y;
|
||||
gdk_event_set_device (event, gdk_drag_context_get_device (context));
|
||||
|
||||
gdk_event_put (event);
|
||||
gdk_event_free (event);
|
||||
}
|
||||
|
||||
static GdkWindow *
|
||||
gdk_wayland_drag_context_find_window (GdkDragContext *context,
|
||||
GdkWindow *drag_window,
|
||||
@@ -69,9 +127,29 @@ gdk_wayland_drag_context_find_window (GdkDragContext *context,
|
||||
gint y_root,
|
||||
GdkDragProtocol *protocol)
|
||||
{
|
||||
GdkDevice *device;
|
||||
GdkWindow *window;
|
||||
|
||||
device = gdk_drag_context_get_device (context);
|
||||
window = gdk_device_get_window_at_position (device, NULL, NULL);
|
||||
|
||||
if (window)
|
||||
{
|
||||
window = gdk_window_get_toplevel (window);
|
||||
*protocol = GDK_DRAG_PROTO_WAYLAND;
|
||||
return g_object_ref (window);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void
|
||||
gdk_wayland_drag_context_set_action (GdkDragContext *context,
|
||||
GdkDragAction action)
|
||||
{
|
||||
context->suggested_action = context->action = action;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gdk_wayland_drag_context_drag_motion (GdkDragContext *context,
|
||||
GdkWindow *dest_window,
|
||||
@@ -82,7 +160,16 @@ gdk_wayland_drag_context_drag_motion (GdkDragContext *context,
|
||||
GdkDragAction possible_actions,
|
||||
guint32 time)
|
||||
{
|
||||
return FALSE;
|
||||
if (context->dest_window != dest_window)
|
||||
{
|
||||
context->dest_window = dest_window ? g_object_ref (dest_window) : NULL;
|
||||
_gdk_wayland_drag_context_set_coords (context, x_root, y_root);
|
||||
_gdk_wayland_drag_context_emit_event (context, GDK_DRAG_STATUS, time);
|
||||
}
|
||||
|
||||
gdk_wayland_drag_context_set_action (context, suggested_action);
|
||||
|
||||
return context->dest_window != NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -99,11 +186,46 @@ gdk_wayland_drag_context_drag_drop (GdkDragContext *context,
|
||||
|
||||
/* Destination side */
|
||||
|
||||
static void
|
||||
gdk_wayland_drop_context_set_status (GdkDragContext *context,
|
||||
gboolean accepted)
|
||||
{
|
||||
GdkWaylandDragContext *context_wayland;
|
||||
struct wl_data_offer *wl_offer;
|
||||
|
||||
context_wayland = GDK_WAYLAND_DRAG_CONTEXT (context);
|
||||
wl_offer = gdk_wayland_selection_get_offer ();
|
||||
|
||||
if (!wl_offer)
|
||||
return;
|
||||
|
||||
if (accepted)
|
||||
{
|
||||
GList *l;
|
||||
|
||||
for (l = context->targets; l; l = l->next)
|
||||
{
|
||||
if (l->data != gdk_atom_intern_static_string ("DELETE"))
|
||||
break;
|
||||
}
|
||||
|
||||
if (l)
|
||||
{
|
||||
wl_data_offer_accept (wl_offer, context_wayland->serial,
|
||||
gdk_atom_name (l->data));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
wl_data_offer_accept (wl_offer, context_wayland->serial, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_wayland_drag_context_drag_status (GdkDragContext *context,
|
||||
GdkDragAction action,
|
||||
guint32 time_)
|
||||
{
|
||||
gdk_wayland_drop_context_set_status (context, action != 0);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -111,6 +233,7 @@ gdk_wayland_drag_context_drop_reply (GdkDragContext *context,
|
||||
gboolean accepted,
|
||||
guint32 time_)
|
||||
{
|
||||
gdk_wayland_drop_context_set_status (context, accepted);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -118,6 +241,8 @@ gdk_wayland_drag_context_drop_finish (GdkDragContext *context,
|
||||
gboolean success,
|
||||
guint32 time)
|
||||
{
|
||||
if (gdk_selection_owner_get (gdk_drag_get_selection (context)))
|
||||
gdk_wayland_selection_unset_data_source (gdk_drag_get_selection (context));
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -129,13 +254,20 @@ gdk_wayland_drag_context_drop_status (GdkDragContext *context)
|
||||
static GdkAtom
|
||||
gdk_wayland_drag_context_get_selection (GdkDragContext *context)
|
||||
{
|
||||
return GDK_NONE;
|
||||
return gdk_atom_intern_static_string ("GdkWaylandSelection");
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_wayland_drag_context_init (GdkWaylandDragContext *context)
|
||||
gdk_wayland_drag_context_init (GdkWaylandDragContext *context_wayland)
|
||||
{
|
||||
GdkDragContext *context;
|
||||
|
||||
context = GDK_DRAG_CONTEXT (context_wayland);
|
||||
contexts = g_list_prepend (contexts, context);
|
||||
|
||||
context->action = GDK_ACTION_COPY;
|
||||
context->suggested_action = GDK_ACTION_COPY;
|
||||
context->actions = GDK_ACTION_COPY | GDK_ACTION_MOVE;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -160,7 +292,7 @@ gdk_wayland_drag_context_class_init (GdkWaylandDragContextClass *klass)
|
||||
GdkDragProtocol
|
||||
_gdk_wayland_window_get_drag_protocol (GdkWindow *window, GdkWindow **target)
|
||||
{
|
||||
return 0;
|
||||
return GDK_DRAG_PROTO_WAYLAND;
|
||||
}
|
||||
|
||||
void
|
||||
@@ -168,18 +300,216 @@ _gdk_wayland_window_register_dnd (GdkWindow *window)
|
||||
{
|
||||
}
|
||||
|
||||
static GdkWindow *
|
||||
create_dnd_window (void)
|
||||
{
|
||||
GdkWindowAttr attrs;
|
||||
GdkScreen *screen;
|
||||
guint mask;
|
||||
|
||||
screen = gdk_display_get_default_screen (gdk_display_get_default ());
|
||||
|
||||
attrs.x = attrs.y = 0;
|
||||
attrs.width = attrs.height = 100;
|
||||
attrs.wclass = GDK_INPUT_OUTPUT;
|
||||
attrs.window_type = GDK_WINDOW_TEMP;
|
||||
attrs.type_hint = GDK_WINDOW_TYPE_HINT_DND;
|
||||
attrs.visual = gdk_screen_get_system_visual (screen);
|
||||
|
||||
mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_TYPE_HINT;
|
||||
|
||||
return gdk_window_new (gdk_screen_get_root_window (screen), &attrs, mask);
|
||||
}
|
||||
|
||||
GdkDragContext *
|
||||
_gdk_wayland_window_drag_begin (GdkWindow *window,
|
||||
GdkDevice *device,
|
||||
GList *targets)
|
||||
{
|
||||
GdkWaylandDragContext *context_wayland;
|
||||
GdkWaylandDisplay *display_wayland;
|
||||
GdkDragContext *context;
|
||||
GdkWindow *toplevel;
|
||||
GList *l;
|
||||
|
||||
toplevel = gdk_device_get_window_at_position (device, NULL, NULL);
|
||||
|
||||
context_wayland = g_object_new (GDK_TYPE_WAYLAND_DRAG_CONTEXT, NULL);
|
||||
context = GDK_DRAG_CONTEXT (context_wayland);
|
||||
context->source_window = g_object_ref (window);
|
||||
context->is_source = TRUE;
|
||||
context->targets = g_list_copy (targets);
|
||||
|
||||
gdk_drag_context_set_device (context, device);
|
||||
display_wayland = GDK_WAYLAND_DISPLAY (gdk_device_get_display (device));
|
||||
|
||||
context_wayland->dnd_window = create_dnd_window ();
|
||||
context_wayland->dnd_surface = gdk_wayland_window_get_wl_surface (context_wayland->dnd_window);
|
||||
context_wayland->data_source =
|
||||
gdk_wayland_selection_get_data_source (window,
|
||||
gdk_wayland_drag_context_get_selection (context));
|
||||
|
||||
for (l = context->targets; l; l = l->next)
|
||||
wl_data_source_offer (context_wayland->data_source, gdk_atom_name (l->data));
|
||||
|
||||
wl_data_device_start_drag (gdk_wayland_device_get_data_device (device),
|
||||
context_wayland->data_source,
|
||||
gdk_wayland_window_get_wl_surface (toplevel),
|
||||
context_wayland->dnd_surface,
|
||||
_gdk_wayland_display_get_serial (display_wayland));
|
||||
|
||||
return context;
|
||||
}
|
||||
|
||||
GdkDragContext *
|
||||
_gdk_wayland_drop_context_new (GdkDevice *device,
|
||||
struct wl_data_device *data_device)
|
||||
{
|
||||
GdkWaylandDragContext *context_wayland;
|
||||
GdkDragContext *context;
|
||||
|
||||
context = (GdkDragContext *) g_object_new (GDK_TYPE_WAYLAND_DRAG_CONTEXT, NULL);
|
||||
context->source_window = window;
|
||||
context->is_source = TRUE;
|
||||
context_wayland = g_object_new (GDK_TYPE_WAYLAND_DRAG_CONTEXT, NULL);
|
||||
context = GDK_DRAG_CONTEXT (context_wayland);
|
||||
context->is_source = FALSE;
|
||||
|
||||
gdk_drag_context_set_device (context, device);
|
||||
|
||||
return context;
|
||||
}
|
||||
|
||||
void
|
||||
gdk_wayland_drop_context_update_targets (GdkDragContext *context)
|
||||
{
|
||||
g_list_free (context->targets);
|
||||
context->targets = g_list_copy (gdk_wayland_selection_get_targets ());
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_wayland_drag_context_set_coords (GdkDragContext *context,
|
||||
gdouble x,
|
||||
gdouble y)
|
||||
{
|
||||
GdkWaylandDragContext *context_wayland;
|
||||
|
||||
context_wayland = GDK_WAYLAND_DRAG_CONTEXT (context);
|
||||
context_wayland->x = x;
|
||||
context_wayland->y = y;
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_wayland_drag_context_set_source_window (GdkDragContext *context,
|
||||
GdkWindow *window)
|
||||
{
|
||||
if (context->source_window)
|
||||
g_object_unref (context->source_window);
|
||||
|
||||
context->source_window = window ? g_object_ref (window) : NULL;
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_wayland_drag_context_set_dest_window (GdkDragContext *context,
|
||||
GdkWindow *dest_window,
|
||||
uint32_t serial)
|
||||
{
|
||||
context->dest_window = dest_window ? g_object_ref (dest_window) : NULL;
|
||||
GDK_WAYLAND_DRAG_CONTEXT (context)->serial = serial;
|
||||
gdk_wayland_drop_context_update_targets (context);
|
||||
}
|
||||
|
||||
GdkDragContext *
|
||||
gdk_wayland_drag_context_lookup_by_data_source (struct wl_data_source *source)
|
||||
{
|
||||
GList *l;
|
||||
|
||||
for (l = contexts; l; l = l->next)
|
||||
{
|
||||
GdkWaylandDragContext *wayland_context = l->data;
|
||||
|
||||
if (wayland_context->data_source == source)
|
||||
return l->data;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
GdkDragContext *
|
||||
gdk_wayland_drag_context_lookup_by_source_window (GdkWindow *window)
|
||||
{
|
||||
GList *l;
|
||||
|
||||
for (l = contexts; l; l = l->next)
|
||||
{
|
||||
if (window == gdk_drag_context_get_source_window (l->data))
|
||||
return l->data;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
struct wl_data_source *
|
||||
gdk_wayland_drag_context_get_data_source (GdkDragContext *context)
|
||||
{
|
||||
return GDK_WAYLAND_DRAG_CONTEXT (context)->data_source;
|
||||
}
|
||||
|
||||
void
|
||||
gdk_wayland_drag_context_undo_grab (GdkDragContext *context)
|
||||
{
|
||||
GdkEventSequence *sequence;
|
||||
GdkModifierType state;
|
||||
GdkDevice *device;
|
||||
GdkEvent *event;
|
||||
guint button;
|
||||
gdouble x, y;
|
||||
|
||||
device = gdk_drag_context_get_device (context);
|
||||
_gdk_wayland_device_get_last_implicit_grab_serial (GDK_WAYLAND_DEVICE (device), &sequence);
|
||||
gdk_window_get_device_position_double (gdk_drag_context_get_source_window (context),
|
||||
device, &x, &y, &state);
|
||||
|
||||
if (sequence)
|
||||
{
|
||||
event = gdk_event_new (GDK_TOUCH_END);
|
||||
event->touch.window = g_object_ref (gdk_drag_context_get_source_window (context));
|
||||
event->touch.send_event = TRUE;
|
||||
event->touch.sequence = sequence;
|
||||
event->touch.time = GDK_CURRENT_TIME;
|
||||
event->touch.x = event->touch.x_root = x;
|
||||
event->touch.y = event->touch.y_root = y;
|
||||
}
|
||||
else if (state & (GDK_BUTTON1_MASK | GDK_BUTTON2_MASK | GDK_BUTTON3_MASK))
|
||||
{
|
||||
if (state & GDK_BUTTON1_MASK)
|
||||
button = 1;
|
||||
else if (state & GDK_BUTTON2_MASK)
|
||||
button = 2;
|
||||
else if (state & GDK_BUTTON3_MASK)
|
||||
button = 3;
|
||||
else
|
||||
return;
|
||||
|
||||
event = gdk_event_new (GDK_BUTTON_RELEASE);
|
||||
event->button.window = g_object_ref (gdk_drag_context_get_source_window (context));
|
||||
event->button.send_event = TRUE;
|
||||
event->button.button = button;
|
||||
event->button.time = GDK_CURRENT_TIME;
|
||||
event->button.x = event->button.x_root = x;
|
||||
event->button.y = event->button.y_root = y;
|
||||
}
|
||||
else
|
||||
return;
|
||||
|
||||
gdk_event_set_device (event, device);
|
||||
gdk_event_set_source_device (event, device);
|
||||
|
||||
_gdk_wayland_display_deliver_event (gdk_device_get_display (device), event);
|
||||
}
|
||||
|
||||
GdkWindow *
|
||||
gdk_wayland_drag_context_get_dnd_window (GdkDragContext *context)
|
||||
{
|
||||
GdkWaylandDragContext *wayland_context;
|
||||
|
||||
wayland_context = GDK_WAYLAND_DRAG_CONTEXT (context);
|
||||
return wayland_context->dnd_window;
|
||||
}
|
||||
|
||||
@@ -64,6 +64,8 @@ struct _GdkWaylandKeymapClass
|
||||
#define GDK_WAYLAND_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WAYLAND_KEYMAP, GdkWaylandKeymap))
|
||||
#define GDK_IS_WAYLAND_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WAYLAND_KEYMAP))
|
||||
|
||||
GType _gdk_wayland_keymap_get_type (void);
|
||||
|
||||
G_DEFINE_TYPE (GdkWaylandKeymap, _gdk_wayland_keymap, GDK_TYPE_KEYMAP)
|
||||
|
||||
static void
|
||||
@@ -487,6 +489,7 @@ _gdk_wayland_keymap_update_from_fd (GdkKeymap *keymap,
|
||||
{
|
||||
GdkWaylandKeymap *keymap_wayland = GDK_WAYLAND_KEYMAP (keymap);
|
||||
struct xkb_context *context;
|
||||
struct xkb_keymap *xkb_keymap;
|
||||
char *map_str;
|
||||
|
||||
context = xkb_context_new (0);
|
||||
@@ -498,11 +501,20 @@ _gdk_wayland_keymap_update_from_fd (GdkKeymap *keymap,
|
||||
return;
|
||||
}
|
||||
|
||||
xkb_keymap_unref (keymap_wayland->xkb_keymap);
|
||||
keymap_wayland->xkb_keymap = xkb_keymap_new_from_string (context, map_str, format, 0);
|
||||
xkb_keymap = xkb_keymap_new_from_string (context, map_str, format, 0);
|
||||
munmap (map_str, size);
|
||||
close (fd);
|
||||
|
||||
if (!xkb_keymap)
|
||||
{
|
||||
g_warning ("Got invalid keymap from compositor, keeping previous/default one");
|
||||
xkb_context_unref (context);
|
||||
return;
|
||||
}
|
||||
|
||||
xkb_keymap_unref (keymap_wayland->xkb_keymap);
|
||||
keymap_wayland->xkb_keymap = xkb_keymap;
|
||||
|
||||
xkb_state_unref (keymap_wayland->xkb_state);
|
||||
keymap_wayland->xkb_state = xkb_state_new (keymap_wayland->xkb_keymap);
|
||||
|
||||
|
||||
@@ -92,6 +92,30 @@ void _gdk_wayland_window_register_dnd (GdkWindow *window);
|
||||
GdkDragContext *_gdk_wayland_window_drag_begin (GdkWindow *window,
|
||||
GdkDevice *device,
|
||||
GList *targets);
|
||||
GdkDragContext * _gdk_wayland_drop_context_new (GdkDevice *device,
|
||||
struct wl_data_device *data_device);
|
||||
void _gdk_wayland_drag_context_set_source_window (GdkDragContext *context,
|
||||
GdkWindow *window);
|
||||
void _gdk_wayland_drag_context_set_dest_window (GdkDragContext *context,
|
||||
GdkWindow *dest_window,
|
||||
uint32_t serial);
|
||||
void _gdk_wayland_drag_context_emit_event (GdkDragContext *context,
|
||||
GdkEventType type,
|
||||
guint32 time_);
|
||||
void _gdk_wayland_drag_context_set_coords (GdkDragContext *context,
|
||||
gdouble x,
|
||||
gdouble y);
|
||||
|
||||
void gdk_wayland_drag_context_set_action (GdkDragContext *context,
|
||||
GdkDragAction action);
|
||||
|
||||
GdkDragContext * gdk_wayland_drag_context_lookup_by_data_source (struct wl_data_source *source);
|
||||
GdkDragContext * gdk_wayland_drag_context_lookup_by_source_window (GdkWindow *window);
|
||||
struct wl_data_source * gdk_wayland_drag_context_get_data_source (GdkDragContext *context);
|
||||
|
||||
void gdk_wayland_drag_context_undo_grab (GdkDragContext *context);
|
||||
|
||||
void gdk_wayland_drop_context_update_targets (GdkDragContext *context);
|
||||
|
||||
void _gdk_wayland_display_create_window_impl (GdkDisplay *display,
|
||||
GdkWindow *window,
|
||||
@@ -143,7 +167,16 @@ void _gdk_wayland_device_manager_remove_seat (GdkDeviceManager *dev
|
||||
typedef struct _GdkWaylandDeviceData GdkWaylandDeviceData;
|
||||
|
||||
GdkKeymap *_gdk_wayland_device_get_keymap (GdkDevice *device);
|
||||
uint32_t _gdk_wayland_device_get_button_press_serial(GdkWaylandDeviceData *device);
|
||||
uint32_t _gdk_wayland_device_get_implicit_grab_serial(GdkWaylandDevice *device,
|
||||
const GdkEvent *event);
|
||||
uint32_t _gdk_wayland_device_get_last_implicit_grab_serial (GdkWaylandDevice *device,
|
||||
GdkEventSequence **seqence);
|
||||
struct wl_data_device * gdk_wayland_device_get_data_device (GdkDevice *gdk_device);
|
||||
void gdk_wayland_device_set_selection (GdkDevice *gdk_device,
|
||||
struct wl_data_source *source);
|
||||
|
||||
void gdk_wayland_device_unset_touch_grab (GdkDevice *device,
|
||||
GdkEventSequence *sequence);
|
||||
|
||||
void _gdk_wayland_display_deliver_event (GdkDisplay *display, GdkEvent *event);
|
||||
GSource *_gdk_wayland_display_event_source_new (GdkDisplay *display);
|
||||
@@ -187,4 +220,22 @@ struct wl_buffer *_gdk_wayland_shm_surface_get_wl_buffer (cairo_surface_t *surfa
|
||||
void _gdk_wayland_shm_surface_set_busy (cairo_surface_t *surface);
|
||||
gboolean _gdk_wayland_shm_surface_get_busy (cairo_surface_t *surface);
|
||||
|
||||
GdkWaylandSelection * gdk_wayland_display_get_selection (GdkDisplay *display);
|
||||
GdkWaylandSelection * gdk_wayland_selection_new (void);
|
||||
void gdk_wayland_selection_free (GdkWaylandSelection *selection);
|
||||
|
||||
void gdk_wayland_selection_set_offer (struct wl_data_offer *offer);
|
||||
struct wl_data_offer * gdk_wayland_selection_get_offer (void);
|
||||
GList * gdk_wayland_selection_get_targets (void);
|
||||
|
||||
void gdk_wayland_selection_store (GdkWindow *window,
|
||||
GdkAtom type,
|
||||
GdkPropMode mode,
|
||||
const guchar *data,
|
||||
gint len);
|
||||
struct wl_data_source * gdk_wayland_selection_get_data_source (GdkWindow *owner,
|
||||
GdkAtom selection);
|
||||
void gdk_wayland_selection_unset_data_source (GdkAtom selection);
|
||||
|
||||
|
||||
#endif /* __GDK_PRIVATE_WAYLAND_H__ */
|
||||
|
||||
@@ -98,6 +98,8 @@ struct _GdkWaylandMonitor
|
||||
gint scale;
|
||||
};
|
||||
|
||||
GType _gdk_wayland_screen_get_type (void);
|
||||
|
||||
G_DEFINE_TYPE (GdkWaylandScreen, _gdk_wayland_screen, GDK_TYPE_SCREEN)
|
||||
|
||||
static void
|
||||
@@ -538,7 +540,9 @@ static TranslationEntry translations[] = {
|
||||
{ "org.gnome.settings-daemon.plugins.xsettings", "hinting", "gtk-xft-hintstyle", G_TYPE_NONE, { .i = 0 } },
|
||||
{ "org.gnome.settings-daemon.plugins.xsettings", "rgba-order", "gtk-xft-rgba", G_TYPE_NONE, { .i = 0 } },
|
||||
{ "org.gnome.desktop.interface", "text-scaling-factor", "gtk-xft-dpi" , G_TYPE_NONE, { .i = 0 } },
|
||||
|
||||
{ "org.gnome.desktop.wm.preferences", "action-double-click-titlebar", "gtk-titlebar-double-click", G_TYPE_STRING, { .s = "toggle-maximize" } },
|
||||
{ "org.gnome.desktop.wm.preferences", "action-middle-click-titlebar", "gtk-titlebar-middle-click", G_TYPE_STRING, { .s = "none" } },
|
||||
{ "org.gnome.desktop.wm.preferences", "action-right-click-titlebar", "gtk-titlebar-right-click", G_TYPE_STRING, { .s = "menu" } },
|
||||
};
|
||||
|
||||
static TranslationEntry *
|
||||
@@ -805,6 +809,8 @@ struct _GdkWaylandVisualClass
|
||||
GdkVisualClass parent_class;
|
||||
};
|
||||
|
||||
GType _gdk_wayland_visual_get_type (void);
|
||||
|
||||
G_DEFINE_TYPE (GdkWaylandVisual, _gdk_wayland_visual, GDK_TYPE_VISUAL)
|
||||
|
||||
static void
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user