Compare commits
430 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
908364e30d | ||
|
|
650ade3e2d | ||
|
|
45e74e7742 | ||
|
|
981f7c3269 | ||
|
|
ff92fd244a | ||
|
|
57d5b11d24 | ||
|
|
fe87e35ac8 | ||
|
|
f794cb4259 | ||
|
|
a89315e38e | ||
|
|
ca9070915a | ||
|
|
a2de78cfea | ||
|
|
6a6f059c99 | ||
|
|
5f15e342f9 | ||
|
|
4465f7aabd | ||
|
|
0a86c2230e | ||
|
|
6f97292648 | ||
|
|
188b3d5f38 | ||
|
|
360c357f8f | ||
|
|
574f875146 | ||
|
|
aeeaede190 | ||
|
|
f4b56d140c | ||
|
|
bfe6864c03 | ||
|
|
866096d039 | ||
|
|
71737f4d14 | ||
|
|
34579a11b3 | ||
|
|
a9a49698fc | ||
|
|
8188594b73 | ||
|
|
3582604c0e | ||
|
|
f1867cd355 | ||
|
|
62fdaec47e | ||
|
|
864fd11cdf | ||
|
|
dd219a5112 | ||
|
|
eb9862f889 | ||
|
|
e17b6d1a2e | ||
|
|
b14fb3091a | ||
|
|
552a69bc1e | ||
|
|
09e8356f96 | ||
|
|
4b25e80f50 | ||
|
|
35211e0e34 | ||
|
|
0ffc25735f | ||
|
|
27683d3c57 | ||
|
|
1216a77dd3 | ||
|
|
2d2ad5b7a8 | ||
|
|
b5b6495c40 | ||
|
|
18383df52d | ||
|
|
9c44dfb07c | ||
|
|
91dc02591a | ||
|
|
94b2571215 | ||
|
|
d9c56a2daa | ||
|
|
4261d83c9f | ||
|
|
9017c02a76 | ||
|
|
585a031032 | ||
|
|
5987ee1302 | ||
|
|
4117e38789 | ||
|
|
e3e93f6362 | ||
|
|
f01fdf1ba8 | ||
|
|
e2a7d8519b | ||
|
|
dc61c7e769 | ||
|
|
2a8da05d05 | ||
|
|
6c827aef8a | ||
|
|
746d28a9dd | ||
|
|
b04368dba1 | ||
|
|
11167a98bd | ||
|
|
7de7ba548f | ||
|
|
fb1a0b7d62 | ||
|
|
d083357669 | ||
|
|
8da809253a | ||
|
|
c4d17a42df | ||
|
|
3a0e00aa1f | ||
|
|
7c1a21d928 | ||
|
|
abe51903b7 | ||
|
|
5a7f184e57 | ||
|
|
f7c32f0e6d | ||
|
|
757e9830ff | ||
|
|
7feb206d02 | ||
|
|
04719c5da6 | ||
|
|
a645b473ba | ||
|
|
13633e0d89 | ||
|
|
d6a45265a4 | ||
|
|
ea2eef7bd4 | ||
|
|
0075b342e9 | ||
|
|
1c39be5abb | ||
|
|
1dfa0ef23b | ||
|
|
7c0ed9ea8a | ||
|
|
f91a9055ff | ||
|
|
5ad5e9aa62 | ||
|
|
2f6eea91c6 | ||
|
|
a3a972d4fd | ||
|
|
5a23ae1fcb | ||
|
|
d8d9bf88af | ||
|
|
e4b64fdcfc | ||
|
|
6fea756129 | ||
|
|
433a163a1f | ||
|
|
05137fb63d | ||
|
|
5197f0c19d | ||
|
|
1da89e3efc | ||
|
|
871b511660 | ||
|
|
51420fcc03 | ||
|
|
8e33776188 | ||
|
|
f9e2c279e3 | ||
|
|
441acdaec2 | ||
|
|
8eae55ec10 | ||
|
|
0d9115e303 | ||
|
|
74ce92f524 | ||
|
|
8d49bd81d6 | ||
|
|
b0e90d1858 | ||
|
|
14fdea7c4f | ||
|
|
a85841e827 | ||
|
|
b5fbd51495 | ||
|
|
a3c4bfba73 | ||
|
|
dfbd07cb46 | ||
|
|
a71eb3f768 | ||
|
|
c80bca65f0 | ||
|
|
4f4dad93f0 | ||
|
|
aa9d95a1d1 | ||
|
|
0202b6aaef | ||
|
|
981b10dd24 | ||
|
|
c2698fbc8e | ||
|
|
8f4b598071 | ||
|
|
42da415403 | ||
|
|
8c5556808b | ||
|
|
218b29cf59 | ||
|
|
343aaa612a | ||
|
|
52c4bda3e9 | ||
|
|
1c60e7ba45 | ||
|
|
fe86606062 | ||
|
|
95a1a84cb4 | ||
|
|
a5dbedacc4 | ||
|
|
b2b1f5e8ba | ||
|
|
5da99208c6 | ||
|
|
3b7138fb49 | ||
|
|
6707e385b7 | ||
|
|
03e3a60c39 | ||
|
|
31c1c86f48 | ||
|
|
d06b2f19d5 | ||
|
|
b6d93de016 | ||
|
|
c0c79f82f5 | ||
|
|
6802957a0c | ||
|
|
3f029fc402 | ||
|
|
0dbd180a16 | ||
|
|
5302da5ff5 | ||
|
|
99e112a7a4 | ||
|
|
f1b5dac5ac | ||
|
|
8a747e4449 | ||
|
|
d583224137 | ||
|
|
772f13a3e2 | ||
|
|
e4613b06b9 | ||
|
|
cc084c1518 | ||
|
|
d9bf1f407a | ||
|
|
70325ffeb0 | ||
|
|
96862220d3 | ||
|
|
3fee1b835f | ||
|
|
3b8e32e309 | ||
|
|
f1b2404f13 | ||
|
|
e0637869c0 | ||
|
|
28dd23beb6 | ||
|
|
70e9ffa6ff | ||
|
|
f621767dc3 | ||
|
|
143e8cf48d | ||
|
|
cff5ffc5ca | ||
|
|
dc257f4003 | ||
|
|
84222a1a1a | ||
|
|
eae0dee702 | ||
|
|
65e35529b1 | ||
|
|
e3a98c525b | ||
|
|
c07ed89395 | ||
|
|
cae2bd114f | ||
|
|
af9dc2e105 | ||
|
|
684afa1353 | ||
|
|
d24163028e | ||
|
|
2d6203c0a3 | ||
|
|
b0f0c30f1b | ||
|
|
65e58f5db1 | ||
|
|
a8acc04415 | ||
|
|
749a1639cc | ||
|
|
cec2b23e6b | ||
|
|
f361d10ca1 | ||
|
|
ff76a7c353 | ||
|
|
5582c1f311 | ||
|
|
37a25985d1 | ||
|
|
82b355f5a8 | ||
|
|
c5e483055c | ||
|
|
b0f8c022a3 | ||
|
|
f29f8665fd | ||
|
|
071ba60b6e | ||
|
|
d9d3beb099 | ||
|
|
f85c1d6f26 | ||
|
|
e71cac0e1a | ||
|
|
28235d58b4 | ||
|
|
0bc92be1c2 | ||
|
|
398405fdac | ||
|
|
658c98d77a | ||
|
|
a672bb715a | ||
|
|
2042a08ab0 | ||
|
|
9e38c2e5ec | ||
|
|
dd0f5b6567 | ||
|
|
69c615fcb1 | ||
|
|
643006f533 | ||
|
|
f2bfc7d2c7 | ||
|
|
7904d1d663 | ||
|
|
25dc1c37fe | ||
|
|
fbbc6bb79b | ||
|
|
ca4cc77b50 | ||
|
|
b096092530 | ||
|
|
09ffe845d9 | ||
|
|
57c4adc842 | ||
|
|
e7fd4ff587 | ||
|
|
5b6c1d4f92 | ||
|
|
73ffaf1b0d | ||
|
|
31a101fb95 | ||
|
|
58f1891795 | ||
|
|
f4d3373525 | ||
|
|
3b8378fb2f | ||
|
|
1b44a18767 | ||
|
|
8cfb7a3a7f | ||
|
|
2c67a17bc5 | ||
|
|
c1dc8eed15 | ||
|
|
f1e4445bce | ||
|
|
c4f5ad3a0f | ||
|
|
e067c2a9c4 | ||
|
|
609b29d2a8 | ||
|
|
45664bc0f6 | ||
|
|
6ee45ace1b | ||
|
|
5f425b9f27 | ||
|
|
2fe21816cc | ||
|
|
adc808729b | ||
|
|
94946ec0e4 | ||
|
|
b8c0aff312 | ||
|
|
bf033cc8e6 | ||
|
|
81ecb7e80a | ||
|
|
87943c865c | ||
|
|
582a76843a | ||
|
|
e44ece4e36 | ||
|
|
60baed1179 | ||
|
|
1457497c10 | ||
|
|
3a259d847d | ||
|
|
9aff7ba8e5 | ||
|
|
0d37ee8e59 | ||
|
|
ab237e4a09 | ||
|
|
549ed2d785 | ||
|
|
09065c7696 | ||
|
|
39c59caa9d | ||
|
|
f7d4be45ff | ||
|
|
f84c758861 | ||
|
|
9af4e2c2c1 | ||
|
|
387cbde678 | ||
|
|
9e783527b3 | ||
|
|
472348534f | ||
|
|
35fbd14600 | ||
|
|
a66732b586 | ||
|
|
cf694bc246 | ||
|
|
e3585dacce | ||
|
|
2696fbc98f | ||
|
|
1dc1b2c93f | ||
|
|
1d7f1372d0 | ||
|
|
ec0e05525f | ||
|
|
9c8d313f38 | ||
|
|
bf4292b24c | ||
|
|
ceea5ef8fe | ||
|
|
56bc856b71 | ||
|
|
31be1165be | ||
|
|
36446419a3 | ||
|
|
dafcd60b6c | ||
|
|
0c27054e73 | ||
|
|
8c5d2437f7 | ||
|
|
57fbd241ff | ||
|
|
610a91de25 | ||
|
|
138d13b2a4 | ||
|
|
4d8116d641 | ||
|
|
432d618f51 | ||
|
|
ca8c78aecf | ||
|
|
5fc9179fce | ||
|
|
7e9215c616 | ||
|
|
51d3f7330c | ||
|
|
dfbb9d64b5 | ||
|
|
f0032274a8 | ||
|
|
f7b6505060 | ||
|
|
e4d9682836 | ||
|
|
c994d518a8 | ||
|
|
a8ebb5a029 | ||
|
|
bd67c09866 | ||
|
|
cac66b0176 | ||
|
|
18d5d86346 | ||
|
|
8ed5317593 | ||
|
|
f2167ac6fe | ||
|
|
09d622339a | ||
|
|
d922c751d5 | ||
|
|
529b689a35 | ||
|
|
50ad2bb2e7 | ||
|
|
70b686742c | ||
|
|
0c0f6961cb | ||
|
|
55fcbecc93 | ||
|
|
8dedc77abd | ||
|
|
45fe0becc7 | ||
|
|
5530d73ca0 | ||
|
|
e80f1861d0 | ||
|
|
c7fab5a23d | ||
|
|
8aea6870a7 | ||
|
|
f677652d7d | ||
|
|
a27ca7142b | ||
|
|
8ee4f373fe | ||
|
|
1a53f723c4 | ||
|
|
6c1036e9e9 | ||
|
|
bfa5cea589 | ||
|
|
2d3fabf22f | ||
|
|
9d432c2f96 | ||
|
|
cd20b58e1b | ||
|
|
057bccc78e | ||
|
|
62f50bfa0e | ||
|
|
028d675264 | ||
|
|
adccef1bd0 | ||
|
|
eacffc9508 | ||
|
|
d89fd19f87 | ||
|
|
78dc4e83a2 | ||
|
|
5cb0f9b3a5 | ||
|
|
85bb7d41e1 | ||
|
|
66dd5d22e6 | ||
|
|
a367726d57 | ||
|
|
0a474992c2 | ||
|
|
05f883f5b6 | ||
|
|
08cc81743b | ||
|
|
c6e0fe3855 | ||
|
|
46f5b022e5 | ||
|
|
301e78d7db | ||
|
|
de549ecdd3 | ||
|
|
d8880ebb77 | ||
|
|
383ddaa39e | ||
|
|
ebb80c587e | ||
|
|
c50b3669ee | ||
|
|
2a0c24e934 | ||
|
|
44bb96f2c8 | ||
|
|
8a846eb737 | ||
|
|
1209ae2cc8 | ||
|
|
ce69e17c53 | ||
|
|
c577abf769 | ||
|
|
4794f2b309 | ||
|
|
6fe89cc83a | ||
|
|
edf587b5d0 | ||
|
|
cef800524a | ||
|
|
44fb34e048 | ||
|
|
fa5b3494ce | ||
|
|
980b21ed3a | ||
|
|
565c6e3ba5 | ||
|
|
de4153065e | ||
|
|
a7cef089a8 | ||
|
|
c2a0b5322c | ||
|
|
1b4ae4ff25 | ||
|
|
0d4e66328c | ||
|
|
91ba6c2dc6 | ||
|
|
a57801b074 | ||
|
|
c1b5a2d0ef | ||
|
|
785183c7fb | ||
|
|
c2929809ff | ||
|
|
840d2ef409 | ||
|
|
a9274b2f0c | ||
|
|
32931e7d08 | ||
|
|
410b70f907 | ||
|
|
0aa1bd5e97 | ||
|
|
d7542b9af8 | ||
|
|
859145de52 | ||
|
|
5d2db8f012 | ||
|
|
1fa83a74f5 | ||
|
|
cb9aff42c7 | ||
|
|
1124ea7c72 | ||
|
|
ec80b47977 | ||
|
|
1fd687f7c2 | ||
|
|
f1fa35441e | ||
|
|
d7b7242847 | ||
|
|
a2e485757c | ||
|
|
2c79e71d98 | ||
|
|
c2d9124553 | ||
|
|
806bb88530 | ||
|
|
ea696a2362 | ||
|
|
87234fd57b | ||
|
|
31ec94faa5 | ||
|
|
2dcfebc67f | ||
|
|
d81b18a210 | ||
|
|
185087e553 | ||
|
|
26f74e40f6 | ||
|
|
ff76bf8ba7 | ||
|
|
099100a9d3 | ||
|
|
94d05dfaf8 | ||
|
|
f10a6beefc | ||
|
|
fa7fc23f44 | ||
|
|
f34a1f4807 | ||
|
|
8b4829abab | ||
|
|
f21dfb358d | ||
|
|
5a1a08f160 | ||
|
|
0cc2d916f1 | ||
|
|
dbe2343a7d | ||
|
|
bd118b7212 | ||
|
|
175116ac7d | ||
|
|
12cf52e468 | ||
|
|
c5162fa6e8 | ||
|
|
8aa2e2453e | ||
|
|
2488bbf9fc | ||
|
|
4dd906e7a7 | ||
|
|
4e3c34eab6 | ||
|
|
2083f3e262 | ||
|
|
c400e38f98 | ||
|
|
b2e2fe6ea3 | ||
|
|
115418d968 | ||
|
|
64fb36c3d8 | ||
|
|
2255a7225d | ||
|
|
f4dc453e09 | ||
|
|
a8749b2614 | ||
|
|
1c92d4b28d | ||
|
|
15c38b93e2 | ||
|
|
1fc3556064 | ||
|
|
31b514d831 | ||
|
|
752742d044 | ||
|
|
e49d754fdc | ||
|
|
22f7b3ee23 | ||
|
|
a704364549 | ||
|
|
21c7e08b21 | ||
|
|
2d509b1d84 | ||
|
|
5ef9c5a5bf | ||
|
|
77d170539a | ||
|
|
9255c12c87 | ||
|
|
f2b3c6e6a3 | ||
|
|
f6238492bc | ||
|
|
fab341df09 | ||
|
|
e11dcc5426 | ||
|
|
bee067608a | ||
|
|
9eea275ed7 | ||
|
|
39e60a0564 | ||
|
|
ac5905d0db | ||
|
|
c962023b0d | ||
|
|
a9d9b8581b | ||
|
|
78bd6b2844 |
3377
ChangeLog.pre-2-10
3377
ChangeLog.pre-2-10
File diff suppressed because it is too large
Load Diff
5855
ChangeLog.pre-2-2
5855
ChangeLog.pre-2-2
File diff suppressed because it is too large
Load Diff
3377
ChangeLog.pre-2-4
3377
ChangeLog.pre-2-4
File diff suppressed because it is too large
Load Diff
3377
ChangeLog.pre-2-6
3377
ChangeLog.pre-2-6
File diff suppressed because it is too large
Load Diff
3377
ChangeLog.pre-2-8
3377
ChangeLog.pre-2-8
File diff suppressed because it is too large
Load Diff
6
INSTALL
6
INSTALL
@@ -4,8 +4,6 @@ Prerequisites
|
||||
GTK+ requires the following packages:
|
||||
|
||||
- The GLib, Pango, and Atk libraries, available at the same location as GTK+
|
||||
(Either Pango-1.0 or Pango-1.2 can be used with GTK+-2.2;
|
||||
Pango-1.2 is recommended.)
|
||||
|
||||
- The TIFF, PNG, and JPEG image loading libraries. You most
|
||||
likely have these installed on your system already. If not
|
||||
@@ -22,8 +20,8 @@ GTK+ requires the following packages:
|
||||
Simple install procedure
|
||||
========================
|
||||
|
||||
% gzip -cd gtk+-2.2.0.tar.gz | tar xvf - # unpack the sources
|
||||
% cd gtk+-2.2.0 # change to the toplevel directory
|
||||
% gzip -cd gtk+-2.0.7.tar.gz | tar xvf - # unpack the sources
|
||||
% cd gtk+-2.0.7 # change to the toplevel directory
|
||||
% ./configure # run the `configure' script
|
||||
% make # build GTK
|
||||
[ Become root if necessary ]
|
||||
|
||||
@@ -4,8 +4,6 @@ Prerequisites
|
||||
GTK+ requires the following packages:
|
||||
|
||||
- The GLib, Pango, and Atk libraries, available at the same location as GTK+
|
||||
(Either Pango-1.0 or Pango-1.2 can be used with GTK+-2.2;
|
||||
Pango-1.2 is recommended.)
|
||||
|
||||
- The TIFF, PNG, and JPEG image loading libraries. You most
|
||||
likely have these installed on your system already. If not
|
||||
|
||||
@@ -8,6 +8,7 @@ AUTOMAKE_OPTIONS = 1.4
|
||||
|
||||
EXTRA_DIST = \
|
||||
HACKING \
|
||||
gtk+.spec.in \
|
||||
makecopyright \
|
||||
NEWS.pre-1-0 \
|
||||
ChangeLog.pre-1-0 \
|
||||
@@ -15,8 +16,9 @@ EXTRA_DIST = \
|
||||
ChangeLog.pre-2-0 \
|
||||
README.cvs-commits \
|
||||
README.win32 \
|
||||
README.nanox \
|
||||
config.h.win32 \
|
||||
gtk-zip.sh.in \
|
||||
gtk-zip.sh \
|
||||
sanitize-la.sh \
|
||||
po/README.translators \
|
||||
po/makefile.mingw \
|
||||
@@ -148,13 +150,14 @@ install-data-hook:
|
||||
rm -f gdk-2.0.pc && cp -f gdk-$(GDKTARGET)-2.0.pc gdk-2.0.pc && \
|
||||
rm -f gtk+-2.0.pc && cp -f gtk+-$(GDKTARGET)-2.0.pc gtk+-2.0.pc)
|
||||
|
||||
dist-hook:
|
||||
dist-hook: gtk+.spec
|
||||
if test -f $(srcdir)/INSTALL.in && test -f $(srcdir)/README.in ; then \
|
||||
CONFIG_FILES="INSTALL:$(srcdir)/INSTALL.in README:$(srcdir)/README.in" \
|
||||
CONFIG_HEADERS= \
|
||||
$(SHELL) config.status \
|
||||
&& cp INSTALL README $(distdir) ; \
|
||||
fi
|
||||
fi \
|
||||
&& cp gtk+.spec $(distdir)
|
||||
|
||||
.PHONY: files release sanity snapshot
|
||||
|
||||
|
||||
291
NEWS
291
NEWS
@@ -1,287 +1,10 @@
|
||||
Overview of Changes in GTK+ 2.2.0
|
||||
=================================
|
||||
* Fix problem with the DND code and event filters [Bolian Yin, Owen Taylor]
|
||||
* GtkTreeView bug fixes [Kristian Rietveld, Soeren Sandmann, Matthias Clasen]
|
||||
* Documentation improvements [Matthias Clasen, Eric Warmenhoven,
|
||||
James M. Cape]
|
||||
* Example portability fix [Sven Neumann]
|
||||
* Updated translations (es,ja,lv,ms,nl,ru,sk,sv)
|
||||
|
||||
Overview of Changes in GTK+ 2.1.5
|
||||
=================================
|
||||
* GtkFileSel fixes [Owen Taylor]
|
||||
- Fix ..<tab> to go up a dir [Francisco Bustamante]
|
||||
- Fix UTF-8 operation, so that non-ASCII works [Kang Jeong-Hee]
|
||||
- Use g_utf8_collate() not strcmp for sorting [Gregory Merchan]
|
||||
* Only close dialogs on Escape if they have a cancel button. [James Willcox]
|
||||
* Fix problem with resizing gnome-terminal popup [Soeren Sandmann]
|
||||
* Add Home/End/Page_Up/Page_Down keybindings for menus [Owen,
|
||||
Narayana Pattipati, Marius Andreiana]
|
||||
* Xinerama fixes for GtkMenu [Matthias Clasen]
|
||||
* Fix long-standing problem with Ami and GtkEntry [Owen, Kang Jeong-Hee]
|
||||
* Documentation additions and fixes [Matthias]
|
||||
* New and updated translations (am,bg,da,fr,fi,de)
|
||||
* Miscellaneous bug and build fixes
|
||||
|
||||
Other contributors: Johan Dahlin, James Henstridge, Jon Nelson,
|
||||
Bastien Nocera, Christian Reis, Arvind Samptur, Anand Subra, Simon Wong
|
||||
|
||||
Overview of Changes in GTK+ 2.1.4
|
||||
=================================
|
||||
* Improved default color scheme [Soeren Sandmann, with advise from
|
||||
Tuomas Kuosmanen and Garrett LeSage]
|
||||
* Make pixmap creation functions take a GdkDrawable not a GdkWindow
|
||||
[Kristian Rietveld]
|
||||
* Support move-resize emulation for all edges. [Matthias Clasen]
|
||||
* Many fixes for X11 gdk_colormap_alloc_colors [Naofumi Yasufuku, Owen]
|
||||
* Remove extra selections for ButtonRelease in XInput code
|
||||
[Garry Osgood, Owen]
|
||||
* Another attempt at fixing X focus tracking [Owen]
|
||||
* linux-fb VT switch improvements [Eric Warmenhoven]
|
||||
* Win32 [Tor Lillqvist]
|
||||
- Bug and win98 portability fixes for new tile/stipple code [Hans Breuer]
|
||||
- Improve maximized/minimized tracking
|
||||
- Bug fixes
|
||||
* Fix problem with gtk_combo_set_popdown_strings() not changing
|
||||
the entry text [Owen]
|
||||
* Support RTL flipping for statusbars [Matthias]
|
||||
* GtkTreeView bug fixes [Kristian Rietveld, Juri Pakaste, Erik Simonsen,
|
||||
Richard Hult, Carlos Garnacho Parro]
|
||||
* Use octal escapes rather than literal UTF-8 in strings [Owen]
|
||||
* Make a lot of read-only data const. [Matthias, Morten Welinder]
|
||||
* Misc bug fixes
|
||||
* New and updated translations (cs,es,el,he,hu,lv,no,ro)
|
||||
|
||||
Other contributors: Anders Carlsson, Chris Blizzard, Stephen Brown,
|
||||
Erwann Chenede, Jon-Kare Hellan, John Finlay, Jarred Keuch,
|
||||
Kjartan Maraas, Christian Neumair
|
||||
|
||||
Overview of Changes in GTK+ 2.1.3
|
||||
=================================
|
||||
|
||||
GDK:
|
||||
* Win32 [Tor Lillqvist]
|
||||
- fixes to multihead API stubs
|
||||
- Comprehensively implement tiles and stipples
|
||||
- Handle tracking minimized/maximized [Arnaud Charlet]
|
||||
* linux-fb fixes [Eric Warmenhoven]
|
||||
* Use g_get_application_name() for default window titles and
|
||||
for the title of the client leader window [Owen, Havoc Pennington]
|
||||
* Complete resize-grippy support, move-resize emulation
|
||||
[Anders Carlsson, Matthias Clasen]
|
||||
|
||||
GTK+ Core:
|
||||
* On screen change, recreate the widget's Pango context [Owen]
|
||||
* Fix problems with focus ending up on unmapped widgets [Owen]
|
||||
* Make g_object_set (gtk_settings_get_default (), ...) to override
|
||||
settings from XSETTINGS and ~/.gtkrc [Jonathan Blandford]
|
||||
* Make GtkInputDialog multihead aware [Owen]
|
||||
* Add a ::screen-changed signal to GtkWidget [Owen Taylor]
|
||||
|
||||
Widget improvements:
|
||||
* Draw/check menu items insensitive [Soeren, Tim Evans]
|
||||
* Fix color usage for radio/check menu item indicators [Soeren]
|
||||
* Add ::snap-edge-set-property to GtkHandleBox [Owen, Matthias]
|
||||
* RTL flipping improvements for GtkHandleBox, GtkMenuItem, GtkOptionMenu,
|
||||
GtkCheckMenuItem [Matthias Clasen]
|
||||
* GtkCombo improvements [Owen]
|
||||
- Don't leave it behind when switching desktops [Matthias Clasen]
|
||||
- Fix longstanding bug with unwanted moving of selection [Mike Fulbright]
|
||||
- Don't change entry contents until window is popped back up
|
||||
- Keynav fixes
|
||||
* Menu scrolling behavioral improvements [Owen, Ettore Perazzoli]
|
||||
* GtkNotebook keynav improvements [Owen]
|
||||
* Handle painting text on dark-colored progressbars [Soeren]
|
||||
* GtkTreeView [Kristian Rietveld]
|
||||
- Privatize gtk_tree_store_move(), add gtk_tree_store_move_before/after()
|
||||
- Add GTK_CELL_RENDERER_FOCUSED flag
|
||||
- Keynav fixes, including adding boolean return values for keybinding
|
||||
signals (API breakage for API that noone should have been using)
|
||||
[Narayana Pattipati]
|
||||
- Add gtk_tree_view_column_cell_get_position()
|
||||
- Add an inconsistent state for GtkCellRendererToggle
|
||||
- Various bug fixes [Murray Cumming, Daniel Elstner, Vitaly Tishkov,
|
||||
Morten Welinder, Robert Kinsella, Soeren]
|
||||
|
||||
Input Methods:
|
||||
* Sort the input method list in the right click popup [Abigail Brady]
|
||||
* GtkIMContextXIM bug fixes [HideToshi Tajima]
|
||||
|
||||
General:
|
||||
* Make sure that parameters don't shadow system functions [Soeren Sandmann]
|
||||
* Deprecation cleanups [Manish Singh]
|
||||
* Don't grab the focus to the default button in a GtkDialog [Daniel Elstner]
|
||||
* Doc improvements, including adding Since: for 2.2. additions
|
||||
[Matthias Clasen]
|
||||
* Bug fixes, cleanups [Anders Carlsson, Daniel, Vitaly Tishkov, Matthias,
|
||||
Iain Holmes, Gregory Merchan, Havoc Pennington, Soeren, Morten Welinder]
|
||||
* Build fixes [Owen, Jeff Waugh, Dan Mills]
|
||||
|
||||
Overview of Changes in GTK+ 2.1.2
|
||||
=================================
|
||||
|
||||
* Fixes for GtkIMContextXIM [HideToshi Tajima, Owen Taylor]
|
||||
* Remove usage of XLookupString outside of GtkIMContextXIM [Owen]
|
||||
* Handle Shift/Caps/Num_Lock properly for non-Xkb [Owen]
|
||||
* Add a --screen option to set default screen [Balamurali Viswanathan, Owen]
|
||||
* Add simple support for startup notification [Havoc Pennington]
|
||||
* Handle focus indication for check and radio buttons without children
|
||||
[Dave Camp, Owen]
|
||||
* Much work on improve submenu navigation [Soeren Sandmann]
|
||||
* Add "selected_shadow_type" property for menus [Soeren]
|
||||
* Add "scrollbar_spacing" style property [Anders Carlsson, Owen]
|
||||
* Rework GtkPaned keynav [Soeren, Calum Benson]
|
||||
* Sensitivity and keynav fixes for GtkFileSelection [Muktha Narayan, Owen]
|
||||
* Removed mnemonics for GtkToolbar Items [Mikael Hallendal]
|
||||
* Tree view fixes and speedups
|
||||
[Kristian Rietveld, Daniel Elstner, Havoc Pennington]
|
||||
* Allow themes to set GtkTreeView even/odd row colors [Kristian]
|
||||
* Doc fixes and improvements [Matthias Clasen, Vitaly Tishkov]
|
||||
* Win32 fixes [Tor Lillqvist]
|
||||
* Misc cleanups and bug fixes
|
||||
|
||||
Other contributors: Phil Blundell, Erwann Chenede, Jeremy Katz,
|
||||
Padraig O'Briain, Havoc Pennington, Timo Sirainen, Nam SungHyun,
|
||||
Matt Wilson,
|
||||
|
||||
Overview of Changes in GTK+ 2.1.1
|
||||
=================================
|
||||
* Cleanup of use of deprecated functions in GTK+ [Manish Singh]
|
||||
* Add support for separately installed Pixbuf loaders [Matthias Clasen]
|
||||
* linux-fb improvements including window maximization. [Eric Warmenhoven]
|
||||
* Fix to compile again with Xft version 1 [Owen Taylor]
|
||||
* Fix handling of pointer on multiple screens [Owen]
|
||||
- Add gdk_event_set/get_screen() via evil hack
|
||||
- Add GdkDisplayPointerHooks to replace GdkPointerHooks
|
||||
- gdk_screen_get_window_at_pointer() => gdk_display_get_window_at_pointer()
|
||||
- Add gdk_display_get_pointer()
|
||||
- Make drag-and-drop between multiple screens work
|
||||
* Export gdk_event_new(), discourage stack allocated events [Owen]
|
||||
* gdk_draw_pixbuf() as better name for gdk_pixbuf_render_to_drawable() [Owen]
|
||||
* Basic support for RandR extension [Keith Packard, Owen]
|
||||
* Allow moving paned sliders all the way to the edge [Owen, Darin Adler]
|
||||
* Add tag_table construct property to GtkTextBuffer [Daniel Elstner]
|
||||
* gtk_window_set_[default_]icon_from_file [Owen, Havoc]
|
||||
* Fix handling of GtkSettings set from RC files on reload [Owen]
|
||||
* GtkTreeView work [Kristian Rietveld]
|
||||
- Stop editing on a focus out event for GtkCellRendererText
|
||||
[Andreas J. Guelzow]
|
||||
- Don't accept drops on auto-sorted models
|
||||
- Fix evil bug with insertions to GtkTreeModelSort [Hans Petter Jansson]
|
||||
* Fixes for GtkIMContextXIM
|
||||
[Takuro Ashie, Motonobu Ichimura, Owen, HideToshi Tajima]
|
||||
* Documentation fixes [Soeren Sandmann, Matthias Clasen; Joost Faassen,
|
||||
Alexey A. Malyshev, Ben Martin, Havoc Pennington, Boris Shingarov, Owen,
|
||||
Vitaly Tishkov, Dan Winship, Yao Zhang]
|
||||
* Some performance tweaks [Soeren, Padraig O'Briain]
|
||||
* Miscellaneous bug fixes
|
||||
|
||||
Other contributors: Jacob Berkman, Phil Blundell, Kenneth Christiansen,
|
||||
Murray Cumming, Bill Haneman, Jon-Kare Hellan, Hema Seetharamaiah
|
||||
|
||||
Overview of Changes from GTK+-2.0.x to GTK+-2.1.0
|
||||
=================================================
|
||||
|
||||
Multihead support: [Erwann Chenede, Owen Taylor]
|
||||
* Multihead support
|
||||
* Add GdkDisplay, GdkScreen structures
|
||||
* Add _for_display(), _for_screen() variants where needed in GDK and GTK+
|
||||
(In other cases, make the variants methods on GdkDisplay/GdkScreen
|
||||
* Adapt GTK+ widgets to be multihead safe
|
||||
* Allow initialization of GTK+ without opening a display with gtk_parse_args()
|
||||
* Add multihead support to demos/tests.
|
||||
|
||||
GDK:
|
||||
* Adapt win32 code to multihead reorganization [Hans Breuer, Tor Lillqvist]
|
||||
* Adapt linux-fb code to multihead reorganization [Eric Warmenhoven]
|
||||
* Miscellaneous linux-fb improvements [Eric]
|
||||
* Xinerama support [Erwann Chenede, Matthias Clasen]
|
||||
* Allow GDK backends to add custom argument parsing [Sven Neumann]
|
||||
* Add support for some addition NET window manager spec hints [Havoc Pennington]
|
||||
* Add ::keys-changed signal to GdkKeymap, handle keymap changes for keybindings [Owen]
|
||||
|
||||
GtkTreeView: [Kristian Rietveld]
|
||||
* Support stock pixbufs in GtkCellRendererPixbuf
|
||||
* Allow setting the cell background for cell renderers
|
||||
* Support focusing individual cell renderers and other focus fixes
|
||||
* Make resizing tree views more efficient [Soeren Sandmann]
|
||||
* Add gtk_tree_model_get_string_from_iter
|
||||
* Improve gtk_list_store_remove API
|
||||
* API additions:
|
||||
gtk_tree_model_sort_iter_is_valid(), gtk_tree_view_expand_to_path()
|
||||
Add gtk_tree_selection_get_selected_rows(),
|
||||
gtk_tree_selection_count_selected_rows()
|
||||
gtk_tree_path_new_from_indices(), gtk_{list,tree}_store_{reorder,swap,_move}
|
||||
|
||||
GTK+:
|
||||
* Add style property for drawing menu items without shadow [Soeren]
|
||||
* gtk_widget_modify_color_component/font(): Allow clearing
|
||||
current modifications. [Owen]
|
||||
* Add GtkWidget::is_focus, GtkWindow::is_active properties [Owen]
|
||||
* Some XEMBED changes for standards compliance and Qt compatibility [Owen]
|
||||
* Fix menus resizing when popped up or torn off [Owen]
|
||||
* Improve label behavior when it gets a too small allocation [Soeren]
|
||||
* Add support for depth 8 StaticColor visuals to gdkrgb [Matthias]
|
||||
* Theme drawing improvements [Soeren]
|
||||
* Add types for GtkRowReference, GtkClipboard [Jonathan Blandford, James Henstridge, Owen]
|
||||
* Use G_TYPE_FLAG_ABSTRACT for abstract types [Matthias]
|
||||
* Add gtk_menu_shell_select_first() [Owen]
|
||||
* Add gtk_notebook_get_n_pages() [Havoc Pennington]
|
||||
* Allow accel_path = NULL for gtk_menu_item_set_accel_path().
|
||||
* Allow icon sizes to be changed via a GtkSetting [Bill Haneman, Brian Cameron, Owen]
|
||||
|
||||
GdkPixbuf:
|
||||
* Improve gdk-pixbuf loader tests [Soeren Sandmann]
|
||||
* Use iTXT chunks when necessary in PNG image saver [Matthias]
|
||||
* Add incremental loading for progressive jpegs [Matthias]
|
||||
* Add load-at-size functionality [Matthias]
|
||||
* Add a loader for .ANI animations [Matthias]
|
||||
* Load hotspot for .ICO files [Matthias]
|
||||
|
||||
Docs:
|
||||
* Convert docs to Docbook XML [Matthias]
|
||||
* Doc improvements and fixes [Matthias, Soeren,
|
||||
Dennis Bj"orklund, Ross Burton, Manuel Clos, Alexey A. Malyshev, Brett Nash,
|
||||
Brian Tarricone, Owen, Vitaly Tishkov, Yao Zhang]
|
||||
* Tutorial improvements [Tony Gale]
|
||||
|
||||
General:
|
||||
* Add gtk-im-preedit-style/gtk-im-status-style XSETTINGS [Hidetoshi Tajima]
|
||||
* Clean up GDK and demos for deprecated functions [Manish Singh]
|
||||
* Misc fixes [Olexiy Avramchenko, Jacob Berkman, Anders Carlsson, David L. Cooper II, Robin Lu,
|
||||
Eric Mader, Mark McLoughlin, Padraig O'Briain, Laszlo Peter, Hidetoshi, Vitaly Tishkov,
|
||||
Shivaram Upadhyayula]
|
||||
|
||||
Overview of Changes in GTK+ 2.0.9
|
||||
=================================
|
||||
* Fix colormap refcounting, which caused frequent metacity crashes
|
||||
[Christopher James Lahey]
|
||||
* Lots of work on the Win32 backend [Tor Lillqvist]
|
||||
- Scrolling fixes
|
||||
- GdkGC clipping fixes and improvements
|
||||
- Started implementing all fill styles
|
||||
* GtkTreeView bug fixes [Kristian Rietveld]
|
||||
- Make TreeView reordering work on FreeBSD/Solaris [Heiner Eichmann]
|
||||
* Various bug fixes
|
||||
|
||||
Other contributors: Matthias Clasen, Arnaud Charlet, Vitaly Tishkov,
|
||||
Josh Parsons, Peter Bloomfield
|
||||
|
||||
Overview of Changes in GTK+ 2.0.8
|
||||
=================================
|
||||
* Fix typo in io-gif.c that broke loading GIFS [Akira Tagoh]
|
||||
* Improve redraws when scrolling on Win32 [Tor Lillqvist]
|
||||
* Fix problem with RENDER and XFree86-4.1 [Owen Taylor, Jamie Zawinski]
|
||||
* Fix problem with GtkImage placement [Owen, Sven Neumann, Soeren Sandmann]
|
||||
* Updated translation (el)
|
||||
|
||||
Overview of Changes in GTK+ 2.0.7
|
||||
=================================
|
||||
* Fix some memory leaks in gdk-pixbuf [Sven Neumann]
|
||||
* Pixbuf loader fixes [Federico Mena Quintero, Elliot Lee]
|
||||
* Support depth 8 StaticColor in GdkRGB [Matthias Clasen]
|
||||
* Win32 fixes and improvements [Tor Lillqvist]
|
||||
- Keyboard handling fixes [Florent Duguet]
|
||||
- Keyboard handling fixes [Florian Dugent]
|
||||
- Fixes for building and running on Cygwin [Masahiro Sakai]
|
||||
- Fix gdk_window_scroll(), other GdkWindow fixes
|
||||
- Misc bug and build fixes [Soren Andersen, Florent, Tim Evans,
|
||||
@@ -305,7 +28,7 @@ Overview of Changes in GTK+ 2.0.7
|
||||
ja,ko,lv,ms,nl,no,pl,pt,pt_BR,ru,sk,sv,vi,zh_TW)
|
||||
* Many miscellaneous bug fixes
|
||||
|
||||
Other contributors: Jacob Berkman, Albert Chin, Chema Celorio,
|
||||
Other contributors: Jacob Berkman, Alvert Chin, Chema Celorio,
|
||||
David L. Cooper II, Brent Fox, Tim Janik, Marco Pesenti Gritti,
|
||||
Alex Larsson, Zenith Lau, Thomas Leonard, Gaute Lindkvist,
|
||||
Paolo Maggi, Andy Wingo, Jami Pekannen, Joshua N Pritikin,
|
||||
@@ -347,7 +70,7 @@ Overview of Changes in GTK+ 2.0.4
|
||||
Owen Taylor]
|
||||
* Calculate screen size on win32 from the "logical DPI"
|
||||
[Joaquin Cuenca Abela, Tor Lillqvist]
|
||||
* Misc Win32 bug fixes. [Florent Duguet, Tor]
|
||||
* Misc Win32 bug fixes. [Florent Duguet, Torn]
|
||||
* Fix theme changes for GtkMenu [Soeren Sandmann]
|
||||
* Fix gdk_pixbuf_from_drawable() for big endian. [Federico Mena Quintero]
|
||||
* Fix encoding handling for gtk_file_selection_set_filename()
|
||||
@@ -359,7 +82,7 @@ Overview of Changes in GTK+ 2.0.4
|
||||
* Updated translations (ca,cs,da,es,et,fr,ms,nl,pl,pt,pt_BR,ru,sv)
|
||||
|
||||
Other contributors: Nicholas Allen, Jacob Berkman, Remus Draica,
|
||||
Nano Golveia, Tim Janik, Sergey Kuzminov, George Lebl, Garrett LeSage,
|
||||
Nano Golveia, Tim Janik, Sergey Kuzminov, George Lebl, Garrett Lesage,
|
||||
Robin Lu, Timo Meinen, Michel Selten, Boris Shingarov, Jeff Waugh
|
||||
|
||||
Overview of Changes in GTK+ 2.0.3
|
||||
@@ -407,20 +130,20 @@ Overview of Changes in GTK+ 2.0.1
|
||||
[Owen Taylor, with help from Tuomas Kuosmanen]
|
||||
* Win32 fixes, especially dashed line drawing
|
||||
[Tor Lillqvist, Hans Breuer]
|
||||
* Compile with -D_REENTRANT when appropriate [Sven Neumann]
|
||||
* Compile with -D_REENTRANT when appropriate [Sven Numann]
|
||||
* Compiler warning cleanups [Erwann Chenede]
|
||||
* Fix handling of font-name XSETTING [Richard Hestilow]
|
||||
* Make linux-fb backend compile again [Carlo E. Prelz, Alex Larsson]
|
||||
* Fix problems with inappropriate menu scroll arrows [Owen]
|
||||
* Stock icon improvements [Jakub Steiner, Tuomas]
|
||||
* Much work on pixbuf loader robustness [Matthias Clasen]
|
||||
* Documentation improvements [Matthias, Vitaly Tishkov]
|
||||
* Documentation improvements [Matthias, Vitaly Tiskkov]
|
||||
* Fix some crashes in GtkWindow accelerator handling code
|
||||
[Dave Camp, Matt Wilson]
|
||||
* Misc bug fixes
|
||||
|
||||
Other contributors: Jacob Berkman, Dennis Björklund, Seth Burgess,
|
||||
Murray Cumming, Johan Dahlin, John Ellis, Kang Jeong-Hee,
|
||||
Murray Cumming, Johan Dahlin, John Ellis, Kang Jeong-He,
|
||||
James Henstridge, Richard Hult, Thomas Leonard, LEE Sau Dan,
|
||||
Alexey A. Malyshev, Mark McLoughlin, Michael Meeks, Sven Neumann,
|
||||
Andras Salamon, Soeren Sandmann, Dan Winship, Yao Zhang
|
||||
|
||||
60
README
60
README
@@ -1,7 +1,7 @@
|
||||
General Information
|
||||
===================
|
||||
|
||||
This is GTK+ version 2.2.0. GTK+ is a multi-platform toolkit for
|
||||
This is GTK+ version 2.0.7. GTK+ is a multi-platform toolkit for
|
||||
creating graphical user interfaces. Offering a complete set of widgets,
|
||||
GTK+ is suitable for projects ranging from small one-off projects to
|
||||
complete application suites.
|
||||
@@ -25,13 +25,13 @@ Installation
|
||||
|
||||
See the file 'INSTALL'
|
||||
|
||||
Release notes
|
||||
=============
|
||||
GTK+-2.0.0 Specific Notes
|
||||
=========================
|
||||
|
||||
* As compared to GTK+-1.2, the default configuration of GTK+-2 has been
|
||||
stream-lined to reduce confusion on the part of new users or users
|
||||
coming from other environments. Users used to older versions of
|
||||
GTK+ may want to make some adjustments to the default configuration.
|
||||
* The default configuration of GTK+ has been stream-lined to reduce
|
||||
confusion on the part of new users or users coming from other
|
||||
environments. Users used to older versions of GTK+ may want to make
|
||||
some adjustments to the default configuration.
|
||||
|
||||
- Emacs keybindings such as Control-A and Control-E to move to the
|
||||
ends of lines are not enabled by default in the editing widgets. To
|
||||
@@ -57,33 +57,33 @@ Release notes
|
||||
to your ~/.gtkrc-2.0
|
||||
|
||||
* The GTK+ libraries use an '_' prefix to indicate private symbols that
|
||||
must not be used by applications. On some platforms, symbols beginning
|
||||
with prefixes such as _gtk, _gdk, and _pango will be exported
|
||||
from the library, on others not. In no case can applications
|
||||
use these private symbols.
|
||||
must not be used by applications. The intention was not to export
|
||||
symbols beginning with prefixes such as _gtk, _gdk, and _pango from
|
||||
the libraries at all, but due to a bug in libtool, they are actually
|
||||
exported at the moment on some platforms (including Linux).
|
||||
Applications that use these private symbols _will_ break when
|
||||
this bug is fixed.
|
||||
|
||||
* GTK+-2.2 can be build either with Pango-1.0 and version 1 of
|
||||
the Xft library or Pango-1.2 and version 2 of the Xft library
|
||||
(Xft is used to to display anti-aliased fonts) By default, GTK+ and
|
||||
Pango are built so that applications will not have explicit dependencies
|
||||
on either version of Xft. To make sure that your application will be
|
||||
binary compatible with future versions of GTK+:
|
||||
* The Xft library that GTK+ uses to display anti-aliased fonts will
|
||||
undergo a major version revision in the next few months. To deal with
|
||||
this, by default, GTK+ and Pango are built so that applications will
|
||||
not have explicit dependencies on version 1 on Xft. To make sure that
|
||||
your application will be binary compatible with future versions of
|
||||
GTK+:
|
||||
|
||||
- Do not configure Pango or GTK+ with the --enable-static or
|
||||
--enable-explicit-deps options, since they will cause dependencies
|
||||
on the particular version of Xft.
|
||||
--enable-explicit otions, since they will cause dependencies on
|
||||
Xft version 1.
|
||||
|
||||
- Do not use Xft version 1 directly in your applications.
|
||||
- Do not use Xft directly in your applicatons.
|
||||
|
||||
* There is a bug in the Xft library in XFree86-4.1 and possibly previous
|
||||
versions that causes random crashes when using the Pango Xft
|
||||
backend. If you want to use Xft fonts, you should upgrade to
|
||||
XFree86-4.2.
|
||||
|
||||
* Xft support is on by default when using Xft2 but off by
|
||||
default when using Xft1. To change this default, set the
|
||||
variable GDK_USE_XFT to '1' or '0'. For instance, to
|
||||
turn on Xft fonts when Xft1.
|
||||
* Xft support is not on by default. To turn it on set the environment
|
||||
variable GDK_USE_XFT to '1'
|
||||
|
||||
GDK_USE_XFT=1
|
||||
export GDK_USE_XFT
|
||||
@@ -93,11 +93,11 @@ Release notes
|
||||
guarantees about the degree of workingness or about future
|
||||
compatibility are provided.
|
||||
|
||||
* While efforts have been made to make gdk-pixbuf robust against
|
||||
invalid images, using gdk-pixbuf to load untrusted data
|
||||
is not recommended, due to the likelyhood that there are
|
||||
additional problems where an invalid image could cause
|
||||
gdk-pixbuf to crash or worse.
|
||||
* There are known problems with some of the image loaders in the
|
||||
gdk-pixbuf library included in GTK+ where corrupted images can cause
|
||||
crashes and conceivably worse problems. Until these problems are fixed
|
||||
(we hope to have this done for 2.0.1), gdk-pixbuf should not be used
|
||||
to load untrusted data.
|
||||
|
||||
* The assumption of GLib and GTK+ by default is that filenames on the
|
||||
filesystem are encoded in UTF-8 rather than the encoding of the locale;
|
||||
@@ -110,7 +110,7 @@ Release notes
|
||||
G_BROKEN_FILENAMES=1
|
||||
export G_BROKEN_FILENAMES
|
||||
|
||||
Best integration of GTK+-2.2 with the environment is achieved by
|
||||
Best integration of GTK+-2.0 with the environment is achieved by
|
||||
using a UTF-8 locale.
|
||||
|
||||
How to report bugs
|
||||
|
||||
58
README.in
58
README.in
@@ -25,13 +25,13 @@ Installation
|
||||
|
||||
See the file 'INSTALL'
|
||||
|
||||
Release notes
|
||||
=============
|
||||
GTK+-2.0.0 Specific Notes
|
||||
=========================
|
||||
|
||||
* As compared to GTK+-1.2, the default configuration of GTK+-2 has been
|
||||
stream-lined to reduce confusion on the part of new users or users
|
||||
coming from other environments. Users used to older versions of
|
||||
GTK+ may want to make some adjustments to the default configuration.
|
||||
* The default configuration of GTK+ has been stream-lined to reduce
|
||||
confusion on the part of new users or users coming from other
|
||||
environments. Users used to older versions of GTK+ may want to make
|
||||
some adjustments to the default configuration.
|
||||
|
||||
- Emacs keybindings such as Control-A and Control-E to move to the
|
||||
ends of lines are not enabled by default in the editing widgets. To
|
||||
@@ -57,33 +57,33 @@ Release notes
|
||||
to your ~/.gtkrc-2.0
|
||||
|
||||
* The GTK+ libraries use an '_' prefix to indicate private symbols that
|
||||
must not be used by applications. On some platforms, symbols beginning
|
||||
with prefixes such as _gtk, _gdk, and _pango will be exported
|
||||
from the library, on others not. In no case can applications
|
||||
use these private symbols.
|
||||
must not be used by applications. The intention was not to export
|
||||
symbols beginning with prefixes such as _gtk, _gdk, and _pango from
|
||||
the libraries at all, but due to a bug in libtool, they are actually
|
||||
exported at the moment on some platforms (including Linux).
|
||||
Applications that use these private symbols _will_ break when
|
||||
this bug is fixed.
|
||||
|
||||
* GTK+-2.2 can be build either with Pango-1.0 and version 1 of
|
||||
the Xft library or Pango-1.2 and version 2 of the Xft library
|
||||
(Xft is used to to display anti-aliased fonts) By default, GTK+ and
|
||||
Pango are built so that applications will not have explicit dependencies
|
||||
on either version of Xft. To make sure that your application will be
|
||||
binary compatible with future versions of GTK+:
|
||||
* The Xft library that GTK+ uses to display anti-aliased fonts will
|
||||
undergo a major version revision in the next few months. To deal with
|
||||
this, by default, GTK+ and Pango are built so that applications will
|
||||
not have explicit dependencies on version 1 on Xft. To make sure that
|
||||
your application will be binary compatible with future versions of
|
||||
GTK+:
|
||||
|
||||
- Do not configure Pango or GTK+ with the --enable-static or
|
||||
--enable-explicit-deps options, since they will cause dependencies
|
||||
on the particular version of Xft.
|
||||
--enable-explicit otions, since they will cause dependencies on
|
||||
Xft version 1.
|
||||
|
||||
- Do not use Xft version 1 directly in your applications.
|
||||
- Do not use Xft directly in your applicatons.
|
||||
|
||||
* There is a bug in the Xft library in XFree86-4.1 and possibly previous
|
||||
versions that causes random crashes when using the Pango Xft
|
||||
backend. If you want to use Xft fonts, you should upgrade to
|
||||
XFree86-4.2.
|
||||
|
||||
* Xft support is on by default when using Xft2 but off by
|
||||
default when using Xft1. To change this default, set the
|
||||
variable GDK_USE_XFT to '1' or '0'. For instance, to
|
||||
turn on Xft fonts when Xft1.
|
||||
* Xft support is not on by default. To turn it on set the environment
|
||||
variable GDK_USE_XFT to '1'
|
||||
|
||||
GDK_USE_XFT=1
|
||||
export GDK_USE_XFT
|
||||
@@ -93,11 +93,11 @@ Release notes
|
||||
guarantees about the degree of workingness or about future
|
||||
compatibility are provided.
|
||||
|
||||
* While efforts have been made to make gdk-pixbuf robust against
|
||||
invalid images, using gdk-pixbuf to load untrusted data
|
||||
is not recommended, due to the likelyhood that there are
|
||||
additional problems where an invalid image could cause
|
||||
gdk-pixbuf to crash or worse.
|
||||
* There are known problems with some of the image loaders in the
|
||||
gdk-pixbuf library included in GTK+ where corrupted images can cause
|
||||
crashes and conceivably worse problems. Until these problems are fixed
|
||||
(we hope to have this done for 2.0.1), gdk-pixbuf should not be used
|
||||
to load untrusted data.
|
||||
|
||||
* The assumption of GLib and GTK+ by default is that filenames on the
|
||||
filesystem are encoded in UTF-8 rather than the encoding of the locale;
|
||||
@@ -110,7 +110,7 @@ Release notes
|
||||
G_BROKEN_FILENAMES=1
|
||||
export G_BROKEN_FILENAMES
|
||||
|
||||
Best integration of GTK+-2.2 with the environment is achieved by
|
||||
Best integration of GTK+-2.0 with the environment is achieved by
|
||||
using a UTF-8 locale.
|
||||
|
||||
How to report bugs
|
||||
|
||||
32
README.nanox
Normal file
32
README.nanox
Normal file
@@ -0,0 +1,32 @@
|
||||
Gtk port to nano-X
|
||||
|
||||
STATUS
|
||||
|
||||
Once upon a time I got a few apps working, then started merging
|
||||
the new features added by Owen (32 bit sizes for windows and buffering).
|
||||
Since then I haven't found the time to work on it:-/
|
||||
|
||||
|
||||
TODO
|
||||
|
||||
Finish internal window manager abstraction or add proper support in nano-X.
|
||||
Fix event polling.
|
||||
Implement GdkImage, GdkRgb stuff.
|
||||
Put generic region code in generic gdk and/or use the region code from nano-X.
|
||||
Fix ugly automake stuff for make dist.
|
||||
|
||||
TODO in nano-X
|
||||
|
||||
We need to be able to clip and change the background of windows at runtime
|
||||
for apps to not look so ugly!
|
||||
Fonts: wait for better nano-X font implementation.
|
||||
Properties on windows.
|
||||
Provide a pango module.
|
||||
|
||||
If you want to work on this port or get additional informnation, get in
|
||||
touch with me.
|
||||
Configure gtk with the --with-gdktarget=nanox to compile with nano-X support.
|
||||
|
||||
Paolo Molaro
|
||||
lupus@linuxcare.com
|
||||
|
||||
11
README.win32
11
README.win32
@@ -33,11 +33,16 @@ Alternative 1 also generates Microsoft import libraries (.lib), if you
|
||||
have lib.exe available. It might also work for cross-compilation from
|
||||
Unix.
|
||||
|
||||
There are hand-written makefiles for mingw (look for makefile.mingw in
|
||||
various directories), but those haven't been kept up-to-date, and
|
||||
probably won't work without editing. Sorry. If you make them work
|
||||
again, by all means do submit patches.
|
||||
|
||||
Note that I use method 1 myself. Hans Breuer has been taking care of
|
||||
the MSVC makefiles. At times, we disagree a bit about various issues,
|
||||
and for instance the makefile.msc files will not produce identically
|
||||
named DLLs and import libraries as the "autoconfiscated" makefiles and
|
||||
libtool do. If this bothers you, you will have to fix the makefiles.
|
||||
and the makefile.msc files might not produce identically named DLLs
|
||||
and import libraries as the "autoconfiscated" makefiles and libtool
|
||||
do.
|
||||
|
||||
Using GTK+ on Win32
|
||||
===================
|
||||
|
||||
200
TODO
Normal file
200
TODO
Normal file
@@ -0,0 +1,200 @@
|
||||
|
||||
Outstanding items:
|
||||
|
||||
* focus handling for GtkOptionMenu (needs the previous)
|
||||
|
||||
* implement gtk_default_draw_oval and other missing things in gtkstyle.c.
|
||||
|
||||
* enforce invariants on *_RESIZE* and *_REDRAW* flags.
|
||||
|
||||
* GtkToolTips: allocate GtkTooltipsData from memchunks
|
||||
|
||||
* Make all widget attributes configurable after the widget is created (timj).
|
||||
|
||||
* Radio buttons need to display CAN/HAS_DEFAULT correctly, if draw_inidicator
|
||||
is TRUE. (Radio buttons do not need to CAN_DEFAULT! OWT)
|
||||
|
||||
* More dialogs: Print, maybe others...
|
||||
|
||||
* make the gtk_main callbacks consistent in their add/remove behaviour.
|
||||
|
||||
* Check return values on all calls to XIC[Get/Set]Values
|
||||
|
||||
* The "--geometry" option should be supported
|
||||
|
||||
- Having gdk_init() parse the geometry option. (putting it into
|
||||
GDK means you can use XParseGeometry() without wrapping it)
|
||||
|
||||
- Add a call gdk_get_geometry() that retrieves the results
|
||||
in a form like that returned by XParseGeometry()
|
||||
|
||||
- The application then can modify the results (as would gemvt)
|
||||
then call a routine gtk_window_set_geometry() on whatever
|
||||
it considers to be its main window.
|
||||
|
||||
- Then in some manner GtkWindow takes that into account when
|
||||
setting its hints. (Probably it uses the size and position
|
||||
as the current uposition and usize, and modulates that
|
||||
be the equivalents of the X flags
|
||||
|
||||
XValue, YValue, WidthValue, HeightValue, XNegative, or YNegative
|
||||
|
||||
( You'd have to extend gdk_window_set_hints to accept the
|
||||
window gravity option to get it right. )
|
||||
|
||||
* Allow moving the separator for paned widgets by dragging
|
||||
it directly instead of using the handle.
|
||||
|
||||
* Check into XAddConnectionWatch - is this needed for XIM?
|
||||
|
||||
* Places where a _full variant is needed:
|
||||
|
||||
gtk_init_add
|
||||
gtk_menu_popup
|
||||
gtk_toolbar_prepend_element
|
||||
gtk_toolbar_insert_element
|
||||
|
||||
* Try to rationally deal with someone else deleting one of our
|
||||
windows??? This would mean keeping track of our window heirarchy
|
||||
ourselves, for one thing, and will never be safe, because of
|
||||
race conditions.
|
||||
|
||||
* Should all the default handlers really return FALSE? This can
|
||||
cause confusing presses to be sent to containers that actually
|
||||
want to get events on themselves.
|
||||
|
||||
* The menu code should skip separators during keyboard navigation,
|
||||
whether they are sensitive or insensitive.
|
||||
|
||||
* OwnerButtonPressGrab needs to go!
|
||||
|
||||
Text/Edit widget:
|
||||
|
||||
Bugs:
|
||||
|
||||
- Really big font (150 pt), plus lots of editing caused segfault
|
||||
|
||||
Improvements:
|
||||
|
||||
- Unify the key binding support in some fashion between the
|
||||
Entry and Text widget widgets, use GtkBindings for this.
|
||||
|
||||
- Figure out a way not to recompute the geometry on insertions/deletions
|
||||
which are large, but not a significant fraction of the
|
||||
entire text. (e.g., compute the changes as when the widget
|
||||
is not frozen, but without the actual scrolling)
|
||||
|
||||
- Prune the line start cache. But since it is only 68 bytes
|
||||
per line, and it is a lot faster when lines are in the cache,
|
||||
it may be better not to, at least for now.
|
||||
|
||||
- Show the non-editable state by changing colors. (Use the
|
||||
style entries for insensitive?)
|
||||
|
||||
- Multibyte support for the Text widget.
|
||||
|
||||
- Unicode support to do the multi-byte right.
|
||||
|
||||
- Support an .inputrc. (The readline one doesn't really work,
|
||||
unless it is extended because it can't represent X keysyms,
|
||||
just terminal type input)
|
||||
|
||||
- A vi mode
|
||||
|
||||
- Word wrap, instead of line folding. (Should the continuation
|
||||
characters be shown?)
|
||||
|
||||
- Horizontal scrolling
|
||||
|
||||
- Disable pasting compound text
|
||||
|
||||
- When showing background pixmap (not editable) actually set
|
||||
the background pixmap as the windows bg pixmap, to improve
|
||||
appearance on exposes. But this would require using another
|
||||
window to get the origins.
|
||||
|
||||
- In word wrap mode, break:
|
||||
|
||||
aaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
||||
|
||||
as:
|
||||
| Maximum column
|
||||
aaaaaaaaaaa bbbbbbbbbbb|
|
||||
bbbbbbbbbbbbbbbbbbbbbbb|
|
||||
bbbbbbbbb |
|
||||
|
||||
Instead of:
|
||||
|
|
||||
aaaaaaaaaaa |
|
||||
bbbbbbbbbbbbbbbbbbbbbbb|
|
||||
bbbbbbbbbbbbbbbbbbbb |
|
||||
|
||||
- Blinking cursor
|
||||
|
||||
- API's : gtk_text_clear, gtk_text_delete_lines (gint start, gint end),
|
||||
gtk_text_append/prepend, gtk_text_insert_at (gint row, gint column),
|
||||
some function to get the row/column from the x/y-coordinates of a
|
||||
mouse click, some function to get the word/line under the mouse pointer
|
||||
[ From: Stefan Jeske <jeske@braunschweig.netsurf.de> ]
|
||||
|
||||
- "changed" emitted when doing deletes on empty Text widget.
|
||||
|
||||
- Delete IC in editable->unrealize, not editable->finalize?
|
||||
|
||||
Themes
|
||||
======
|
||||
|
||||
- When a scale gets shown/hidden only queue a redraw on the
|
||||
non-window portion, not the whole area.
|
||||
|
||||
- In various places, to avoid shaping windows excessively,
|
||||
we set parent relative backgrounds. This is an ugly
|
||||
hack and needs a better solution. Plus, I don't think
|
||||
these parent-relative backgrounds always persist to
|
||||
when they are actually needed.
|
||||
|
||||
Such calls exist in: GtkButton, GtkHandeBox, GtkItem,
|
||||
GtkListItem, GtkMenu, GtkMenuItem, GtkMisc,
|
||||
GtkNoteBook, GtkOptionMenu, GtkPaned, GtkPreview,
|
||||
GtkSpinButton and GtkTreeItem.
|
||||
|
||||
- For menus and for GtkWindow's, the realize() function
|
||||
calls paint(), so that background pixmaps can be set
|
||||
ahead of time, and prevent flashing when the window is
|
||||
shown. This is an ugly hack and needs a better solution.
|
||||
|
||||
=======
|
||||
|
||||
Calendar Widget:
|
||||
|
||||
- The widget should be nicely resizeable vertical too.
|
||||
|
||||
- CALENDAR_MARGIN should be removed, uses INNER_BORDER and
|
||||
style->class->[xy]thickness insted.
|
||||
|
||||
- Flag to choose between using standard three letter abbreviated
|
||||
weekday name or just the first character from it. It looks like
|
||||
that is what most other calendar-widgets do.
|
||||
|
||||
- Arrows should resize with the header-font.
|
||||
|
||||
- The keyboard support has to be finished.
|
||||
|
||||
DND
|
||||
===
|
||||
|
||||
- Use a cursor instead of an ICON when over Motif windows,
|
||||
to get rid of the current junk that Motif leaves because
|
||||
of its XCopyArea stupidity for doing highlighting.
|
||||
|
||||
- Add a GTK_DRAG_VERIFY target flag and a "drag_data_verify"
|
||||
signal so that apps can easily check if a, say,
|
||||
text/uri-list URL looks OK during the drop.
|
||||
|
||||
- Check more for memory leaks.
|
||||
|
||||
- Drag and drop for Entry and Text widgets.
|
||||
|
||||
- Send synthetic motion events on structure changes so
|
||||
drag_enter/leave get sent properly. (See the popup
|
||||
in testdnd)
|
||||
739
TODO.xml
Normal file
739
TODO.xml
Normal file
@@ -0,0 +1,739 @@
|
||||
<!-- This is used to generate the online TODO list for GTK+ using
|
||||
the script docs/make-todo. Whenever a change to this file is
|
||||
committed to CVS,the file is run through make-todo and the online
|
||||
version updated. If you modify this file, you should check for
|
||||
parse errors by running:
|
||||
|
||||
$ docs/make-todo TODO.xml > /dev/null
|
||||
|
||||
before committing, or you may screw up the online version -->
|
||||
<todo logourl="gtk-logo-rgb.gif">
|
||||
<title>GTK+ TODO list</title>
|
||||
<section>
|
||||
<title>GDK</title>
|
||||
|
||||
<entry size="medium" status="90%" target="2.0">
|
||||
<title>Add backing store support</title>
|
||||
<description>
|
||||
<p>
|
||||
GTK+'s drawing model involves clearing to a background, and
|
||||
then drawing widgets on top of this. Without having
|
||||
backing-store support, this results in flickering in various
|
||||
situations. Backing store cannot be added widget-by-widget,
|
||||
because the drawing in a particular window is not confined
|
||||
to a single widget. Instead it needs to be added per GDK
|
||||
window.
|
||||
</p>
|
||||
<p>
|
||||
The way this is done is by having
|
||||
<tt>gdk_window_begin_paint()</tt>
|
||||
and <tt>gdk_window_end_paint()</tt> functions that
|
||||
redirect all drawing to a particular window to an offscreen
|
||||
pixmap, and then copy that offscreen pixmap back onto the
|
||||
screen when the paint operation is done. The implementation
|
||||
of this is mostly complete in the <tt>gtk-no-flicker</tt> branch of
|
||||
GTK+.
|
||||
</p>
|
||||
</description>
|
||||
<url>http://www.gtk.org/~otaylor/gtk/1.4/gdk-drawing.html</url>
|
||||
<contact>Owen Taylor <otaylor@redhat.com></contact>
|
||||
</entry>
|
||||
|
||||
<entry size="medium" status="90%" target="2.0">
|
||||
<title>32 Bit Coordinates</title>
|
||||
<description>
|
||||
<p>
|
||||
GTK+-1.2 and earlier share X's limitation on the
|
||||
size of coordinates and restrict all dimensions
|
||||
to 16 bit quantities. By clever use of X it is
|
||||
possible to lift this restriction and present a
|
||||
full 32-bit space to the user.
|
||||
</p>
|
||||
<p>
|
||||
There are some difficulties with performance in this
|
||||
approach - mostly because scrolling can involve mapping and
|
||||
unmapping lots of widgets, but in general, current
|
||||
trials in this area seem to work pretty well.
|
||||
</p>
|
||||
</description>
|
||||
<url>http://www.gtk.org/~otaylor/gtk/1.4/gdk-drawing.html</url>
|
||||
<contact>Owen Taylor <otaylor@redhat.com></contact>
|
||||
</entry>
|
||||
|
||||
<entry size="small" status="0%" target="2.0">
|
||||
<title>Customizable double-click timeout</title>
|
||||
<description>
|
||||
<p>
|
||||
The current fixed double-click timeout in GTK+
|
||||
is too small for some users. This needs to be
|
||||
customizable
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
<bugs>#3958</bugs>
|
||||
</entry>
|
||||
|
||||
<entry size="small" status="0%" target="2.0">
|
||||
<title>Make color handling more convenient</title>
|
||||
<description>
|
||||
<p>
|
||||
Add some color convenience functions; such as a way to get an
|
||||
allocated GdkColor from GdkRGB, and export functions from gtkstyle.c
|
||||
that lighten/darken a given color, and set a color from HSV in
|
||||
addition to RGB. Also, consider having static variables that contain
|
||||
preallocated common colors (gdk_blue, gdk_red, etc.), the problem
|
||||
being colormap issues.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="small" status="0%" target="2.0">
|
||||
<title>Cursors</title>
|
||||
<description>
|
||||
<p>
|
||||
Two tasks: 1) move the cursors in the cursor font that people actually
|
||||
care about to the top of the gdkcursor.h header file, and put a nice
|
||||
list of the 15 cursors people actually care about in the docs 2) if
|
||||
the cursor font lacks some commonly-useful cursors (like magnifying
|
||||
glass), add these cursors to gdkcursor.h and then emulate them in
|
||||
gdk_cursor_new by transparently creating the cursor from a bitmap.
|
||||
The list of Qt cursors is worth http://doc.trolltech.com/qcursor.html
|
||||
looking at for this task.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="medium" status="100%" target="2.0">
|
||||
<title>Make GdkRGB work on any visual</title>
|
||||
<description>
|
||||
<p>
|
||||
GdkRGB should be able to render to an arbitrary visual
|
||||
(i.e. the visual shouldn't be fixed at gdk_rgb_init()
|
||||
time). This will break gdk_rgb_gc_set_foreground() and
|
||||
friends, though.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
</section> <!-- GDK -->
|
||||
|
||||
<section>
|
||||
<title>Internationalization</title>
|
||||
|
||||
<entry size="big" status="90%" target="2.0">
|
||||
<title>Integrate Pango</title>
|
||||
<description>
|
||||
<p>
|
||||
The purpose of the Pango project is to provide a system for
|
||||
layout and rendering of internationalized text. It handles
|
||||
most of the issues necessary to
|
||||
</p>
|
||||
</description>
|
||||
<url>http://www.pango.org</url>
|
||||
<contact>gtk-i18n-list@redhat.com</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="medium" status="90%" target="2.0">
|
||||
<title>Switch to using UTF-8</title>
|
||||
<description>
|
||||
<p>
|
||||
This is closely related to Pango integration. Pango deals
|
||||
with all strings in terms of UTF-8; by switching GTK+ over
|
||||
to UTF-8 we make it considerably simpler for developers to
|
||||
support multiple languages properly while still retaining
|
||||
a large degree of compatibility with existing programs.
|
||||
</p>
|
||||
<p>
|
||||
Some work has already been done on this as part of the Win32
|
||||
port, since the Win32 port is currently using UTF-8 for all
|
||||
strings. In general, this should be an easy job; the hardest
|
||||
parts are places like GtkFileSelection, cut and paste, and
|
||||
input method support where there is interaction between GTK+
|
||||
and the operating system.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-i18n-list@redhat.com</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="big" status="60%" target="2.0">
|
||||
<title>Rewrite Input Method Support</title>
|
||||
<description>
|
||||
<p>
|
||||
Support for Input Methods is GTK+-1.2 is done via XIM, with
|
||||
supported styles being over-the-spot and the root-window
|
||||
styles. However, the over-the-spot style is not going to
|
||||
work well with the Pango integration, since it relies on the
|
||||
text rendering in the program being done in the standard
|
||||
Xlib style, so it will be necessary to also support
|
||||
on-the-spot input. On-the-spot input is done by supplying a
|
||||
set of callbacks that are invoked by the input methods.
|
||||
</p>
|
||||
<p>
|
||||
GTK+-2.0 will have a new system with loadable input method
|
||||
modules. These modules can either be implemented using XIM,
|
||||
or written from scratch.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-i18n-list@redhat.com</contact>
|
||||
</entry>
|
||||
</section> <!-- i18n -->
|
||||
|
||||
<section>
|
||||
<title>GTK+ Core</title>
|
||||
|
||||
<entry size="big" status="60%" target="2.0">
|
||||
<title>GLib based object and type system</title>
|
||||
<description>
|
||||
<p>
|
||||
The GTK+ object system is already in use in quite a few different
|
||||
non-GUI applications; it would be desirable for these uses
|
||||
to have the object and type systems separated from the GUI portions
|
||||
of GTK+ and be generalized for non-GUI usage.
|
||||
</p>
|
||||
</description>
|
||||
<contact>Tim Janik <timj@gtk.org></contact>
|
||||
</entry>
|
||||
|
||||
<entry size="big" status="1%" target="2.0">
|
||||
<title>Overall callback improvements</title>
|
||||
<description>
|
||||
<p>
|
||||
The GTK+ type and signal systems need significant improvements to
|
||||
allow signal creation with default handlers from language bindings
|
||||
and to aid language bindings in deriving new objects.
|
||||
One aspect of this is the Closure support, recently suggested by
|
||||
Karl Nelson <kenelson@ece.ucdavis.edu>, but this also
|
||||
requires a GLib based type and parameter system (ties in with
|
||||
"GLib based object and type system").
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="big" status="0%" target="2.0">
|
||||
<title>State change notification</title>
|
||||
<description>
|
||||
<p>
|
||||
GTK+ objects emit various types of signals, some to perform
|
||||
arbitrary actions, some to allow customization from user code,
|
||||
and some signals are emitted to notify of certain changes
|
||||
of an object. For the latter, what really is required is a
|
||||
gneneric signal that can be used to monitor *any* kind of object
|
||||
changes. For that, all object changes need to be routed through
|
||||
a central point (otherwise the signal emissions are spread all
|
||||
over the object implementation), i.e. an object argument setter.
|
||||
The state change notification signal doesn't need to be emitted
|
||||
syncronously, in fact, it's probably most effective to always
|
||||
emit this asynchronously, so subsequent changes are accumulated.
|
||||
</p>
|
||||
</description>
|
||||
<contact>Tim Janik <timj@gtk.org></contact>
|
||||
</entry>
|
||||
|
||||
<entry size="big" status="5%" target="2.0">
|
||||
<title>Widget as sensitivity/grab state machine</title>
|
||||
<description>
|
||||
<p>
|
||||
Maintenance of pointer and keybnoard grabs is currently very
|
||||
tedious and error-prone, most widget's cook up their own stuff
|
||||
in this regard.
|
||||
By moving the general concept of "Grabs" to the GTK+ level as
|
||||
a widget state, and providing a new signal for alterations of
|
||||
a widget's state ("visible", "visible+insensitive",
|
||||
"visible+grab", "hidden", "hidden+insensitive", etc.), things
|
||||
can be unified and more stabelize. A couple of bugs, such as
|
||||
insensitive widgets still holding a grab, or buttons that
|
||||
still think they are depressed when hidden, will be squeezed
|
||||
automatically with that.
|
||||
</p>
|
||||
</description>
|
||||
<contact>Tim Janik <timj@gtk.org></contact>
|
||||
</entry>
|
||||
|
||||
<entry size="big" status="0%" target="2.0">
|
||||
<title>Allow argument customization</title>
|
||||
<description>
|
||||
<p>
|
||||
Many types of object arguments (expander style in the CList,
|
||||
default padding in button boxes, etc), conceptually go with
|
||||
the theme, or as user preferences; they should not be set by
|
||||
a particular program.
|
||||
</p>
|
||||
<p>
|
||||
There needs to be a mechanism for themes to be able to
|
||||
control these arguments from the RC file.
|
||||
</p>
|
||||
</description>
|
||||
</entry>
|
||||
|
||||
<entry size="medium" status="0%" target="2.0">
|
||||
<title>Allow global customization</title>
|
||||
<description>
|
||||
<p>
|
||||
There are a number of global parameters in GTK+ and GDK that should be
|
||||
customizable by the user, such as the double-click timeout,
|
||||
or whether widgets should be backing-stored by default.
|
||||
</p>
|
||||
<p>
|
||||
If we had argument customization from an RC file, it might
|
||||
be possible to do this simply with a global object with
|
||||
arguments for the various global parameters that was
|
||||
customized in the same fashion as object arguments.
|
||||
</p>
|
||||
</description>
|
||||
</entry>
|
||||
|
||||
<entry size="small" status="0%" target="2.0">
|
||||
<title>Gtk+ Modules installation directory</title>
|
||||
<description>
|
||||
<p>
|
||||
Gtk+ needs to support an extra lib/ directory, to search
|
||||
for dynamically loadable modules, it also needs to support
|
||||
an environment variable to specify module search paths.
|
||||
This has quite some cross-platform issues with the GModule
|
||||
code (especially on AIX).
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
|
||||
<entry size="small" status="20%" target="2.0">
|
||||
<title>Convenient widget setup</title>
|
||||
<description>
|
||||
<p>
|
||||
Make it simpler to set all the basic attributes of a widget. Might
|
||||
want set_tooltip(), set_accel(), set_color(FOREGROUND, color),
|
||||
set_min_size() (usize does this, but needs a rename), set_whatsthis(),
|
||||
etc. set_accel() may not work for all widgets, may need a convenience
|
||||
API for button and label accelerators specifically.
|
||||
</p>
|
||||
<p>
|
||||
The idea is that it should be easy, out of the box, to set up a widget
|
||||
with all the nice touches and features the widget really should
|
||||
have. Users shouldn't need to do their own convenience functions for
|
||||
this.
|
||||
</p>
|
||||
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="medium" status="0%" target="> 2.0">
|
||||
<title>Make selections/clipboard more convenient</title>
|
||||
<description>
|
||||
<p>
|
||||
Make GtkSelectionData more like the MIME blobs in Swing and Qt.
|
||||
Consider a GtkClipboard object to simplify cut-and-paste handling.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
|
||||
<entry size="small" status="80%" target="2.0">
|
||||
<title>Stock label/icon system</title>
|
||||
<description>
|
||||
<p>
|
||||
A system like GnomeStock for getting a standard labels/icons
|
||||
for menus and toolbars. Should be extensible by themes, and
|
||||
by libgnomeui. Some work already done on this.
|
||||
</p>
|
||||
</description>
|
||||
<contact>hp@redhat.com</contact>
|
||||
</entry>
|
||||
|
||||
|
||||
<entry size="big" status="0%" target="> 2.0">
|
||||
<title>Session Management</title>
|
||||
<description>
|
||||
<p>
|
||||
Look in to session management. Consider whether to use
|
||||
X11R6 SM, or some custom spec shared with KDE. Create
|
||||
GTK+ API for this.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="big" status="0%" target="> 2.0">
|
||||
<title>Online help enhancements</title>
|
||||
<description>
|
||||
<p>
|
||||
Look at a small "What's This" popup widget,
|
||||
and a What's This system in general (this part
|
||||
could maybe be done for 2.0). A more difficult, probably
|
||||
a post-2.0 task, is to integrate a very simple little
|
||||
help browser gizmo into GTK.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
|
||||
<entry size="medium" status="0%" target="2.0">
|
||||
<title>GUI-editable means of user configuration</title>
|
||||
<description>
|
||||
<p>
|
||||
Need to be able to set double click time, whether cursors
|
||||
blink, etc., from a control panel type of deal.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
</section> <!-- Core -->
|
||||
|
||||
<section>
|
||||
<title>GTK+ Widgets</title>
|
||||
|
||||
<entry size="small" status="100%" target="2.0">
|
||||
<title>Make GtkFrame use a label</title>
|
||||
<description>
|
||||
<p>
|
||||
The title of a frame should simply be another child widget
|
||||
which, by default, holds a label widget. This will important
|
||||
with Pango where proper text behavior will be more complex to
|
||||
implement, but is also useful for certain user-interface
|
||||
designs. (It can be useful, for example, to put a checkbutton
|
||||
in that slot.)
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="big" status="90%" target="2.0">
|
||||
<title>Replace GtkText Widget</title>
|
||||
<description>
|
||||
<p>
|
||||
The GtkText widget is badly in need of replacement, since it
|
||||
is buggy and insufficiently feature rich. This is being done
|
||||
using Havoc Pennington's port of the Tk Text widget.
|
||||
</p>
|
||||
<p>
|
||||
As part of this job <a href="http://www.pango.org">Pango</a>
|
||||
support is being added to the replacement. The structure of
|
||||
the Tk text widget port is suited to this as it works
|
||||
paragraph-by-paragraph, and Pango works at a sub-paragraph
|
||||
scale. The main remaining tasks here are to implement
|
||||
incremental reflow to make performance acceptable and to
|
||||
implement embedded pixmaps and widgets.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="small" status="20%" target="2.0">
|
||||
<title>Improve Radio/Checkbutton Look</title>
|
||||
<description>
|
||||
<p>
|
||||
The default look for the radio and checkbuttons is both
|
||||
unattractive and not friendly to the user . Motif did not
|
||||
get this one right, and we should not keep on following the
|
||||
Motif look. The right thing here is probably to copy the
|
||||
Windows appearance for these controls fairly closely. This
|
||||
will fit in with well with the rest of the GTK+ look.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="small" status="99%" target="2.0">
|
||||
<title>Improve Submenu Navigation</title>
|
||||
<description>
|
||||
<p>
|
||||
Navigating through a deep menu tree in GTK+ is currently
|
||||
quite tricky, because as soon as one leaves a menu item,
|
||||
the submenu disappears. The way that the Macintosh is
|
||||
reputed to handle this is that to pop down the current
|
||||
submenu, you have to leave the triangle defined by the
|
||||
upper left hand corner of the menu item and right
|
||||
side of the submenu.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="small" status="0%" target="2.0 ?">
|
||||
<title>Improve Spinbutton Look</title>
|
||||
<description>
|
||||
<p>
|
||||
Spinbuttons currently appear to have lumpy boundaries,
|
||||
because sides of the arrows aren't at an angle that
|
||||
meshes well with the pixel grid. However, fixing this
|
||||
would require making the spinbuttons narrower and
|
||||
harder to hit. This points out a general problem with
|
||||
the spinbutton (and the arrows on the scrollbars) - the
|
||||
target area for clicks actually the bounding box of the
|
||||
arrows, but the user thinks that they must click on the
|
||||
arrows themselves. It would probably be more friendly
|
||||
to use a square button with an arrow drawn on top instead
|
||||
of a arrow-shaped button, the approach taken by most other
|
||||
windowing systems.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="big" status="90%" target="2.0">
|
||||
<title>Supply horizontable/vertical wrapping boxes</title>
|
||||
<description>
|
||||
<p>
|
||||
An often requested feature are wrapping containers, at this
|
||||
point, gimp's development version already uses such widgets:
|
||||
horizontable/vertical wrap boxes, that need to go into 2.0
|
||||
proper at some point.
|
||||
</p>
|
||||
</description>
|
||||
<contact>Tim Janik <timj@gtk.org></contact>
|
||||
</entry>
|
||||
|
||||
<entry size="medium" status="90%" target="2.0">
|
||||
<title>Improved generic combo support</title>
|
||||
<description>
|
||||
<p>
|
||||
Gtk+'s combo box has several drawbacks in design and
|
||||
implementation. An new attempt at providing the combo box
|
||||
functionality with improved flexibility has been made with
|
||||
the GtkClueHunter widget, sitting in the CVS module "gle".
|
||||
</p>
|
||||
</description>
|
||||
<contact>Tim Janik <timj@gtk.org></contact>
|
||||
</entry>
|
||||
|
||||
<entry size="big" status="40%" target="2.0?">
|
||||
<title>Add unified set of List/Tree/Grid widgets</title>
|
||||
<description>
|
||||
<p>
|
||||
Currently, GTK+ has a large number of list and tree widgets
|
||||
(GtkList, GtkTree, GtkCList, GtkCTree), none of which are
|
||||
ideal. The GtkList and GtkTree widgets perform badly on large
|
||||
number of items. (GtkTree widget is also quite buggy.) GtkCList
|
||||
and GtkCTree mostly solve the size problem, but are quite
|
||||
complex and, despite that, not very flexible. They are limited to
|
||||
displaying pixmaps and text, and can neither support arbitrary
|
||||
widgets nor custom drawing functions.
|
||||
</p>
|
||||
<p>
|
||||
In addition to list and tree widgets, a closely related need
|
||||
is a sheet widget that displays a (possibly editable) 2-D grid.
|
||||
It would be desirable to have a complete set of widgets that
|
||||
could be presented as the one-true-solution for these needs.
|
||||
Model/View techniques could be used effectively to increase
|
||||
both the simplicity and power of the interfaces.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="small" status="0%" target="2.0">
|
||||
<title>GtkImage</title>
|
||||
<description>
|
||||
<p>
|
||||
gdk-pixbuf is moving to become a GTK+ dependency, a new image-display
|
||||
widget is thus needed.
|
||||
</p>
|
||||
</description>
|
||||
<contact>hp@redhat.com</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="small" status="0%" target="2.0">
|
||||
<title>Attempt to fix GtkStatusbar</title>
|
||||
<description>
|
||||
<p>
|
||||
GtkStatusbar is too inconvenient to use.
|
||||
The only non-breakage-inducing fix we could
|
||||
come up with is to permit 0 as a context ID, so you
|
||||
don't have to use gtk_statusbar_get_context_id().
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="small" status="95%" target="2.0">
|
||||
<title>Decruft GtkProgress, GtkProgressbar</title>
|
||||
<description>
|
||||
<p>UPDATE: this is done, just need to apply the patch.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This interface is just a disaster of overcomplexity;
|
||||
it should pretty much just be set_percentage(),
|
||||
pulse() (to move during activity mode), and set_text().
|
||||
There's no reason that there are two objects, should
|
||||
just be one interface. Almost all the functions
|
||||
that currently exist should be deprecated.
|
||||
</p>
|
||||
</description>
|
||||
<contact>hp@redhat.com</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="small" status="0%" target="2.0">
|
||||
<title>Entry validation hooks</title>
|
||||
<description>
|
||||
<p>
|
||||
Simple hooks for validation in a GtkEntry. Pretty much just a
|
||||
"validate" callback which takes a string (current entry contents) and
|
||||
returns either VALID, INVALID, or COULDBEVALID. Then the
|
||||
GtkEntry calls this function if it's set, and does the appropriate
|
||||
UI things. GTK should come with validators for int and float,
|
||||
see GtkSpinButton where these are already implemented.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="big" status="0%" target="> 2.0">
|
||||
<title>pseudo-MDI Widget</title>
|
||||
<description>
|
||||
<p>
|
||||
Add a widget that lets you rearrange various views (similar to many
|
||||
IDEs, like Visual SlickEdit or JBuilder). Basically there should be a
|
||||
central slot and 4 slots around the sides; each slot holds one or more
|
||||
views. If two views are dropped in the same slot, then a notebook is
|
||||
created displaying both views. If a view is dropped outside the
|
||||
application window, it becomes a standalone window. It should be
|
||||
possible to restrict whether a view can be dropped on the sides,
|
||||
horizontal/vertical sides only, in the central content area, or in
|
||||
any of those places.
|
||||
</p>
|
||||
<p>
|
||||
(Havoc has a proposed interface for this, mail hp@redhat.com)
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="medium" status="0%" target="> 2.0">
|
||||
<title>Icon List Widget</title>
|
||||
<description>
|
||||
<p>
|
||||
A simple icon list widget, suitable for creating a file selector or
|
||||
the like.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="medium" status="0%" target="> 2.0">
|
||||
<title>Dock widget</title>
|
||||
<description>
|
||||
<p>
|
||||
Add a widget like GnomeDock (perhaps based on GnomeDock)
|
||||
that allows people to put rearrangeable toolbars, menubars, etc.
|
||||
around a central content area. The widget should have hooks for
|
||||
saving the current positions of the various docked bars.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="big" status="0%" target="> 2.0">
|
||||
<title>Canvas widget</title>
|
||||
<description>
|
||||
<p>
|
||||
Figure out how to get GnomeCanvas or a derived work into GTK+ itself.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="medium" status="57%" target="2.0">
|
||||
<title>Menu scroll</title>
|
||||
<description>
|
||||
<p>
|
||||
When menus are bigger than the screen, allow scrolling
|
||||
as on the Mac.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="medium" status="20%" target="2.0">
|
||||
<title>Toolbar/menubar wrap</title>
|
||||
<description>
|
||||
<p>
|
||||
When toolbars and menubars are too wide, do some sort of
|
||||
wrapping or drop-down deal. (See Windows/Mac apps for examples.)
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="small" status="0%" target="2.0">
|
||||
<title>Blink cursor in GtkEntry</title>
|
||||
<description>
|
||||
<p>
|
||||
Make the cursor optionally blink in GtkEntry. Beware, the entry code
|
||||
is somewhat in flux; mail Owen and ask.
|
||||
</p>
|
||||
</description>
|
||||
<contact>otaylor@redhat.com</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="small" status="100%" target="2.0">
|
||||
<title>Don't highlight first menu item when menus come up</title>
|
||||
<description>
|
||||
<p>
|
||||
Keep GtkMenu from prelighting the first menu item.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="small" status="100%" target="2.0">
|
||||
<title>Integrate new color selector</title>
|
||||
<description>
|
||||
<p>
|
||||
There's a new color selector in CVS (module gnome-colorsel),
|
||||
it needs to be folded in to GTK and any remaining issues resolved.
|
||||
(This new selector is API-compatible with the old one, and
|
||||
still called GtkColorSelector).
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="medium" status="70%" target="2.0">
|
||||
<title>Write new font selector</title>
|
||||
<description>
|
||||
<p>
|
||||
Pango introduces a new font handling system,
|
||||
replacing the XLFD system. Need a font selector for this.
|
||||
The XLFD selector should probably remain, for apps where
|
||||
it makes sense (like gnome-terminal probably).
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="small" status="0%" target="2.0">
|
||||
<title>Stack Widget</title>
|
||||
<description>
|
||||
<p>
|
||||
Jonathan has a widget like a tabless/frameless notebook, used for
|
||||
something like the GNOME control center where you want to toggle which
|
||||
widget is visible to the user. Needs to be cleaned up and considered
|
||||
for GTK.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org, jrb@redhat.com</contact>
|
||||
</entry>
|
||||
|
||||
<entry size="small" status="0%" target="2.0">
|
||||
<title>Clean up GtkNotebook</title>
|
||||
<description>
|
||||
<p>
|
||||
GtkNotebook currently breaks GTK invariants about
|
||||
mapping/visibility/etc., needs fixing.
|
||||
</p>
|
||||
</description>
|
||||
<contact>gtk-devel-list@gnome.org</contact>
|
||||
</entry>
|
||||
|
||||
</section> <!-- GTK+ -->
|
||||
</todo>
|
||||
|
||||
@@ -29,11 +29,8 @@
|
||||
#undef HAVE_STPCPY
|
||||
#undef HAVE_XSHM_H
|
||||
#undef HAVE_SHAPE_EXT
|
||||
#undef HAVE_SOLARIS_XINERAMA
|
||||
#undef HAVE_SYS_SELECT_H
|
||||
#undef HAVE_SYS_TIME_H
|
||||
#undef HAVE_XFREE_XINERAMA
|
||||
#undef HAVE_XINERAMA
|
||||
#undef HAVE_WINSOCK_H
|
||||
#undef HAVE_WINTAB
|
||||
#undef HAVE_XCONVERTCASE
|
||||
|
||||
339
acinclude.m4
339
acinclude.m4
@@ -10,3 +10,342 @@ AC_DEFUN([GLIB_AC_DIVERT_BEFORE_HELP],
|
||||
[AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
|
||||
$1
|
||||
AC_DIVERT_POP()])])])
|
||||
|
||||
|
||||
# Macro to add for using GNU gettext.
|
||||
# Ulrich Drepper <drepper@cygnus.com>, 1995.
|
||||
#
|
||||
# Modified to never use included libintl.
|
||||
# Owen Taylor <otaylor@redhat.com>, 12/15/1998
|
||||
#
|
||||
#
|
||||
# This file can be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU Public License
|
||||
# but which still want to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code is *not* freely available.
|
||||
|
||||
# serial 5
|
||||
|
||||
AC_DEFUN(AM_GTK_WITH_NLS,
|
||||
[AC_MSG_CHECKING([whether NLS is requested])
|
||||
dnl Default is enabled NLS
|
||||
AC_ARG_ENABLE(nls,
|
||||
[ --disable-nls do not use Native Language Support],
|
||||
USE_NLS=$enableval, USE_NLS=yes)
|
||||
AC_MSG_RESULT($USE_NLS)
|
||||
AC_SUBST(USE_NLS)
|
||||
|
||||
USE_INCLUDED_LIBINTL=no
|
||||
|
||||
dnl If we use NLS figure out what method
|
||||
if test "$USE_NLS" = "yes"; then
|
||||
# AC_DEFINE(ENABLE_NLS)
|
||||
# AC_MSG_CHECKING([whether included gettext is requested])
|
||||
# AC_ARG_WITH(included-gettext,
|
||||
# [ --with-included-gettext use the GNU gettext library included here],
|
||||
# nls_cv_force_use_gnu_gettext=$withval,
|
||||
# nls_cv_force_use_gnu_gettext=no)
|
||||
# AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
|
||||
nls_cv_force_use_gnu_gettext="no"
|
||||
|
||||
nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
|
||||
if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
|
||||
dnl User does not insist on using GNU NLS library. Figure out what
|
||||
dnl to use. If gettext or catgets are available (in this order) we
|
||||
dnl use this. Else we have to fall back to GNU NLS library.
|
||||
dnl catgets is only used if permitted by option --with-catgets.
|
||||
nls_cv_header_intl=
|
||||
nls_cv_header_libgt=
|
||||
CATOBJEXT=NONE
|
||||
|
||||
AC_CHECK_HEADER(libintl.h,
|
||||
[AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc,
|
||||
[AC_TRY_LINK([#include <libintl.h>], [return (int) dgettext ("","")],
|
||||
gt_cv_func_dgettext_libc=yes, gt_cv_func_dgettext_libc=no)])
|
||||
|
||||
if test "$gt_cv_func_dgettext_libc" != "yes"; then
|
||||
AC_CHECK_LIB(intl, bindtextdomain,
|
||||
[AC_CACHE_CHECK([for dgettext in libintl],
|
||||
gt_cv_func_dgettext_libintl,
|
||||
[AC_CHECK_LIB(intl, dgettext,
|
||||
gt_cv_func_dgettext_libintl=yes,
|
||||
gt_cv_func_dgettext_libintl=no)],
|
||||
gt_cv_func_dgettext_libintl=no)])
|
||||
fi
|
||||
|
||||
if test "$gt_cv_func_dgettext_libintl" = "yes"; then
|
||||
LIBS="$LIBS -lintl";
|
||||
fi
|
||||
|
||||
if test "$gt_cv_func_dgettext_libc" = "yes" \
|
||||
|| test "$gt_cv_func_dgettext_libintl" = "yes"; then
|
||||
AC_DEFINE(HAVE_GETTEXT)
|
||||
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
|
||||
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
|
||||
if test "$MSGFMT" != "no"; then
|
||||
AC_CHECK_FUNCS(dcgettext)
|
||||
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
|
||||
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
|
||||
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
|
||||
AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
|
||||
return _nl_msg_cat_cntr],
|
||||
[CATOBJEXT=.gmo
|
||||
DATADIRNAME=share],
|
||||
[CATOBJEXT=.mo
|
||||
DATADIRNAME=lib])
|
||||
INSTOBJEXT=.mo
|
||||
fi
|
||||
fi
|
||||
|
||||
# Added by Martin Baulig 12/15/98 for libc5 systems
|
||||
if test "$gt_cv_func_dgettext_libc" != "yes" \
|
||||
&& test "$gt_cv_func_dgettext_libintl" = "yes"; then
|
||||
INTLLIBS=-lintl
|
||||
LIBS=`echo $LIBS | sed -e 's/-lintl//'`
|
||||
fi
|
||||
])
|
||||
|
||||
if test "$CATOBJEXT" = "NONE"; then
|
||||
AC_MSG_CHECKING([whether catgets can be used])
|
||||
AC_ARG_WITH(catgets,
|
||||
[ --with-catgets use catgets functions if available],
|
||||
nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
|
||||
AC_MSG_RESULT($nls_cv_use_catgets)
|
||||
|
||||
if test "$nls_cv_use_catgets" = "yes"; then
|
||||
dnl No gettext in C library. Try catgets next.
|
||||
AC_CHECK_LIB(i, main)
|
||||
AC_CHECK_FUNC(catgets,
|
||||
[AC_DEFINE(HAVE_CATGETS)
|
||||
INTLOBJS="\$(CATOBJS)"
|
||||
AC_PATH_PROG(GENCAT, gencat, no)dnl
|
||||
# if test "$GENCAT" != "no"; then
|
||||
# AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
|
||||
# if test "$GMSGFMT" = "no"; then
|
||||
# AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
|
||||
# [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
|
||||
# fi
|
||||
# AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
|
||||
# [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
|
||||
# USE_INCLUDED_LIBINTL=yes
|
||||
# CATOBJEXT=.cat
|
||||
# INSTOBJEXT=.cat
|
||||
# DATADIRNAME=lib
|
||||
# INTLDEPS='$(top_builddir)/intl/libintl.a'
|
||||
# INTLLIBS=$INTLDEPS
|
||||
# LIBS=`echo $LIBS | sed -e 's/-lintl//'`
|
||||
# nls_cv_header_intl=intl/libintl.h
|
||||
# nls_cv_header_libgt=intl/libgettext.h
|
||||
# fi
|
||||
])
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$CATOBJEXT" = "NONE"; then
|
||||
dnl Neither gettext nor catgets in included in the C library.
|
||||
dnl Fall back on GNU gettext library.
|
||||
nls_cv_use_gnu_gettext=yes
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$nls_cv_use_gnu_gettext" != "yes"; then
|
||||
AC_DEFINE(ENABLE_NLS)
|
||||
else
|
||||
# Unset this variable since we use the non-zero value as a flag.
|
||||
CATOBJEXT=
|
||||
# dnl Mark actions used to generate GNU NLS library.
|
||||
# INTLOBJS="\$(GETTOBJS)"
|
||||
# AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
|
||||
# [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
|
||||
# AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
|
||||
# AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
|
||||
# [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
|
||||
# AC_SUBST(MSGFMT)
|
||||
# USE_INCLUDED_LIBINTL=yes
|
||||
# CATOBJEXT=.gmo
|
||||
# INSTOBJEXT=.mo
|
||||
# DATADIRNAME=share
|
||||
# INTLDEPS='$(top_builddir)/intl/libintl.a'
|
||||
# INTLLIBS=$INTLDEPS
|
||||
# LIBS=`echo $LIBS | sed -e 's/-lintl//'`
|
||||
# nls_cv_header_intl=intl/libintl.h
|
||||
# nls_cv_header_libgt=intl/libgettext.h
|
||||
fi
|
||||
|
||||
dnl Test whether we really found GNU xgettext.
|
||||
if test "$XGETTEXT" != ":"; then
|
||||
dnl If it is no GNU xgettext we define it as : so that the
|
||||
dnl Makefiles still can work.
|
||||
if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
|
||||
: ;
|
||||
else
|
||||
AC_MSG_RESULT(
|
||||
[found xgettext program is not GNU xgettext; ignore it])
|
||||
XGETTEXT=":"
|
||||
fi
|
||||
fi
|
||||
|
||||
# We need to process the po/ directory.
|
||||
POSUB=po
|
||||
else
|
||||
DATADIRNAME=share
|
||||
nls_cv_header_intl=intl/libintl.h
|
||||
nls_cv_header_libgt=intl/libgettext.h
|
||||
fi
|
||||
AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
|
||||
AC_OUTPUT_COMMANDS(
|
||||
[case "$CONFIG_FILES" in *po/Makefile.in*)
|
||||
sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
|
||||
esac])
|
||||
|
||||
|
||||
# # If this is used in GNU gettext we have to set USE_NLS to `yes'
|
||||
# # because some of the sources are only built for this goal.
|
||||
# if test "$PACKAGE" = gettext; then
|
||||
# USE_NLS=yes
|
||||
# USE_INCLUDED_LIBINTL=yes
|
||||
# fi
|
||||
|
||||
dnl These rules are solely for the distribution goal. While doing this
|
||||
dnl we only have to keep exactly one list of the available catalogs
|
||||
dnl in configure.in.
|
||||
for lang in $ALL_LINGUAS; do
|
||||
GMOFILES="$GMOFILES $lang.gmo"
|
||||
POFILES="$POFILES $lang.po"
|
||||
done
|
||||
|
||||
dnl Make all variables we use known to autoconf.
|
||||
AC_SUBST(USE_INCLUDED_LIBINTL)
|
||||
AC_SUBST(CATALOGS)
|
||||
AC_SUBST(CATOBJEXT)
|
||||
AC_SUBST(DATADIRNAME)
|
||||
AC_SUBST(GMOFILES)
|
||||
AC_SUBST(INSTOBJEXT)
|
||||
AC_SUBST(INTLDEPS)
|
||||
AC_SUBST(INTLLIBS)
|
||||
AC_SUBST(INTLOBJS)
|
||||
AC_SUBST(POFILES)
|
||||
AC_SUBST(POSUB)
|
||||
])
|
||||
|
||||
AC_DEFUN(AM_GTK_GNU_GETTEXT,
|
||||
[AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AC_PROG_RANLIB])dnl
|
||||
AC_REQUIRE([AC_ISC_POSIX])dnl
|
||||
AC_REQUIRE([AC_HEADER_STDC])dnl
|
||||
AC_REQUIRE([AC_C_CONST])dnl
|
||||
AC_REQUIRE([AC_C_INLINE])dnl
|
||||
AC_REQUIRE([AC_TYPE_OFF_T])dnl
|
||||
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
|
||||
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
|
||||
AC_REQUIRE([AC_FUNC_MMAP])dnl
|
||||
|
||||
AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
|
||||
unistd.h sys/param.h])
|
||||
AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
|
||||
strdup __argz_count __argz_stringify __argz_next])
|
||||
|
||||
if test "${ac_cv_func_stpcpy+set}" != "set"; then
|
||||
AC_CHECK_FUNCS(stpcpy)
|
||||
fi
|
||||
if test "${ac_cv_func_stpcpy}" = "yes"; then
|
||||
AC_DEFINE(HAVE_STPCPY)
|
||||
fi
|
||||
|
||||
AM_LC_MESSAGES
|
||||
AM_GTK_WITH_NLS
|
||||
|
||||
if test "x$CATOBJEXT" != "x"; then
|
||||
if test "x$ALL_LINGUAS" = "x"; then
|
||||
LINGUAS=
|
||||
else
|
||||
AC_MSG_CHECKING(for catalogs to be installed)
|
||||
NEW_LINGUAS=
|
||||
for lang in ${LINGUAS=$ALL_LINGUAS}; do
|
||||
case "$ALL_LINGUAS" in
|
||||
*$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
|
||||
esac
|
||||
done
|
||||
LINGUAS=$NEW_LINGUAS
|
||||
AC_MSG_RESULT($LINGUAS)
|
||||
fi
|
||||
|
||||
dnl Construct list of names of catalog files to be constructed.
|
||||
if test -n "$LINGUAS"; then
|
||||
for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl The reference to <locale.h> in the installed <libintl.h> file
|
||||
dnl must be resolved because we cannot expect the users of this
|
||||
dnl to define HAVE_LOCALE_H.
|
||||
if test $ac_cv_header_locale_h = yes; then
|
||||
INCLUDE_LOCALE_H="#include <locale.h>"
|
||||
else
|
||||
INCLUDE_LOCALE_H="\
|
||||
/* The system does not provide the header <locale.h>. Take care yourself. */"
|
||||
fi
|
||||
AC_SUBST(INCLUDE_LOCALE_H)
|
||||
|
||||
dnl Determine which catalog format we have (if any is needed)
|
||||
dnl For now we know about two different formats:
|
||||
dnl Linux libc-5 and the normal X/Open format
|
||||
test -d intl || mkdir intl
|
||||
if test "$CATOBJEXT" = ".cat"; then
|
||||
AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
|
||||
|
||||
dnl Transform the SED scripts while copying because some dumb SEDs
|
||||
dnl cannot handle comments.
|
||||
sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
|
||||
fi
|
||||
dnl po2tbl.sed is always needed.
|
||||
sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
|
||||
$srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
|
||||
|
||||
dnl In the intl/Makefile.in we have a special dependency which makes
|
||||
dnl only sense for gettext. We comment this out for non-gettext
|
||||
dnl packages.
|
||||
if test "$PACKAGE" = "gettext"; then
|
||||
GT_NO="#NO#"
|
||||
GT_YES=
|
||||
else
|
||||
GT_NO=
|
||||
GT_YES="#YES#"
|
||||
fi
|
||||
AC_SUBST(GT_NO)
|
||||
AC_SUBST(GT_YES)
|
||||
|
||||
dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
|
||||
dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
|
||||
dnl Try to locate is.
|
||||
MKINSTALLDIRS=
|
||||
if test -n "$ac_aux_dir"; then
|
||||
MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
|
||||
fi
|
||||
if test -z "$MKINSTALLDIRS"; then
|
||||
MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
|
||||
fi
|
||||
AC_SUBST(MKINSTALLDIRS)
|
||||
|
||||
dnl *** For now the libtool support in intl/Makefile is not for real.
|
||||
l=
|
||||
AC_SUBST(l)
|
||||
|
||||
dnl Generate list of files to be processed by xgettext which will
|
||||
dnl be included in po/Makefile.
|
||||
test -d po || mkdir po
|
||||
if test "x$srcdir" != "x."; then
|
||||
if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
|
||||
posrcprefix="$srcdir/"
|
||||
else
|
||||
posrcprefix="../$srcdir/"
|
||||
fi
|
||||
else
|
||||
posrcprefix="../"
|
||||
fi
|
||||
rm -f po/POTFILES
|
||||
sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
|
||||
< $srcdir/po/POTFILES.in > po/POTFILES
|
||||
])
|
||||
|
||||
|
||||
@@ -50,8 +50,8 @@ if automake-1.4 --version < /dev/null > /dev/null 2>&1 ; then
|
||||
fi
|
||||
if $have_automake ; then : ; else
|
||||
echo
|
||||
echo "You must have automake 1.4-p6 installed to compile $PROJECT."
|
||||
echo "Get ftp://ftp.gnu.org/pub/gnu/automake/automake-1.4-p6.tar.gz"
|
||||
echo "You must have automake 1.4-p1 installed to compile $PROJECT."
|
||||
echo "Get ftp://ftp.gnu.org/pub/gnu/automake/automake-1.4-p1.tar.gz"
|
||||
echo "(or a newer version if it is available)"
|
||||
DIE=1
|
||||
fi
|
||||
|
||||
201
configure.in
201
configure.in
@@ -31,10 +31,10 @@ GLIB_AC_DIVERT_BEFORE_HELP([
|
||||
# set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
|
||||
#
|
||||
GTK_MAJOR_VERSION=2
|
||||
GTK_MINOR_VERSION=2
|
||||
GTK_MICRO_VERSION=0
|
||||
GTK_INTERFACE_AGE=0
|
||||
GTK_BINARY_AGE=200
|
||||
GTK_MINOR_VERSION=0
|
||||
GTK_MICRO_VERSION=7
|
||||
GTK_INTERFACE_AGE=7
|
||||
GTK_BINARY_AGE=7
|
||||
GTK_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$GTK_MICRO_VERSION
|
||||
dnl This is the X.Y used in -lgtk-FOO-X.Y
|
||||
GTK_API_VERSION=2.0
|
||||
@@ -49,14 +49,8 @@ AC_SUBST(GTK_API_VERSION)
|
||||
AC_SUBST(GTK_VERSION)
|
||||
|
||||
# libtool versioning
|
||||
#LT_RELEASE=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION
|
||||
#LT_CURRENT=`expr $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
|
||||
#LT_REVISION=$GTK_INTERFACE_AGE
|
||||
#LT_AGE=`expr $GTK_BINARY_AGE - $GTK_INTERFACE_AGE`
|
||||
#LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
|
||||
|
||||
LT_RELEASE=$GTK_MAJOR_VERSION.0
|
||||
LT_CURRENT=`expr 100 '*' $GTK_MINOR_VERSION + $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
|
||||
LT_RELEASE=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION
|
||||
LT_CURRENT=`expr $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
|
||||
LT_REVISION=$GTK_INTERFACE_AGE
|
||||
LT_AGE=`expr $GTK_BINARY_AGE - $GTK_INTERFACE_AGE`
|
||||
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
|
||||
@@ -67,11 +61,9 @@ AC_SUBST(LT_AGE)
|
||||
AC_SUBST(LT_CURRENT_MINUS_AGE)
|
||||
|
||||
# Define a string for the earliest version that this release has
|
||||
# forward/backwards binary compatibility with. This is used for module
|
||||
# locations. (Should this be backwards-compat instead?)
|
||||
# binary compatibility with. This is used for module locations.
|
||||
#
|
||||
#GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
|
||||
GTK_BINARY_VERSION=2.2.0
|
||||
GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
|
||||
AC_SUBST(GTK_BINARY_VERSION)
|
||||
|
||||
#
|
||||
@@ -88,7 +80,7 @@ AC_SUBST(GDK_PIXBUF_MICRO)
|
||||
AC_SUBST(GDK_PIXBUF_VERSION)
|
||||
|
||||
## Versions of dependencies
|
||||
GLIB_REQUIRED_VERSION=2.1.4
|
||||
GLIB_REQUIRED_VERSION=2.0.6
|
||||
PANGO_REQUIRED_VERSION=1.0.1
|
||||
ATK_REQUIRED_VERSION=1.0.1
|
||||
|
||||
@@ -184,7 +176,7 @@ AC_ARG_ENABLE(xkb, [ --enable-xkb support XKB [default=maybe]],
|
||||
, enable_xkb="maybe")
|
||||
AC_ARG_ENABLE(rebuilds, [ --disable-rebuilds disable all source autogeneration rules],,enable_rebuilds=yes)
|
||||
|
||||
AC_ARG_WITH(xinput, [ --with-xinput=[no/yes] support XInput ])
|
||||
AC_ARG_WITH(xinput, [ --with-xinput=[no/gxi/xfree] support XInput ])
|
||||
|
||||
AC_ARG_WITH(wintab, [ --with-wintab=DIRECTORY use Wintab API with win32 backend])
|
||||
AC_ARG_WITH(ie55, [ --with-ie55=DIRECTORY IE5.5 libs and headers (for Active IMM)])
|
||||
@@ -389,11 +381,14 @@ AC_SUBST(STRIP_BEGIN)
|
||||
AC_SUBST(STRIP_END)
|
||||
|
||||
# i18n stuff
|
||||
ALL_LINGUAS="az be bg ca cs cy da de el en_GB es et eu fa fi fr ga gl he hi hr hu ia id it ja ko lt lv ml mn ms nl nn no pl pt pt_BR ro ru sk sl sp sr sv tr uk vi wa yi zh_TW zh_CN"
|
||||
ALL_LINGUAS="ar az be bg ca cs cy da de el en_GB en@IPA es et eu fa fi fr ga gl he hi hr hu ia it ja ko lt lv ms nl nn no pl pt pt_BR ro ru sk sl sp sr sv tr uk vi wa zh_TW zh_CN"
|
||||
AM_GLIB_GNU_GETTEXT
|
||||
LIBS="$LIBS $INTLLIBS"
|
||||
|
||||
AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
|
||||
# AM_GLIB_GNU_GETTEXT above substs $DATADIRNAME
|
||||
# this is the directory where the *.{mo,gmo} files are installed
|
||||
gtklocaledir='${prefix}/${DATADIRNAME}/locale'
|
||||
AC_SUBST(gtklocaledir)
|
||||
|
||||
dnl The DU4 header files don't provide library prototypes unless
|
||||
dnl -std1 is given to the native cc.
|
||||
@@ -470,15 +465,13 @@ if test "${with_ie55+set}" = set && test $with_ie55 != no; then
|
||||
AC_MSG_CHECKING([for dimm.h])
|
||||
saved_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -idirafter $with_ie55/Include"
|
||||
AC_TRY_COMPILE([/* The w32api imm.h clashes a bit with the IE5.5 dimm.h */
|
||||
AC_TRY_COMPILE([#include <windows.h>
|
||||
#include <objbase.h>
|
||||
#ifdef __GNUC__
|
||||
/* The w32api imm.h clashes a bit with the IE5.5 dimm.h */
|
||||
#define IMEMENUITEMINFOA hidden_IMEMENUITEMINFOA
|
||||
#define IMEMENUITEMINFOW hidden_IMEMENUITEMINFOW
|
||||
#endif
|
||||
#include <windows.h>
|
||||
#include <objbase.h>
|
||||
#include <imm.h>
|
||||
#ifdef __GNUC__
|
||||
#undef IMEMENUITEMINFOA
|
||||
#undef IMEMENUITEMINFOW
|
||||
#endif
|
||||
@@ -535,6 +528,8 @@ AM_CONDITIONAL(HAVE_WINTAB, test x$have_wintab = xyes)
|
||||
saved_cflags="$CFLAGS"
|
||||
saved_ldflags="$LDFLAGS"
|
||||
|
||||
# check for bytesex stuff
|
||||
AC_C_BIGENDIAN
|
||||
|
||||
# Checks for header files.
|
||||
AC_HEADER_STDC
|
||||
@@ -614,31 +609,24 @@ AC_MSG_RESULT($gdk_working_wctype)
|
||||
AC_SUBST(GDK_WLIBS)
|
||||
|
||||
|
||||
|
||||
##################################################
|
||||
# Checks for gdk-pixbuf
|
||||
##################################################
|
||||
|
||||
dnl ********************************************************
|
||||
dnl * See whether we need to load our modules as .la files *
|
||||
dnl ********************************************************
|
||||
|
||||
use_la_modules=false
|
||||
case $host in
|
||||
*-aix*) use_la_modules=true
|
||||
esac
|
||||
|
||||
if $use_la_modules ; then
|
||||
AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
|
||||
fi
|
||||
|
||||
|
||||
AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
|
||||
|
||||
AC_ARG_ENABLE(modules, [ --disable-modules disable dynamic module loading])
|
||||
AC_ARG_ENABLE(modules, [ --disable-modules disable dynamic module loading],[
|
||||
if test x$withval = xyes; then
|
||||
with_modules=yes
|
||||
else
|
||||
with_modules=no
|
||||
fi
|
||||
])
|
||||
|
||||
dynworks=false
|
||||
deps=
|
||||
if test x$enable_modules = xno; then
|
||||
if test x$with_modules = xno; then
|
||||
AC_MSG_RESULT(no)
|
||||
else
|
||||
AC_MSG_RESULT(yes)
|
||||
@@ -806,7 +794,7 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,tga"
|
||||
all_loaders="png,bmp,wbmp,gif,ico,jpeg,pnm,ras,tiff,xpm,tga"
|
||||
included_loaders=""
|
||||
# If no loaders specified, include all
|
||||
if test "x$with_included_loaders" = xyes ; then
|
||||
@@ -941,10 +929,8 @@ if test "x$gdktarget" = "xlinux-fb" || test "x$gdktarget" = "xx11" ; then
|
||||
FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
|
||||
FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
|
||||
|
||||
gtk_save_LIBS="$LIBS"
|
||||
LIBS="$FREETYPE_LIBS $LIBS"
|
||||
AC_TRY_LINK_FUNC(FT_New_Face, have_freetype=true,:)
|
||||
LIBS="$gtk_save_LIBS"
|
||||
AC_CHECK_LIB(freetype, FT_New_Face, have_freetype=true
|
||||
,:,$FREETYPE_LIBS)
|
||||
|
||||
if $have_freetype ; then
|
||||
gtk_save_cppflags="$CPPFLAGS"
|
||||
@@ -978,7 +964,7 @@ if test "x$gdktarget" = "xx11"; then
|
||||
|
||||
## be sure we also have Pango built with xft support
|
||||
if $PKG_CONFIG --exists pangoxft ; then
|
||||
PANGO_PACKAGES="pangoxft pangox"
|
||||
PANGO_PACKAGES="pangox pangoxft"
|
||||
have_xft=true
|
||||
AC_DEFINE(HAVE_XFT)
|
||||
if $have_freetype ; then
|
||||
@@ -993,10 +979,6 @@ if test "x$gdktarget" = "xx11"; then
|
||||
|
||||
AM_CONDITIONAL(HAVE_XFT, $have_xft)
|
||||
|
||||
if $PKG_CONFIG --exists xft ; then
|
||||
AC_DEFINE(HAVE_XFT2, 1, [Define if we have Xft, version 2])
|
||||
fi
|
||||
|
||||
#
|
||||
# If Pango included the shared library dependencies from X11 in
|
||||
# the pkg-config output, then we use that (to avoid duplicates).
|
||||
@@ -1091,49 +1073,6 @@ if test "x$gdktarget" = "xx11"; then
|
||||
# Don't ever pull in the pangoxft libraries for gdk-pixbuf-x11
|
||||
GDK_PIXBUF_XLIB_EXTRA_LIBS="$x_extra_libs $x_libs"
|
||||
|
||||
# Check for Xinerama extension (Solaris impl or Xfree impl)
|
||||
|
||||
gtk_save_cppflags="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $x_cflags"
|
||||
|
||||
case "$host" in
|
||||
*-*-solaris*)
|
||||
# Check for solaris
|
||||
use_solaris_xinerama=yes
|
||||
AC_CHECK_LIB(Xext, XineramaGetInfo,
|
||||
use_solaris_xinerama=yes, use_solaris_xinerama=no)
|
||||
if test "x$use_solaris_xinerama" = "xyes"; then
|
||||
AC_CHECK_HEADER(X11/extensions/xinerama.h,
|
||||
if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then
|
||||
x_extra_libs="-lXext $x_extra_libs"
|
||||
fi
|
||||
AC_DEFINE(HAVE_SOLARIS_XINERAMA)
|
||||
AC_DEFINE(HAVE_XINERAMA), use_solaris_xinerama=no, -lXext $x_libs_for_checks)
|
||||
fi
|
||||
AC_MSG_CHECKING(for Xinerama support on Solaris)
|
||||
AC_MSG_RESULT($use_solaris_xinerama);
|
||||
;;
|
||||
*)
|
||||
# Check for XFree
|
||||
use_xfree_xinerama=yes
|
||||
AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
|
||||
[AC_CHECK_HEADER(X11/extensions/Xinerama.h,
|
||||
x_extra_libs="-lXinerama $x_extra_libs"
|
||||
if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then
|
||||
x_extra_libs="-lXext $x_extra_libs"
|
||||
fi
|
||||
AC_DEFINE(HAVE_XFREE_XINERAMA)
|
||||
AC_DEFINE(HAVE_XINERAMA),
|
||||
use_xfree_xinerama=no,
|
||||
[#include <X11/Xlib.h>])],
|
||||
use_xfree_xinerama=no, -lXext $x_libs_for_checks)
|
||||
AC_MSG_CHECKING(for Xinerama support on XFree86)
|
||||
AC_MSG_RESULT($use_xfree_xinerama);
|
||||
;;
|
||||
esac
|
||||
|
||||
CPPFLAGS="$gtk_save_cppflags"
|
||||
|
||||
# Check for shaped window extension
|
||||
|
||||
AC_CHECK_LIB(Xext, XShapeCombineMask,
|
||||
@@ -1176,29 +1115,19 @@ if test "x$gdktarget" = "xx11"; then
|
||||
|
||||
# set up things for XInput
|
||||
|
||||
if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
|
||||
if test "x$with_xinput" = "xgxi" || test "x$with_xinput" = "xyes"; then
|
||||
AC_DEFINE(XINPUT_GXI)
|
||||
xinput_progs=gxid
|
||||
x_extra_libs="-lXi $x_extra_libs"
|
||||
elif test "x$with_xinput" = "xxfree"; then
|
||||
AC_DEFINE(XINPUT_XFREE)
|
||||
x_extra_libs="-lXi $x_extra_libs"
|
||||
else
|
||||
AC_DEFINE(XINPUT_NONE)
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
|
||||
|
||||
# Check for the RANDR extension
|
||||
|
||||
AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
|
||||
[AC_CHECK_HEADER(X11/extensions/Xrandr.h,
|
||||
# RANDR requires RENDER
|
||||
if test -z "`echo $x_extra_libs $x_libs | grep "\-lXrender" 2> /dev/null`"; then
|
||||
x_extra_libs="-lXrender $x_extra_libs"
|
||||
fi
|
||||
x_extra_libs="-lXrandr $x_extra_libs"
|
||||
AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library),
|
||||
:, [#include <X11/Xlib.h>])], : ,
|
||||
$X_LIBS -lXrandr -lXrender -lX11 $X_EXTRA_LIBS)
|
||||
|
||||
# Xshm checks
|
||||
AM_CONDITIONAL(XINPUT_GXI, test x$with_xinput = xgxi)
|
||||
AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree)
|
||||
|
||||
if test "x$enable_shm" = "xyes"; then
|
||||
# Check for shared memory
|
||||
@@ -1240,6 +1169,7 @@ if test "x$gdktarget" = "xx11"; then
|
||||
AM_CONDITIONAL(USE_X11, true)
|
||||
else
|
||||
AM_CONDITIONAL(HAVE_XFT, false)
|
||||
AM_CONDITIONAL(XINPUT_GXI, false)
|
||||
AM_CONDITIONAL(XINPUT_XFREE, false)
|
||||
AM_CONDITIONAL(USE_X11, false)
|
||||
fi
|
||||
@@ -1350,12 +1280,9 @@ CFLAGS="$CFLAGS $PANGO_CFLAGS"
|
||||
if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
|
||||
:
|
||||
else
|
||||
gtk_save_LIBS="$LIBS"
|
||||
LIBS="$PANGO_LIBS $LIBS"
|
||||
AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
|
||||
AC_CHECK_LIB(pango-1.0, pango_context_new, :, AC_MSG_ERROR([
|
||||
*** Can't link to Pango. Pango is required to build
|
||||
*** GTK+. For more information see http://www.pango.org]))
|
||||
LIBS="$gtk_save_LIBS"
|
||||
*** GTK+. For more information see http://www.pango.org]), $PANGO_LIBS)
|
||||
fi
|
||||
|
||||
CFLAGS="$saved_cflags"
|
||||
@@ -1401,12 +1328,9 @@ fi
|
||||
if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
|
||||
:
|
||||
else
|
||||
gtk_save_LIBS="$LIBS"
|
||||
LIBS="$ATK_LIBS $LIBS"
|
||||
AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
|
||||
AC_CHECK_LIB(atk-1.0, atk_object_get_type, : , AC_MSG_ERROR([
|
||||
*** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
|
||||
*** to build GTK+]))
|
||||
LIBS="$gtk_save_LIBS"
|
||||
*** to build GTK+]), $ATK_LIBS $GLIB_LIBS)
|
||||
fi
|
||||
|
||||
GTK_PACKAGES=atk
|
||||
@@ -1441,27 +1365,19 @@ AC_SUBST(HTML_DIR)
|
||||
|
||||
AC_CHECK_PROG(GTKDOC, gtkdoc-mkdb, true, false)
|
||||
|
||||
gtk_doc_min_version=0.10
|
||||
if $GTKDOC ; then
|
||||
gtk_doc_min_version=0.9
|
||||
if $GTKDOC ; then
|
||||
gtk_doc_version=`gtkdoc-mkdb --version`
|
||||
AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version])
|
||||
|
||||
IFS="${IFS= }"; gtk_save_IFS="$IFS"; IFS="."
|
||||
set $gtk_doc_version
|
||||
for min in $gtk_doc_min_version ; do
|
||||
cur=$1; shift
|
||||
if test -z $min ; then break; fi
|
||||
if test -z $cur ; then GTKDOC=false; break; fi
|
||||
if test $cur -gt $min ; then break ; fi
|
||||
if test $cur -lt $min ; then GTKDOC=false; break ; fi
|
||||
done
|
||||
IFS="$gtk_save_IFS"
|
||||
|
||||
if $GTKDOC ; then
|
||||
if perl <<EOF ; then
|
||||
exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) &&
|
||||
("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1);
|
||||
EOF
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
GTKDOC=false
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_CHECK_PROG(DB2HTML, db2html, true, false)
|
||||
@@ -1577,6 +1493,7 @@ AM_CONDITIONAL(HAVE_SGML2HTML, test x$SGML2HTML != xno)
|
||||
AC_OUTPUT([
|
||||
config.h.win32
|
||||
gtk-zip.sh
|
||||
gtk+.spec
|
||||
Makefile
|
||||
gdk-pixbuf-2.0.pc
|
||||
gdk-2.0.pc
|
||||
@@ -1596,24 +1513,26 @@ tests/Makefile
|
||||
docs/Makefile
|
||||
docs/reference/Makefile
|
||||
docs/reference/gdk-pixbuf/Makefile
|
||||
docs/reference/gdk-pixbuf/version.xml
|
||||
docs/reference/gdk/Makefile
|
||||
docs/reference/gdk/version.xml
|
||||
docs/reference/gtk/Makefile
|
||||
docs/reference/gtk/version.xml
|
||||
docs/faq/Makefile
|
||||
docs/tutorial/Makefile
|
||||
gdk-pixbuf/Makefile
|
||||
gdk-pixbuf/makefile.mingw
|
||||
gdk-pixbuf/gdk_pixbuf.rc
|
||||
gdk-pixbuf/gdk-pixbuf-features.h
|
||||
gdk-pixbuf/pixops/Makefile
|
||||
gdk-pixbuf/pixops/makefile.mingw
|
||||
gdk/Makefile
|
||||
gdk/makefile.mingw
|
||||
gdk/x11/Makefile
|
||||
gdk/win32/Makefile
|
||||
gdk/win32/makefile.mingw
|
||||
gdk/win32/rc/Makefile
|
||||
gdk/win32/rc/gdk.rc
|
||||
gdk/linux-fb/Makefile
|
||||
gtk/Makefile
|
||||
gtk/makefile.mingw
|
||||
gtk/makefile.msc
|
||||
gtk/gtkversion.h
|
||||
gtk/gtk-win32.rc
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
2002-08-06 jacob berkman <jacob@ximian.com>
|
||||
|
||||
* Makefile.am (lib_LTLIBRARIES): link against xlibs
|
||||
* Makefile.am (lib_LTLIBRARIES): link against xlib (bug #83442)
|
||||
|
||||
2002-01-25 Federico Mena Quintero <federico@ximian.com>
|
||||
|
||||
|
||||
@@ -4,8 +4,6 @@ INCLUDES = @STRIP_BEGIN@ \
|
||||
-I$(top_srcdir) -I$(top_builddir) \
|
||||
-I$(top_srcdir)/gdk-pixbuf \
|
||||
-I$(top_srcdir)/contrib \
|
||||
-DG_DISABLE_DEPRECATED \
|
||||
-DGDK_PIXBUF_DISABLE_DEPRECATED \
|
||||
@GDK_PIXBUF_XLIB_DEP_CFLAGS@ \
|
||||
@STRIP_END@
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ INCLUDES = @STRIP_BEGIN@ \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_builddir)/gdk \
|
||||
-DG_DISABLE_DEPRECATED \
|
||||
-DGDK_PIXBUF_DISABLE_DEPRECATED \
|
||||
-DGDK_DISABLE_DEPRECATED \
|
||||
-DGDK_PIXBUF_DISABLE_DEPRECATED \
|
||||
-DGTK_DISABLE_DEPRECATED \
|
||||
@GTK_DEBUG_FLAGS@ \
|
||||
@GTK_DEP_CFLAGS@ \
|
||||
@@ -35,14 +35,14 @@ noinst_PROGRAMS = \
|
||||
if CROSS_COMPILING
|
||||
pixbuf_csource=$(GDK_PIXBUF_CSOURCE)
|
||||
else
|
||||
pixbuf_csource=GDK_PIXBUF_MODULE_FILE=$$topdir/gdk-pixbuf/gdk-pixbuf.loaders $$topdir/gdk-pixbuf/gdk-pixbuf-csource
|
||||
pixbuf_csource=GDK_PIXBUF_MODULEDIR=$$topdir/gdk-pixbuf/.libs $$topdir/gdk-pixbuf/gdk-pixbuf-csource
|
||||
endif
|
||||
|
||||
test-inline-pixbufs.h: $(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource $(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders apple-red.png gnome-foot.png
|
||||
test-inline-pixbufs.h: $(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource apple-red.png gnome-foot.png
|
||||
(topdir=`cd $(top_builddir) && pwd` ; curdir=`pwd` ; \
|
||||
cd $(srcdir) && \
|
||||
$(pixbuf_csource) --build-list \
|
||||
apple_red apple-red.png gnome_foot gnome-foot.png >$$curdir/test-inline-pixbufs.h || (rm -f $$curdir/test-inline-pixbufs.h && false))
|
||||
apple_red apple-red.png gnome_foot gnome-foot.png >$$curdir/test-inline-pixbufs.h)
|
||||
|
||||
testpixbuf_DEPENDENCIES = $(DEPS)
|
||||
testpixbuf_drawable_DEPENDENCIES = $(DEPS)
|
||||
|
||||
@@ -7,7 +7,6 @@ democodedir=$(datadir)/gtk-2.0/demo
|
||||
demos = @STRIP_BEGIN@ \
|
||||
appwindow.c \
|
||||
button_box.c \
|
||||
changedisplay.c \
|
||||
colorsel.c \
|
||||
dialog.c \
|
||||
drawingarea.c \
|
||||
@@ -29,8 +28,8 @@ INCLUDES = @STRIP_BEGIN@ \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_builddir)/gdk \
|
||||
-DG_DISABLE_DEPRECATED \
|
||||
-DGDK_PIXBUF_DISABLE_DEPRECATED \
|
||||
-DGDK_DISABLE_DEPRECATED \
|
||||
-DGDK_PIXBUF_DISABLE_DEPRECATED \
|
||||
-DGTK_DISABLE_DEPRECATED \
|
||||
@GTK_DEBUG_FLAGS@ \
|
||||
@GTK_DEP_CFLAGS@ \
|
||||
|
||||
@@ -24,7 +24,7 @@ menuitem_cb (gpointer callback_data,
|
||||
gtk_item_factory_path_from_widget (widget));
|
||||
|
||||
/* Close dialog on user response */
|
||||
g_signal_connect (dialog,
|
||||
g_signal_connect (G_OBJECT (dialog),
|
||||
"response",
|
||||
G_CALLBACK (gtk_widget_destroy),
|
||||
NULL);
|
||||
@@ -73,7 +73,7 @@ toolbar_cb (GtkWidget *button,
|
||||
"You selected a toolbar button");
|
||||
|
||||
/* Close dialog on user response */
|
||||
g_signal_connect (dialog,
|
||||
g_signal_connect (G_OBJECT (dialog),
|
||||
"response",
|
||||
G_CALLBACK (gtk_widget_destroy),
|
||||
NULL);
|
||||
@@ -137,14 +137,14 @@ register_stock_icons (void)
|
||||
icon_set = gtk_icon_set_new_from_pixbuf (transparent);
|
||||
gtk_icon_factory_add (factory, "demo-gtk-logo", icon_set);
|
||||
gtk_icon_set_unref (icon_set);
|
||||
g_object_unref (pixbuf);
|
||||
g_object_unref (transparent);
|
||||
g_object_unref (G_OBJECT (pixbuf));
|
||||
g_object_unref (G_OBJECT (transparent));
|
||||
}
|
||||
else
|
||||
g_warning ("failed to load GTK logo for toolbar");
|
||||
|
||||
/* Drop our reference to the factory, GTK will hold a reference. */
|
||||
g_object_unref (factory);
|
||||
g_object_unref (G_OBJECT (factory));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -208,7 +208,7 @@ do_appwindow (void)
|
||||
gtk_window_set_title (GTK_WINDOW (window), "Application Window");
|
||||
|
||||
/* NULL window variable when window is closed */
|
||||
g_signal_connect (window, "destroy",
|
||||
g_signal_connect (G_OBJECT (window), "destroy",
|
||||
G_CALLBACK (gtk_widget_destroyed),
|
||||
&window);
|
||||
|
||||
|
||||
@@ -1,627 +0,0 @@
|
||||
/* Change Display
|
||||
*
|
||||
* Demonstrates migrating a window between different displays and
|
||||
* screens. A display is a mouse and keyboard with some number of
|
||||
* associated monitors. A screen is a set of monitors grouped
|
||||
* into a single physical work area. The neat thing about having
|
||||
* multiple displays is that they can be on a completely separate
|
||||
* computers, as long as there is a network connection to the
|
||||
* computer where the application is running.
|
||||
*
|
||||
* Only some of the windowing systems where GTK+ runs have the
|
||||
* concept of multiple displays and screens. (The X Window System
|
||||
* is the main example.) Other windowing systems can only
|
||||
* handle one keyboard and mouse, and combine all monitors into
|
||||
* a single screen.
|
||||
*
|
||||
* This is a moderately complex example, and demonstrates:
|
||||
*
|
||||
* - Tracking the currently open displays and screens
|
||||
*
|
||||
* - Changing the screen for a window
|
||||
*
|
||||
* - Letting the user choose a window by clicking on it
|
||||
*
|
||||
* - Using GtkListStore and GtkTreeView
|
||||
*
|
||||
* - Using GtkDialog
|
||||
*/
|
||||
#include <string.h>
|
||||
#include <gtk/gtk.h>
|
||||
#include "demo-common.h"
|
||||
|
||||
/* The ChangeDisplayInfo structure corresponds to a toplevel window and
|
||||
* holds pointers to widgets inside the toplevel window along with other
|
||||
* information about the contents of the window.
|
||||
* This is a common organizational structure in real applications.
|
||||
*/
|
||||
typedef struct _ChangeDisplayInfo ChangeDisplayInfo;
|
||||
|
||||
struct _ChangeDisplayInfo
|
||||
{
|
||||
GtkWidget *window;
|
||||
GtkSizeGroup *size_group;
|
||||
|
||||
GtkTreeModel *display_model;
|
||||
GtkTreeModel *screen_model;
|
||||
GtkTreeSelection *screen_selection;
|
||||
|
||||
GdkDisplay *current_display;
|
||||
GdkScreen *current_screen;
|
||||
};
|
||||
|
||||
/* These enumerations provide symbolic names for the columns
|
||||
* in the two GtkListStore models.
|
||||
*/
|
||||
enum
|
||||
{
|
||||
DISPLAY_COLUMN_NAME,
|
||||
DISPLAY_COLUMN_DISPLAY,
|
||||
DISPLAY_NUM_COLUMNS
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
SCREEN_COLUMN_NUMBER,
|
||||
SCREEN_COLUMN_SCREEN,
|
||||
SCREEN_NUM_COLUMNS
|
||||
};
|
||||
|
||||
/* Finds the toplevel window under the mouse pointer, if any.
|
||||
*/
|
||||
static GtkWidget *
|
||||
find_toplevel_at_pointer (GdkDisplay *display)
|
||||
{
|
||||
GdkWindow *pointer_window;
|
||||
GtkWidget *widget = NULL;
|
||||
|
||||
pointer_window = gdk_display_get_window_at_pointer (display, NULL, NULL);
|
||||
|
||||
/* The user data field of a GdkWindow is used to store a pointer
|
||||
* to the widget that created it.
|
||||
*/
|
||||
if (pointer_window)
|
||||
gdk_window_get_user_data (pointer_window, (gpointer*) &widget);
|
||||
|
||||
return widget ? gtk_widget_get_toplevel (widget) : NULL;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
button_release_event_cb (GtkWidget *widget,
|
||||
GdkEventButton *event,
|
||||
gboolean *clicked)
|
||||
{
|
||||
*clicked = TRUE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Asks the user to click on a window, then waits for them click
|
||||
* the mouse. When the mouse is released, returns the toplevel
|
||||
* window under the pointer, or NULL, if there is none.
|
||||
*/
|
||||
static GtkWidget *
|
||||
query_for_toplevel (GdkScreen *screen,
|
||||
const char *prompt)
|
||||
{
|
||||
GdkDisplay *display = gdk_screen_get_display (screen);
|
||||
GtkWidget *popup, *label, *frame;
|
||||
GdkCursor *cursor;
|
||||
GtkWidget *toplevel = NULL;
|
||||
|
||||
popup = gtk_window_new (GTK_WINDOW_POPUP);
|
||||
gtk_window_set_screen (GTK_WINDOW (popup), screen);
|
||||
gtk_window_set_modal (GTK_WINDOW (popup), TRUE);
|
||||
gtk_window_set_position (GTK_WINDOW (popup), GTK_WIN_POS_CENTER);
|
||||
|
||||
frame = gtk_frame_new (NULL);
|
||||
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
|
||||
gtk_container_add (GTK_CONTAINER (popup), frame);
|
||||
|
||||
label = gtk_label_new (prompt);
|
||||
gtk_misc_set_padding (GTK_MISC (label), 10, 10);
|
||||
gtk_container_add (GTK_CONTAINER (frame), label);
|
||||
|
||||
gtk_widget_show_all (popup);
|
||||
cursor = gdk_cursor_new_for_display (display, GDK_CROSSHAIR);
|
||||
|
||||
if (gdk_pointer_grab (popup->window, FALSE,
|
||||
GDK_BUTTON_RELEASE_MASK,
|
||||
NULL,
|
||||
cursor,
|
||||
GDK_CURRENT_TIME) == GDK_GRAB_SUCCESS)
|
||||
{
|
||||
gboolean clicked = FALSE;
|
||||
|
||||
g_signal_connect (popup, "button-release-event",
|
||||
G_CALLBACK (button_release_event_cb), &clicked);
|
||||
|
||||
/* Process events until clicked is set by button_release_event_cb.
|
||||
* We pass in may_block=TRUE since we want to wait if there
|
||||
* are no events currently.
|
||||
*/
|
||||
while (!clicked)
|
||||
g_main_context_iteration (NULL, TRUE);
|
||||
|
||||
toplevel = find_toplevel_at_pointer (gdk_screen_get_display (screen));
|
||||
if (toplevel == popup)
|
||||
toplevel = NULL;
|
||||
}
|
||||
|
||||
gdk_cursor_unref (cursor);
|
||||
gtk_widget_destroy (popup);
|
||||
gdk_flush (); /* Really release the grab */
|
||||
|
||||
return toplevel;
|
||||
}
|
||||
|
||||
/* Prompts the user for a toplevel window to move, and then moves
|
||||
* that window to the currently selected display
|
||||
*/
|
||||
static void
|
||||
query_change_display (ChangeDisplayInfo *info)
|
||||
{
|
||||
GdkScreen *screen = gtk_widget_get_screen (info->window);
|
||||
GtkWidget *toplevel;
|
||||
|
||||
toplevel = query_for_toplevel (screen,
|
||||
"Please select the toplevel\n"
|
||||
"to move to the new screen");
|
||||
|
||||
if (toplevel)
|
||||
gtk_window_set_screen (GTK_WINDOW (toplevel), info->current_screen);
|
||||
else
|
||||
gdk_display_beep (gdk_screen_get_display (screen));
|
||||
}
|
||||
|
||||
/* Fills in the screen list based on the current display
|
||||
*/
|
||||
static void
|
||||
fill_screens (ChangeDisplayInfo *info)
|
||||
{
|
||||
gtk_list_store_clear (GTK_LIST_STORE (info->screen_model));
|
||||
|
||||
if (info->current_display)
|
||||
{
|
||||
gint n_screens = gdk_display_get_n_screens (info->current_display);
|
||||
gint i;
|
||||
|
||||
for (i = 0; i < n_screens; i++)
|
||||
{
|
||||
GdkScreen *screen = gdk_display_get_screen (info->current_display, i);
|
||||
GtkTreeIter iter;
|
||||
|
||||
gtk_list_store_append (GTK_LIST_STORE (info->screen_model), &iter);
|
||||
gtk_list_store_set (GTK_LIST_STORE (info->screen_model), &iter,
|
||||
SCREEN_COLUMN_NUMBER, i,
|
||||
SCREEN_COLUMN_SCREEN, screen,
|
||||
-1);
|
||||
|
||||
if (i == 0)
|
||||
gtk_tree_selection_select_iter (info->screen_selection, &iter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Called when the user clicks on a button in our dialog or
|
||||
* closes the dialog through the window manager. Unless the
|
||||
* "Change" button was clicked, we destroy the dialog.
|
||||
*/
|
||||
static void
|
||||
response_cb (GtkDialog *dialog,
|
||||
gint response_id,
|
||||
ChangeDisplayInfo *info)
|
||||
{
|
||||
if (response_id == GTK_RESPONSE_OK)
|
||||
query_change_display (info);
|
||||
else
|
||||
gtk_widget_destroy (GTK_WIDGET (dialog));
|
||||
}
|
||||
|
||||
/* Called when the user clicks on "Open..." in the display
|
||||
* frame. Prompts for a new display, and then opens a connection
|
||||
* to that display.
|
||||
*/
|
||||
static void
|
||||
open_display_cb (GtkWidget *button,
|
||||
ChangeDisplayInfo *info)
|
||||
{
|
||||
GtkWidget *dialog;
|
||||
GtkWidget *display_entry;
|
||||
GtkWidget *dialog_label;
|
||||
gchar *new_screen_name = NULL;
|
||||
GdkDisplay *result = NULL;
|
||||
|
||||
dialog = gtk_dialog_new_with_buttons ("Open Display",
|
||||
GTK_WINDOW (info->window),
|
||||
GTK_DIALOG_MODAL,
|
||||
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
||||
GTK_STOCK_OK, GTK_RESPONSE_OK,
|
||||
NULL);
|
||||
|
||||
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
|
||||
display_entry = gtk_entry_new ();
|
||||
gtk_entry_set_activates_default (GTK_ENTRY (display_entry), TRUE);
|
||||
dialog_label =
|
||||
gtk_label_new ("Please enter the name of\nthe new display\n");
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), dialog_label);
|
||||
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), display_entry);
|
||||
|
||||
gtk_widget_grab_focus (display_entry);
|
||||
gtk_widget_show_all (GTK_BIN (dialog)->child);
|
||||
|
||||
while (!result)
|
||||
{
|
||||
gint response_id = gtk_dialog_run (GTK_DIALOG (dialog));
|
||||
if (response_id != GTK_RESPONSE_OK)
|
||||
break;
|
||||
|
||||
new_screen_name = gtk_editable_get_chars (GTK_EDITABLE (display_entry),
|
||||
0, -1);
|
||||
|
||||
if (strcmp (new_screen_name, "") != 0)
|
||||
{
|
||||
result = gdk_display_open (new_screen_name);
|
||||
if (!result)
|
||||
{
|
||||
gchar *error_msg =
|
||||
g_strdup_printf ("Can't open display :\n\t%s\nplease try another one\n",
|
||||
new_screen_name);
|
||||
gtk_label_set_text (GTK_LABEL (dialog_label), error_msg);
|
||||
g_free (error_msg);
|
||||
}
|
||||
|
||||
g_free (new_screen_name);
|
||||
}
|
||||
}
|
||||
|
||||
gtk_widget_destroy (dialog);
|
||||
}
|
||||
|
||||
/* Called when the user clicks on the "Close" button in the
|
||||
* "Display" frame. Closes the selected display.
|
||||
*/
|
||||
static void
|
||||
close_display_cb (GtkWidget *button,
|
||||
ChangeDisplayInfo *info)
|
||||
{
|
||||
if (info->current_display)
|
||||
gdk_display_close (info->current_display);
|
||||
}
|
||||
|
||||
/* Called when the selected row in the display list changes.
|
||||
* Updates info->current_display, then refills the list of
|
||||
* screens.
|
||||
*/
|
||||
static void
|
||||
display_changed_cb (GtkTreeSelection *selection,
|
||||
ChangeDisplayInfo *info)
|
||||
{
|
||||
GtkTreeModel *model;
|
||||
GtkTreeIter iter;
|
||||
|
||||
if (gtk_tree_selection_get_selected (selection, &model, &iter))
|
||||
gtk_tree_model_get (model, &iter,
|
||||
DISPLAY_COLUMN_DISPLAY, &info->current_display,
|
||||
-1);
|
||||
else
|
||||
info->current_display = NULL;
|
||||
|
||||
fill_screens (info);
|
||||
}
|
||||
|
||||
/* Called when the selected row in the sceen list changes.
|
||||
* Updates info->current_screen.
|
||||
*/
|
||||
static void
|
||||
screen_changed_cb (GtkTreeSelection *selection,
|
||||
ChangeDisplayInfo *info)
|
||||
{
|
||||
GtkTreeModel *model;
|
||||
GtkTreeIter iter;
|
||||
|
||||
if (gtk_tree_selection_get_selected (selection, &model, &iter))
|
||||
gtk_tree_model_get (model, &iter,
|
||||
SCREEN_COLUMN_SCREEN, &info->current_screen,
|
||||
-1);
|
||||
else
|
||||
info->current_screen = NULL;
|
||||
}
|
||||
|
||||
/* This function is used both for creating the "Display" and
|
||||
* "Screen" frames, since they have a similar structure. The
|
||||
* caller hooks up the right context for the value returned
|
||||
* in tree_view, and packs any relevant buttons into button_vbox.
|
||||
*/
|
||||
static void
|
||||
create_frame (ChangeDisplayInfo *info,
|
||||
const char *title,
|
||||
GtkWidget **frame,
|
||||
GtkWidget **tree_view,
|
||||
GtkWidget **button_vbox)
|
||||
{
|
||||
GtkTreeSelection *selection;
|
||||
GtkWidget *scrollwin;
|
||||
GtkWidget *hbox;
|
||||
|
||||
*frame = gtk_frame_new (title);
|
||||
|
||||
hbox = gtk_hbox_new (FALSE, 8);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (hbox), 8);
|
||||
gtk_container_add (GTK_CONTAINER (*frame), hbox);
|
||||
|
||||
scrollwin = gtk_scrolled_window_new (NULL, NULL);
|
||||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin),
|
||||
GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
|
||||
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin),
|
||||
GTK_SHADOW_IN);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), scrollwin, TRUE, TRUE, 0);
|
||||
|
||||
*tree_view = gtk_tree_view_new ();
|
||||
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (*tree_view), FALSE);
|
||||
gtk_container_add (GTK_CONTAINER (scrollwin), *tree_view);
|
||||
|
||||
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (*tree_view));
|
||||
gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE);
|
||||
|
||||
*button_vbox = gtk_vbox_new (FALSE, 5);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), *button_vbox, FALSE, FALSE, 0);
|
||||
|
||||
if (!info->size_group)
|
||||
info->size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
||||
|
||||
gtk_size_group_add_widget (GTK_SIZE_GROUP (info->size_group), *button_vbox);
|
||||
}
|
||||
|
||||
/* If we have a stack of buttons, it often looks better if their contents
|
||||
* are left-aligned, rather than centered. This function creates a button
|
||||
* and left-aligns it contents.
|
||||
*/
|
||||
GtkWidget *
|
||||
left_align_button_new (const char *label)
|
||||
{
|
||||
GtkWidget *button = gtk_button_new_with_mnemonic (label);
|
||||
GtkWidget *child = gtk_bin_get_child (GTK_BIN (button));
|
||||
|
||||
gtk_misc_set_alignment (GTK_MISC (child), 0., 0.5);
|
||||
|
||||
return button;
|
||||
}
|
||||
|
||||
/* Creates the "Display" frame in the main window.
|
||||
*/
|
||||
GtkWidget *
|
||||
create_display_frame (ChangeDisplayInfo *info)
|
||||
{
|
||||
GtkWidget *frame;
|
||||
GtkWidget *tree_view;
|
||||
GtkWidget *button_vbox;
|
||||
GtkTreeViewColumn *column;
|
||||
GtkTreeSelection *selection;
|
||||
GtkWidget *button;
|
||||
|
||||
create_frame (info, "Display", &frame, &tree_view, &button_vbox);
|
||||
|
||||
button = left_align_button_new ("_Open...");
|
||||
g_signal_connect (button, "clicked", G_CALLBACK (open_display_cb), info);
|
||||
gtk_box_pack_start (GTK_BOX (button_vbox), button, FALSE, FALSE, 0);
|
||||
|
||||
button = left_align_button_new ("_Close");
|
||||
g_signal_connect (button, "clicked", G_CALLBACK (close_display_cb), info);
|
||||
gtk_box_pack_start (GTK_BOX (button_vbox), button, FALSE, FALSE, 0);
|
||||
|
||||
info->display_model = (GtkTreeModel *)gtk_list_store_new (DISPLAY_NUM_COLUMNS,
|
||||
G_TYPE_STRING,
|
||||
GDK_TYPE_DISPLAY);
|
||||
|
||||
gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), info->display_model);
|
||||
|
||||
column = gtk_tree_view_column_new_with_attributes ("Name",
|
||||
gtk_cell_renderer_text_new (),
|
||||
"text", DISPLAY_COLUMN_NAME,
|
||||
NULL);
|
||||
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
|
||||
|
||||
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
|
||||
g_signal_connect (selection, "changed",
|
||||
G_CALLBACK (display_changed_cb), info);
|
||||
|
||||
return frame;
|
||||
}
|
||||
|
||||
/* Creates the "Screen" frame in the main window.
|
||||
*/
|
||||
GtkWidget *
|
||||
create_screen_frame (ChangeDisplayInfo *info)
|
||||
{
|
||||
GtkWidget *frame;
|
||||
GtkWidget *tree_view;
|
||||
GtkWidget *button_vbox;
|
||||
GtkTreeViewColumn *column;
|
||||
|
||||
create_frame (info, "Screen", &frame, &tree_view, &button_vbox);
|
||||
|
||||
info->screen_model = (GtkTreeModel *)gtk_list_store_new (SCREEN_NUM_COLUMNS,
|
||||
G_TYPE_INT,
|
||||
GDK_TYPE_SCREEN);
|
||||
|
||||
gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), info->screen_model);
|
||||
|
||||
column = gtk_tree_view_column_new_with_attributes ("Number",
|
||||
gtk_cell_renderer_text_new (),
|
||||
"text", SCREEN_COLUMN_NUMBER,
|
||||
NULL);
|
||||
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
|
||||
|
||||
info->screen_selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
|
||||
g_signal_connect (info->screen_selection, "changed",
|
||||
G_CALLBACK (screen_changed_cb), info);
|
||||
|
||||
return frame;
|
||||
}
|
||||
|
||||
/* Called when one of the currently open displays is closed.
|
||||
* Remove it from our list of displays.
|
||||
*/
|
||||
static void
|
||||
display_closed_cb (GdkDisplay *display,
|
||||
gboolean is_error,
|
||||
ChangeDisplayInfo *info)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
gboolean valid;
|
||||
|
||||
for (valid = gtk_tree_model_get_iter_first (info->display_model, &iter);
|
||||
valid;
|
||||
valid = gtk_tree_model_iter_next (info->display_model, &iter))
|
||||
{
|
||||
GdkDisplay *tmp_display;
|
||||
|
||||
gtk_tree_model_get (info->display_model, &iter,
|
||||
DISPLAY_COLUMN_DISPLAY, &tmp_display,
|
||||
-1);
|
||||
if (tmp_display == display)
|
||||
{
|
||||
gtk_list_store_remove (GTK_LIST_STORE (info->display_model), &iter);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Adds a new display to our list of displays, and connects
|
||||
* to the "closed" signal so that we can remove it from the
|
||||
* list of displays again.
|
||||
*/
|
||||
static void
|
||||
add_display (ChangeDisplayInfo *info,
|
||||
GdkDisplay *display)
|
||||
{
|
||||
const gchar *name = gdk_display_get_name (display);
|
||||
GtkTreeIter iter;
|
||||
|
||||
gtk_list_store_append (GTK_LIST_STORE (info->display_model), &iter);
|
||||
gtk_list_store_set (GTK_LIST_STORE (info->display_model), &iter,
|
||||
DISPLAY_COLUMN_NAME, name,
|
||||
DISPLAY_COLUMN_DISPLAY, display,
|
||||
-1);
|
||||
|
||||
g_signal_connect (display, "closed",
|
||||
G_CALLBACK (display_closed_cb), info);
|
||||
}
|
||||
|
||||
/* Called when a new display is opened
|
||||
*/
|
||||
static void
|
||||
display_opened_cb (GdkDisplayManager *manager,
|
||||
GdkDisplay *display,
|
||||
ChangeDisplayInfo *info)
|
||||
{
|
||||
add_display (info, display);
|
||||
}
|
||||
|
||||
/* Adds all currently open displays to our list of displays,
|
||||
* and set up a signal connection so that we'll be notified
|
||||
* when displays are opened in the future as well.
|
||||
*/
|
||||
static void
|
||||
initialize_displays (ChangeDisplayInfo *info)
|
||||
{
|
||||
GdkDisplayManager *manager = gdk_display_manager_get ();
|
||||
GSList *displays = gdk_display_manager_list_displays (manager);
|
||||
GSList *tmp_list;
|
||||
|
||||
for (tmp_list = displays; tmp_list; tmp_list = tmp_list->next)
|
||||
add_display (info, tmp_list->data);
|
||||
|
||||
g_slist_free (tmp_list);
|
||||
|
||||
g_signal_connect (manager, "display_opened",
|
||||
G_CALLBACK (display_opened_cb), info);
|
||||
}
|
||||
|
||||
/* Cleans up when the toplevel is destroyed; we remove the
|
||||
* connections we use to track currently open displays, then
|
||||
* free the ChangeDisplayInfo structure.
|
||||
*/
|
||||
static void
|
||||
destroy_info (ChangeDisplayInfo *info)
|
||||
{
|
||||
GdkDisplayManager *manager = gdk_display_manager_get ();
|
||||
GSList *displays = gdk_display_manager_list_displays (manager);
|
||||
GSList *tmp_list;
|
||||
|
||||
g_signal_handlers_disconnect_by_func (manager,
|
||||
display_opened_cb,
|
||||
info);
|
||||
|
||||
for (tmp_list = displays; tmp_list; tmp_list = tmp_list->next)
|
||||
g_signal_handlers_disconnect_by_func (tmp_list->data,
|
||||
display_closed_cb,
|
||||
info);
|
||||
|
||||
g_slist_free (tmp_list);
|
||||
|
||||
g_object_unref (info->size_group);
|
||||
g_free (info);
|
||||
}
|
||||
|
||||
static void
|
||||
destroy_cb (GtkObject *object,
|
||||
ChangeDisplayInfo **info)
|
||||
{
|
||||
destroy_info (*info);
|
||||
*info = NULL;
|
||||
}
|
||||
|
||||
/* Main entry point. If the dialog for this demo doesn't yet exist, creates
|
||||
* it. Otherwise, destroys it.
|
||||
*/
|
||||
GtkWidget *
|
||||
do_changedisplay (void)
|
||||
{
|
||||
static ChangeDisplayInfo *info = NULL;
|
||||
|
||||
if (!info)
|
||||
{
|
||||
GtkWidget *vbox;
|
||||
GtkWidget *frame;
|
||||
|
||||
info = g_new0 (ChangeDisplayInfo, 1);
|
||||
|
||||
info->window = gtk_dialog_new_with_buttons ("Change Screen or display",
|
||||
NULL, /* parent */
|
||||
GTK_DIALOG_NO_SEPARATOR,
|
||||
GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
|
||||
"Change", GTK_RESPONSE_OK,
|
||||
NULL);
|
||||
|
||||
gtk_window_set_default_size (GTK_WINDOW (info->window), 300, 400);
|
||||
|
||||
g_signal_connect (info->window, "response",
|
||||
G_CALLBACK (response_cb), info);
|
||||
g_signal_connect (info->window, "destroy",
|
||||
G_CALLBACK (destroy_cb), &info);
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 5);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);
|
||||
|
||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (info->window)->vbox), vbox,
|
||||
TRUE, TRUE, 0);
|
||||
|
||||
frame = create_display_frame (info);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
|
||||
|
||||
frame = create_screen_frame (info);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
|
||||
|
||||
initialize_displays (info);
|
||||
|
||||
gtk_widget_show_all (info->window);
|
||||
return info->window;
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_widget_destroy (info->window);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
@@ -12,27 +12,6 @@ static GtkWidget *da;
|
||||
static GdkColor color;
|
||||
static GtkWidget *frame;
|
||||
|
||||
/* Expose callback for the drawing area
|
||||
*/
|
||||
static gboolean
|
||||
expose_event_callback (GtkWidget *widget, GdkEventExpose *event, gpointer data)
|
||||
{
|
||||
if (widget->window)
|
||||
{
|
||||
GtkStyle *style;
|
||||
|
||||
style = gtk_widget_get_style (widget);
|
||||
|
||||
gdk_draw_rectangle (widget->window,
|
||||
style->bg_gc[GTK_STATE_NORMAL],
|
||||
TRUE,
|
||||
event->area.x, event->area.y,
|
||||
event->area.width, event->area.height);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
change_color_callback (GtkWidget *button,
|
||||
gpointer data)
|
||||
@@ -97,12 +76,8 @@ do_colorsel (void)
|
||||
frame = gtk_frame_new (NULL);
|
||||
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
|
||||
|
||||
|
||||
da = gtk_drawing_area_new ();
|
||||
|
||||
g_signal_connect (da, "expose_event",
|
||||
G_CALLBACK (expose_event_callback), NULL);
|
||||
|
||||
/* set a minimum size */
|
||||
gtk_widget_set_size_request (da, 200, 200);
|
||||
/* set the color */
|
||||
|
||||
@@ -26,7 +26,7 @@ scribble_configure_event (GtkWidget *widget,
|
||||
gpointer data)
|
||||
{
|
||||
if (pixmap)
|
||||
g_object_unref (pixmap);
|
||||
g_object_unref (G_OBJECT (pixmap));
|
||||
|
||||
pixmap = gdk_pixmap_new (widget->window,
|
||||
widget->allocation.width,
|
||||
@@ -209,8 +209,8 @@ checkerboard_expose (GtkWidget *da,
|
||||
++xcount;
|
||||
}
|
||||
|
||||
g_object_unref (gc1);
|
||||
g_object_unref (gc2);
|
||||
g_object_unref (G_OBJECT (gc1));
|
||||
g_object_unref (G_OBJECT (gc2));
|
||||
|
||||
/* return TRUE because we've handled this event, so no
|
||||
* further processing is required.
|
||||
|
||||
@@ -201,7 +201,7 @@ add_columns (GtkTreeView *treeview)
|
||||
|
||||
/* number column */
|
||||
renderer = gtk_cell_renderer_text_new ();
|
||||
g_signal_connect (renderer, "edited",
|
||||
g_signal_connect (G_OBJECT (renderer), "edited",
|
||||
G_CALLBACK (cell_edited), model);
|
||||
g_object_set_data (G_OBJECT (renderer), "column", (gint *)COLUMN_NUMBER);
|
||||
|
||||
@@ -213,7 +213,7 @@ add_columns (GtkTreeView *treeview)
|
||||
|
||||
/* product column */
|
||||
renderer = gtk_cell_renderer_text_new ();
|
||||
g_signal_connect (renderer, "edited",
|
||||
g_signal_connect (G_OBJECT (renderer), "edited",
|
||||
G_CALLBACK (cell_edited), model);
|
||||
g_object_set_data (G_OBJECT (renderer), "column", (gint *)COLUMN_PRODUCT);
|
||||
|
||||
@@ -240,7 +240,7 @@ do_editable_cells (void)
|
||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||
gtk_window_set_title (GTK_WINDOW (window), "Shopping list");
|
||||
gtk_container_set_border_width (GTK_CONTAINER (window), 5);
|
||||
g_signal_connect (window, "destroy",
|
||||
g_signal_connect (G_OBJECT (window), "destroy",
|
||||
G_CALLBACK (gtk_widget_destroyed), &window);
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 5);
|
||||
@@ -263,7 +263,7 @@ do_editable_cells (void)
|
||||
|
||||
/* create tree view */
|
||||
treeview = gtk_tree_view_new_with_model (model);
|
||||
g_object_unref (model);
|
||||
g_object_unref (G_OBJECT (model));
|
||||
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE);
|
||||
gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)),
|
||||
GTK_SELECTION_SINGLE);
|
||||
@@ -277,12 +277,12 @@ do_editable_cells (void)
|
||||
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
|
||||
|
||||
button = gtk_button_new_with_label ("Add item");
|
||||
g_signal_connect (button, "clicked",
|
||||
g_signal_connect (G_OBJECT (button), "clicked",
|
||||
G_CALLBACK (add_item), model);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0);
|
||||
|
||||
button = gtk_button_new_with_label ("Remove item");
|
||||
g_signal_connect (button, "clicked",
|
||||
g_signal_connect (G_OBJECT (button), "clicked",
|
||||
G_CALLBACK (remove_item), treeview);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0);
|
||||
|
||||
|
||||
@@ -1,163 +0,0 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
print <<EOT;
|
||||
typedef GtkWidget *(*GDoDemoFunc) (void);
|
||||
|
||||
typedef struct _Demo Demo;
|
||||
|
||||
struct _Demo
|
||||
{
|
||||
gchar *title;
|
||||
gchar *filename;
|
||||
GDoDemoFunc func;
|
||||
Demo *children;
|
||||
};
|
||||
|
||||
EOT
|
||||
|
||||
for $file (@ARGV) {
|
||||
my %demo;
|
||||
|
||||
($basename = $file) =~ s/\.c$//;
|
||||
|
||||
open INFO_FILE, $file or die "Cannot open '$file'\n";
|
||||
$title = <INFO_FILE>;
|
||||
$title =~ s@^\s*/\*\s*@@;
|
||||
$title =~ s@\s*$@@;
|
||||
|
||||
close INFO_FILE;
|
||||
|
||||
print "GtkWidget *do_$basename (void);\n";
|
||||
|
||||
push @demos, {"title" => $title, "file" => $file,
|
||||
"func" => "do_$basename"};
|
||||
}
|
||||
|
||||
# generate a list of 'parent names'
|
||||
foreach $href (@demos) {
|
||||
if ($href->{"title"} =~ m|^([\w\s]+)/[\w\s]+$|) {
|
||||
my $parent_name = $1;
|
||||
my $do_next = 0;
|
||||
|
||||
# parent detected
|
||||
if (defined @parents) {
|
||||
foreach $foo (@parents) {
|
||||
if ($foo eq $parent_name) {
|
||||
$do_next = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if ($do_next) {
|
||||
next;
|
||||
}
|
||||
}
|
||||
|
||||
push @parents, $parent_name;
|
||||
|
||||
$tmp = (defined @child_arrays)?($#child_arrays + 1):0;
|
||||
push @child_arrays, "child$tmp";
|
||||
|
||||
push @demos, {"title" => $parent_name, "file" => "NULL",
|
||||
"func" => "NULL"};
|
||||
}
|
||||
}
|
||||
|
||||
if (defined @parents) {
|
||||
$i = 0;
|
||||
for ($i = 0; $i <= $#parents; $i++) {
|
||||
$first = 1;
|
||||
|
||||
print "\nDemo ", $child_arrays[$i], "[] = {\n";
|
||||
|
||||
$j = 0;
|
||||
for ($j = 0; $j <= $#demos; $j++) {
|
||||
$href = $demos[$j];
|
||||
|
||||
if (!defined $demos[$j]) {
|
||||
next;
|
||||
}
|
||||
|
||||
if ($demos[$j]{"title"} =~ m|^$parents[$i]/([\w\s]+)$|) {
|
||||
if ($first) {
|
||||
$first = 0;
|
||||
} else {
|
||||
print ",\n";
|
||||
}
|
||||
|
||||
print qq ( { "$1", "$demos[$j]{file}", $demos[$j]{func}, NULL });
|
||||
|
||||
# hack ... ugly
|
||||
$demos[$j]{"title"} = "foo";
|
||||
}
|
||||
}
|
||||
|
||||
print ",\n";
|
||||
print qq ( { NULL } );
|
||||
print "\n};\n";
|
||||
}
|
||||
}
|
||||
|
||||
# sort @demos
|
||||
@demos_old = @demos;
|
||||
|
||||
@demos = sort {
|
||||
$a->{"title"} cmp $b->{"title"};
|
||||
} @demos_old;
|
||||
|
||||
# sort the child arrays
|
||||
if (defined @child_arrays) {
|
||||
for ($i = 0; $i <= $#child_arrays; $i++) {
|
||||
@foo_old = @{$child_arrays[$i]};
|
||||
|
||||
@{$child_arrays[$i]} = sort {
|
||||
$a->{"title"} cmp $b->{"title"};
|
||||
} @foo_old;
|
||||
}
|
||||
}
|
||||
|
||||
# toplevel
|
||||
print "\nDemo testgtk_demos[] = {\n";
|
||||
|
||||
$first = 1;
|
||||
foreach $href (@demos) {
|
||||
$handled = 0;
|
||||
|
||||
# ugly evil hack
|
||||
if ($href->{title} eq "foo") {
|
||||
next;
|
||||
}
|
||||
|
||||
if ($first) {
|
||||
$first = 0;
|
||||
} else {
|
||||
print ", \n";
|
||||
}
|
||||
|
||||
if (defined @parents) {
|
||||
for ($i = 0; $i <= $#parents; $i++) {
|
||||
if ($parents[$i] eq $href->{title}) {
|
||||
|
||||
if ($href->{file} eq 'NULL') {
|
||||
print qq ( { "$href->{title}", NULL, $href->{func}, $child_arrays[$i] });
|
||||
} else {
|
||||
print qq ( { "$href->{title}", "$href->{file}", $href->{func}, $child_arrays[$i] });
|
||||
}
|
||||
|
||||
$handled = 1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($handled) {
|
||||
next;
|
||||
}
|
||||
|
||||
print qq ( { "$href->{title}", "$href->{file}", $href->{func}, NULL });
|
||||
}
|
||||
|
||||
print ",\n";
|
||||
print qq ( { NULL } );
|
||||
print "\n};\n";
|
||||
|
||||
exit 0;
|
||||
@@ -165,7 +165,7 @@ progressive_timeout (gpointer data)
|
||||
|
||||
gtk_widget_show (dialog);
|
||||
|
||||
g_object_unref (pixbuf_loader);
|
||||
g_object_unref (G_OBJECT (pixbuf_loader));
|
||||
pixbuf_loader = NULL;
|
||||
|
||||
load_timeout = 0;
|
||||
@@ -173,7 +173,7 @@ progressive_timeout (gpointer data)
|
||||
return FALSE; /* uninstall the timeout */
|
||||
}
|
||||
|
||||
g_object_unref (pixbuf_loader);
|
||||
g_object_unref (G_OBJECT (pixbuf_loader));
|
||||
pixbuf_loader = NULL;
|
||||
}
|
||||
}
|
||||
@@ -227,16 +227,16 @@ progressive_timeout (gpointer data)
|
||||
if (pixbuf_loader)
|
||||
{
|
||||
gdk_pixbuf_loader_close (pixbuf_loader, NULL);
|
||||
g_object_unref (pixbuf_loader);
|
||||
g_object_unref (G_OBJECT (pixbuf_loader));
|
||||
pixbuf_loader = NULL;
|
||||
}
|
||||
|
||||
pixbuf_loader = gdk_pixbuf_loader_new ();
|
||||
|
||||
g_signal_connect (pixbuf_loader, "area_prepared",
|
||||
g_signal_connect (G_OBJECT (pixbuf_loader), "area_prepared",
|
||||
G_CALLBACK (progressive_prepared_callback), image);
|
||||
|
||||
g_signal_connect (pixbuf_loader, "area_updated",
|
||||
g_signal_connect (G_OBJECT (pixbuf_loader), "area_updated",
|
||||
G_CALLBACK (progressive_updated_callback), image);
|
||||
}
|
||||
|
||||
@@ -272,7 +272,7 @@ cleanup_callback (GtkObject *object,
|
||||
if (pixbuf_loader)
|
||||
{
|
||||
gdk_pixbuf_loader_close (pixbuf_loader, NULL);
|
||||
g_object_unref (pixbuf_loader);
|
||||
g_object_unref (G_OBJECT (pixbuf_loader));
|
||||
pixbuf_loader = NULL;
|
||||
}
|
||||
|
||||
@@ -442,7 +442,7 @@ do_images (void)
|
||||
button = gtk_toggle_button_new_with_mnemonic ("_Insensitive");
|
||||
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
|
||||
|
||||
g_signal_connect (button, "toggled",
|
||||
g_signal_connect (G_OBJECT (button), "toggled",
|
||||
G_CALLBACK (toggle_sensitivity_callback),
|
||||
vbox);
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ add_columns (GtkTreeView *treeview)
|
||||
|
||||
/* column for fixed toggles */
|
||||
renderer = gtk_cell_renderer_toggle_new ();
|
||||
g_signal_connect (renderer, "toggled",
|
||||
g_signal_connect (G_OBJECT (renderer), "toggled",
|
||||
G_CALLBACK (fixed_toggled), model);
|
||||
|
||||
column = gtk_tree_view_column_new_with_attributes ("Fixed?",
|
||||
@@ -169,7 +169,7 @@ do_list_store (void)
|
||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||
gtk_window_set_title (GTK_WINDOW (window), "GtkListStore demo");
|
||||
|
||||
g_signal_connect (window, "destroy",
|
||||
g_signal_connect (G_OBJECT (window), "destroy",
|
||||
G_CALLBACK (gtk_widget_destroyed), &window);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
|
||||
|
||||
@@ -196,7 +196,7 @@ do_list_store (void)
|
||||
gtk_tree_view_set_search_column (GTK_TREE_VIEW (treeview),
|
||||
COLUMN_DESCRIPTION);
|
||||
|
||||
g_object_unref (model);
|
||||
g_object_unref (G_OBJECT (model));
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (sw), treeview);
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ gchar *
|
||||
demo_find_file (const char *base,
|
||||
GError **err)
|
||||
{
|
||||
g_return_val_if_fail (err == NULL || *err == NULL, NULL);
|
||||
g_return_val_if_fail (err == NULL || *err == NULL, FALSE);
|
||||
|
||||
if (g_file_test (base, G_FILE_TEST_EXISTS))
|
||||
return g_strdup (base);
|
||||
@@ -722,7 +722,7 @@ create_tree (void)
|
||||
|
||||
cell = gtk_cell_renderer_text_new ();
|
||||
|
||||
g_object_set (cell,
|
||||
g_object_set (G_OBJECT (cell),
|
||||
"style", PANGO_STYLE_ITALIC,
|
||||
NULL);
|
||||
|
||||
@@ -790,8 +790,8 @@ setup_default_icon (void)
|
||||
list = g_list_append (list, transparent);
|
||||
gtk_window_set_default_icon_list (list);
|
||||
g_list_free (list);
|
||||
g_object_unref (pixbuf);
|
||||
g_object_unref (transparent);
|
||||
g_object_unref (G_OBJECT (pixbuf));
|
||||
g_object_unref (G_OBJECT (transparent));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -811,7 +811,7 @@ main (int argc, char **argv)
|
||||
if (g_file_test ("../../gdk-pixbuf/libpixbufloader-pnm.la",
|
||||
G_FILE_TEST_EXISTS))
|
||||
{
|
||||
putenv ("GDK_PIXBUF_MODULE_FILE=../../gdk-pixbuf/gdk-pixbuf.loaders");
|
||||
putenv ("GDK_PIXBUF_MODULEDIR=../../gdk-pixbuf");
|
||||
putenv ("GTK_IM_MODULE_FILE=../../modules/input/gtk.immodules");
|
||||
}
|
||||
/* -- End of hack -- */
|
||||
|
||||
@@ -252,7 +252,7 @@ do_pixbufs (void)
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (window), da);
|
||||
|
||||
timeout_id = g_timeout_add (FRAME_DELAY, timeout, NULL);
|
||||
timeout_id = gtk_timeout_add (FRAME_DELAY, timeout, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ stock_item_info_free (StockItemInfo *info)
|
||||
g_free (info->macro);
|
||||
g_free (info->accel_str);
|
||||
if (info->small_icon)
|
||||
g_object_unref (info->small_icon);
|
||||
g_object_unref (G_OBJECT (info->small_icon));
|
||||
|
||||
g_free (info);
|
||||
}
|
||||
@@ -53,7 +53,7 @@ stock_item_info_copy (StockItemInfo *src)
|
||||
|
||||
info->small_icon = src->small_icon;
|
||||
if (info->small_icon)
|
||||
g_object_ref (info->small_icon);
|
||||
g_object_ref (G_OBJECT (info->small_icon));
|
||||
|
||||
return info;
|
||||
}
|
||||
@@ -121,7 +121,7 @@ create_model (void)
|
||||
GSList *ids;
|
||||
GSList *tmp_list;
|
||||
|
||||
store = gtk_list_store_new (2, STOCK_ITEM_INFO_TYPE, G_TYPE_STRING);
|
||||
store = gtk_list_store_new (1, STOCK_ITEM_INFO_TYPE);
|
||||
|
||||
ids = gtk_stock_list_ids ();
|
||||
ids = g_slist_sort (ids, (GCompareFunc) strcmp);
|
||||
@@ -190,7 +190,7 @@ create_model (void)
|
||||
w, h,
|
||||
GDK_INTERP_BILINEAR);
|
||||
|
||||
g_object_unref (info.small_icon);
|
||||
g_object_unref (G_OBJECT (info.small_icon));
|
||||
info.small_icon = scaled;
|
||||
}
|
||||
}
|
||||
@@ -210,12 +210,12 @@ create_model (void)
|
||||
info.macro = id_to_macro (info.id);
|
||||
|
||||
gtk_list_store_append (store, &iter);
|
||||
gtk_list_store_set (store, &iter, 0, &info, 1, info.id, -1);
|
||||
gtk_list_store_set (store, &iter, 0, &info, -1);
|
||||
|
||||
g_free (info.macro);
|
||||
g_free (info.accel_str);
|
||||
if (info.small_icon)
|
||||
g_object_unref (info.small_icon);
|
||||
g_object_unref (G_OBJECT (info.small_icon));
|
||||
|
||||
tmp_list = g_slist_next (tmp_list);
|
||||
}
|
||||
@@ -339,6 +339,26 @@ macro_set_func_text (GtkTreeViewColumn *tree_column,
|
||||
stock_item_info_free (info);
|
||||
}
|
||||
|
||||
static void
|
||||
macro_set_func_pixbuf (GtkTreeViewColumn *tree_column,
|
||||
GtkCellRenderer *cell,
|
||||
GtkTreeModel *model,
|
||||
GtkTreeIter *iter,
|
||||
gpointer data)
|
||||
{
|
||||
StockItemInfo *info;
|
||||
|
||||
gtk_tree_model_get (model, iter,
|
||||
0, &info,
|
||||
-1);
|
||||
|
||||
g_object_set (GTK_CELL_RENDERER (cell),
|
||||
"pixbuf", info->small_icon,
|
||||
NULL);
|
||||
|
||||
stock_item_info_free (info);
|
||||
}
|
||||
|
||||
static void
|
||||
id_set_func (GtkTreeViewColumn *tree_column,
|
||||
GtkCellRenderer *cell,
|
||||
@@ -436,7 +456,7 @@ do_stock_browser (void)
|
||||
|
||||
treeview = gtk_tree_view_new_with_model (model);
|
||||
|
||||
g_object_unref (model);
|
||||
g_object_unref (G_OBJECT (model));
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (sw), treeview);
|
||||
|
||||
@@ -447,8 +467,8 @@ do_stock_browser (void)
|
||||
gtk_tree_view_column_pack_start (column,
|
||||
cell_renderer,
|
||||
FALSE);
|
||||
gtk_tree_view_column_set_attributes (column, cell_renderer,
|
||||
"stock_id", 1, NULL);
|
||||
gtk_tree_view_column_set_cell_data_func (column, cell_renderer,
|
||||
macro_set_func_pixbuf, NULL, NULL);
|
||||
cell_renderer = gtk_cell_renderer_text_new ();
|
||||
gtk_tree_view_column_pack_start (column,
|
||||
cell_renderer,
|
||||
@@ -460,6 +480,7 @@ do_stock_browser (void)
|
||||
column);
|
||||
|
||||
cell_renderer = gtk_cell_renderer_text_new ();
|
||||
|
||||
gtk_tree_view_insert_column_with_data_func (GTK_TREE_VIEW (treeview),
|
||||
-1,
|
||||
"Label",
|
||||
@@ -468,7 +489,6 @@ do_stock_browser (void)
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
cell_renderer = gtk_cell_renderer_text_new ();
|
||||
gtk_tree_view_insert_column_with_data_func (GTK_TREE_VIEW (treeview),
|
||||
-1,
|
||||
"Accel",
|
||||
@@ -477,7 +497,6 @@ do_stock_browser (void)
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
cell_renderer = gtk_cell_renderer_text_new ();
|
||||
gtk_tree_view_insert_column_with_data_func (GTK_TREE_VIEW (treeview),
|
||||
-1,
|
||||
"ID",
|
||||
@@ -524,7 +543,7 @@ do_stock_browser (void)
|
||||
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
|
||||
gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
|
||||
|
||||
g_signal_connect (selection,
|
||||
g_signal_connect (G_OBJECT (selection),
|
||||
"changed",
|
||||
G_CALLBACK (selection_changed),
|
||||
NULL);
|
||||
|
||||
@@ -84,7 +84,7 @@ create_tags (GtkTextBuffer *buffer)
|
||||
gtk_text_buffer_create_tag (buffer, "foreground_stipple",
|
||||
"foreground_stipple", stipple, NULL);
|
||||
|
||||
g_object_unref (stipple);
|
||||
g_object_unref (G_OBJECT (stipple));
|
||||
|
||||
gtk_text_buffer_create_tag (buffer, "big_gap_before_line",
|
||||
"pixels_above_lines", 30, NULL);
|
||||
@@ -174,7 +174,7 @@ insert_text (GtkTextBuffer *buffer)
|
||||
}
|
||||
|
||||
scaled = gdk_pixbuf_scale_simple (pixbuf, 32, 32, GDK_INTERP_BILINEAR);
|
||||
g_object_unref (pixbuf);
|
||||
g_object_unref (G_OBJECT (pixbuf));
|
||||
pixbuf = scaled;
|
||||
|
||||
/* get start of buffer; each insertion will revalidate the
|
||||
@@ -332,10 +332,10 @@ insert_text (GtkTextBuffer *buffer)
|
||||
"heading", NULL);
|
||||
|
||||
gtk_text_buffer_insert (buffer, &iter,
|
||||
"You can put all sorts of Unicode text in the buffer.\n\nGerman (Deutsch S\303\274d) Gr\303\274\303\237 Gott\nGreek (\316\225\316\273\316\273\316\267\316\275\316\271\316\272\316\254) \316\223\316\265\316\271\316\254 \317\203\316\261\317\202\nHebrew \327\251\327\234\327\225\327\235\nJapanese (\346\227\245\346\234\254\350\252\236)\n\nThe widget properly handles bidirectional text, word wrapping, DOS/UNIX/Unicode paragraph separators, grapheme boundaries, and so on using the Pango internationalization framework.\n", -1);
|
||||
"You can put all sorts of Unicode text in the buffer.\n\nGerman (Deutsch Süd) Grüß Gott\nGreek (Ελληνικά) Γειά σας\nHebrew שלום\nJapanese (日本語)\n\nThe widget properly handles bidirectional text, word wrapping, DOS/UNIX/Unicode paragraph separators, grapheme boundaries, and so on using the Pango internationalization framework.\n", -1);
|
||||
|
||||
gtk_text_buffer_insert (buffer, &iter, "Here's a word-wrapped quote in a right-to-left language:\n", -1);
|
||||
gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, "\331\210\331\202\330\257 \330\250\330\257\330\243 \330\253\331\204\330\247\330\253 \331\205\331\206 \330\243\331\203\330\253\330\261 \330\247\331\204\331\205\330\244\330\263\330\263\330\247\330\252 \330\252\331\202\330\257\331\205\330\247 \331\201\331\212 \330\264\330\250\331\203\330\251 \330\247\331\203\330\263\331\212\331\210\331\206 \330\250\330\261\330\247\331\205\330\254\331\207\330\247 \331\203\331\205\331\206\330\270\331\205\330\247\330\252 \331\204\330\247 \330\252\330\263\330\271\331\211 \331\204\331\204\330\261\330\250\330\255\330\214 \330\253\331\205 \330\252\330\255\331\210\331\204\330\252 \331\201\331\212 \330\247\331\204\330\263\331\206\331\210\330\247\330\252 \330\247\331\204\330\256\331\205\330\263 \330\247\331\204\331\205\330\247\330\266\331\212\330\251 \330\245\331\204\331\211 \331\205\330\244\330\263\330\263\330\247\330\252 \331\205\330\247\331\204\331\212\330\251 \331\205\331\206\330\270\331\205\330\251\330\214 \331\210\330\250\330\247\330\252\330\252 \330\254\330\262\330\241\330\247 \331\205\331\206 \330\247\331\204\331\206\330\270\330\247\331\205 \330\247\331\204\331\205\330\247\331\204\331\212 \331\201\331\212 \330\250\331\204\330\257\330\247\331\206\331\207\330\247\330\214 \331\210\331\204\331\203\331\206\331\207\330\247 \330\252\330\252\330\256\330\265\330\265 \331\201\331\212 \330\256\330\257\331\205\330\251 \331\202\330\267\330\247\330\271 \330\247\331\204\331\205\330\264\330\261\331\210\330\271\330\247\330\252 \330\247\331\204\330\265\330\272\331\212\330\261\330\251. \331\210\330\243\330\255\330\257 \330\243\331\203\330\253\330\261 \331\207\330\260\331\207 \330\247\331\204\331\205\330\244\330\263\330\263\330\247\330\252 \331\206\330\254\330\247\330\255\330\247 \331\207\331\210 \302\273\330\250\330\247\331\206\331\203\331\210\330\263\331\210\331\204\302\253 \331\201\331\212 \330\250\331\210\331\204\331\212\331\201\331\212\330\247.\n\n", -1,
|
||||
gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, "وقد بدأ ثلاث من أكثر المؤسسات تقدما في شبكة اكسيون برامجها كمنظمات لا تسعى للربح، ثم تحولت في السنوات الخمس الماضية إلى مؤسسات مالية منظمة، وباتت جزءا من النظام المالي في بلدانها، ولكنها تتخصص في خدمة قطاع المشروعات الصغيرة. وأحد أكثر هذه المؤسسات نجاحا هو »بانكوسول« في بوليفيا.\n\n", -1,
|
||||
"rtl_quote", NULL);
|
||||
|
||||
gtk_text_buffer_insert (buffer, &iter, "You can put widgets in the buffer: Here's a button: ", -1);
|
||||
@@ -356,7 +356,7 @@ insert_text (GtkTextBuffer *buffer)
|
||||
gtk_text_buffer_get_bounds (buffer, &start, &end);
|
||||
gtk_text_buffer_apply_tag_by_name (buffer, "word_wrap", &start, &end);
|
||||
|
||||
g_object_unref (pixbuf);
|
||||
g_object_unref (G_OBJECT (pixbuf));
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -393,7 +393,7 @@ attach_widgets (GtkTextView *text_view)
|
||||
{
|
||||
widget = gtk_button_new_with_label ("Click Me");
|
||||
|
||||
g_signal_connect (widget, "clicked",
|
||||
g_signal_connect (G_OBJECT (widget), "clicked",
|
||||
G_CALLBACK (easter_egg_callback),
|
||||
NULL);
|
||||
}
|
||||
@@ -583,7 +583,7 @@ easter_egg_callback (GtkWidget *button,
|
||||
|
||||
recursive_attach_view (0, GTK_TEXT_VIEW (view), anchor);
|
||||
|
||||
g_object_unref (buffer);
|
||||
g_object_unref (G_OBJECT (buffer));
|
||||
|
||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||
sw = gtk_scrolled_window_new (NULL, NULL);
|
||||
|
||||
@@ -261,7 +261,7 @@ add_columns (GtkTreeView *treeview)
|
||||
|
||||
/* column for holiday names */
|
||||
renderer = gtk_cell_renderer_text_new ();
|
||||
g_object_set (renderer, "xalign", 0.0, NULL);
|
||||
g_object_set (G_OBJECT (renderer), "xalign", 0.0, NULL);
|
||||
|
||||
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
|
||||
-1, "Holiday",
|
||||
@@ -273,11 +273,11 @@ add_columns (GtkTreeView *treeview)
|
||||
|
||||
/* alex column */
|
||||
renderer = gtk_cell_renderer_toggle_new ();
|
||||
g_object_set (renderer, "xalign", 0.0, NULL);
|
||||
g_object_set (G_OBJECT (renderer), "xalign", 0.0, NULL);
|
||||
g_object_set_data (G_OBJECT (renderer), "column", (gint *)ALEX_COLUMN);
|
||||
|
||||
g_signal_connect (renderer, "toggled", G_CALLBACK (item_toggled), model);
|
||||
|
||||
g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (item_toggled),
|
||||
model);
|
||||
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
|
||||
-1, "Alex",
|
||||
renderer,
|
||||
@@ -296,11 +296,11 @@ add_columns (GtkTreeView *treeview)
|
||||
|
||||
/* havoc column */
|
||||
renderer = gtk_cell_renderer_toggle_new ();
|
||||
g_object_set (renderer, "xalign", 0.0, NULL);
|
||||
g_object_set (G_OBJECT (renderer), "xalign", 0.0, NULL);
|
||||
g_object_set_data (G_OBJECT (renderer), "column", (gint *)HAVOC_COLUMN);
|
||||
|
||||
g_signal_connect (renderer, "toggled", G_CALLBACK (item_toggled), model);
|
||||
|
||||
g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (item_toggled),
|
||||
model);
|
||||
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
|
||||
-1, "Havoc",
|
||||
renderer,
|
||||
@@ -318,11 +318,11 @@ add_columns (GtkTreeView *treeview)
|
||||
|
||||
/* tim column */
|
||||
renderer = gtk_cell_renderer_toggle_new ();
|
||||
g_object_set (renderer, "xalign", 0.0, NULL);
|
||||
g_object_set (G_OBJECT (renderer), "xalign", 0.0, NULL);
|
||||
g_object_set_data (G_OBJECT (renderer), "column", (gint *)TIM_COLUMN);
|
||||
|
||||
g_signal_connect (renderer, "toggled", G_CALLBACK (item_toggled), model);
|
||||
|
||||
g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (item_toggled),
|
||||
model);
|
||||
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
|
||||
-1, "Tim",
|
||||
renderer,
|
||||
@@ -341,11 +341,11 @@ add_columns (GtkTreeView *treeview)
|
||||
|
||||
/* owen column */
|
||||
renderer = gtk_cell_renderer_toggle_new ();
|
||||
g_object_set (renderer, "xalign", 0.0, NULL);
|
||||
g_object_set (G_OBJECT (renderer), "xalign", 0.0, NULL);
|
||||
g_object_set_data (G_OBJECT (renderer), "column", (gint *)OWEN_COLUMN);
|
||||
|
||||
g_signal_connect (renderer, "toggled", G_CALLBACK (item_toggled), model);
|
||||
|
||||
g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (item_toggled),
|
||||
model);
|
||||
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
|
||||
-1, "Owen",
|
||||
renderer,
|
||||
@@ -363,11 +363,11 @@ add_columns (GtkTreeView *treeview)
|
||||
|
||||
/* dave column */
|
||||
renderer = gtk_cell_renderer_toggle_new ();
|
||||
g_object_set (renderer, "xalign", 0.0, NULL);
|
||||
g_object_set (G_OBJECT (renderer), "xalign", 0.0, NULL);
|
||||
g_object_set_data (G_OBJECT (renderer), "column", (gint *)DAVE_COLUMN);
|
||||
|
||||
g_signal_connect (renderer, "toggled", G_CALLBACK (item_toggled), model);
|
||||
|
||||
g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (item_toggled),
|
||||
model);
|
||||
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
|
||||
-1, "Dave",
|
||||
renderer,
|
||||
@@ -397,7 +397,7 @@ do_tree_store (void)
|
||||
/* create window, etc */
|
||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||
gtk_window_set_title (GTK_WINDOW (window), "Card planning sheet");
|
||||
g_signal_connect (window, "destroy",
|
||||
g_signal_connect (G_OBJECT (window), "destroy",
|
||||
G_CALLBACK (gtk_widget_destroyed), &window);
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 8);
|
||||
@@ -421,7 +421,7 @@ do_tree_store (void)
|
||||
|
||||
/* create tree view */
|
||||
treeview = gtk_tree_view_new_with_model (model);
|
||||
g_object_unref (model);
|
||||
g_object_unref (G_OBJECT (model));
|
||||
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE);
|
||||
gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)),
|
||||
GTK_SELECTION_MULTIPLE);
|
||||
@@ -431,7 +431,7 @@ do_tree_store (void)
|
||||
gtk_container_add (GTK_CONTAINER (sw), treeview);
|
||||
|
||||
/* expand all rows after the treeview widget has been realized */
|
||||
g_signal_connect (treeview, "realize",
|
||||
g_signal_connect (G_OBJECT (treeview), "realize",
|
||||
G_CALLBACK (gtk_tree_view_expand_all), NULL);
|
||||
gtk_window_set_default_size (GTK_WINDOW (window), 650, 400);
|
||||
}
|
||||
|
||||
@@ -187,7 +187,7 @@ static guint timeout_id;
|
||||
static void
|
||||
destroy_cb (GtkObject *object, gpointer data)
|
||||
{
|
||||
g_source_remove (timeout_id);
|
||||
gtk_timeout_remove (timeout_id);
|
||||
timeout_id = 0;
|
||||
|
||||
gtk_main_quit ();
|
||||
@@ -225,7 +225,7 @@ main (int argc, char **argv)
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (window), da);
|
||||
|
||||
timeout_id = g_timeout_add (FRAME_DELAY, timeout, NULL);
|
||||
timeout_id = gtk_timeout_add (FRAME_DELAY, timeout, NULL);
|
||||
|
||||
gtk_widget_show_all (window);
|
||||
gtk_main ();
|
||||
|
||||
@@ -12,8 +12,8 @@ file_exists (const char *filename)
|
||||
}
|
||||
|
||||
void
|
||||
pixbuf_init (void)
|
||||
pixbuf_init ()
|
||||
{
|
||||
if (file_exists ("../gdk-pixbuf/libpixbufloader-pnm.la"))
|
||||
putenv ("GDK_PIXBUF_MODULE_FILE=../gdk-pixbuf/gdk-pixbuf.loaders");
|
||||
putenv ("GDK_PIXBUF_MODULEDIR=../gdk-pixbuf");
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ destroy_context (gpointer data)
|
||||
if (lc->pixbuf_loader)
|
||||
{
|
||||
gdk_pixbuf_loader_close (lc->pixbuf_loader, NULL);
|
||||
g_object_unref (lc->pixbuf_loader);
|
||||
g_object_unref (G_OBJECT (lc->pixbuf_loader));
|
||||
}
|
||||
|
||||
g_free (lc);
|
||||
@@ -230,7 +230,7 @@ progressive_timeout (gpointer data)
|
||||
|
||||
gtk_widget_show (dialog);
|
||||
|
||||
g_object_unref (lc->pixbuf_loader);
|
||||
g_object_unref (G_OBJECT (lc->pixbuf_loader));
|
||||
lc->pixbuf_loader = NULL;
|
||||
|
||||
lc->load_timeout = 0;
|
||||
@@ -238,7 +238,7 @@ progressive_timeout (gpointer data)
|
||||
return FALSE; /* uninstall the timeout */
|
||||
}
|
||||
|
||||
g_object_unref (lc->pixbuf_loader);
|
||||
g_object_unref (G_OBJECT (lc->pixbuf_loader));
|
||||
lc->pixbuf_loader = NULL;
|
||||
}
|
||||
}
|
||||
@@ -271,7 +271,7 @@ progressive_timeout (gpointer data)
|
||||
if (lc->pixbuf_loader)
|
||||
{
|
||||
gdk_pixbuf_loader_close (lc->pixbuf_loader, NULL);
|
||||
g_object_unref (lc->pixbuf_loader);
|
||||
g_object_unref (G_OBJECT (lc->pixbuf_loader));
|
||||
lc->pixbuf_loader = NULL;
|
||||
}
|
||||
|
||||
@@ -357,12 +357,6 @@ do_image (const char *filename)
|
||||
|
||||
start_progressive_loading (image);
|
||||
|
||||
g_signal_connect (window, "destroy",
|
||||
G_CALLBACK (gtk_main_quit), NULL);
|
||||
|
||||
g_signal_connect (window, "delete_event",
|
||||
G_CALLBACK (gtk_main_quit), NULL);
|
||||
|
||||
gtk_widget_show_all (window);
|
||||
|
||||
return window;
|
||||
@@ -411,12 +405,6 @@ do_nonprogressive (const gchar *filename)
|
||||
image = gtk_image_new_from_file (filename);
|
||||
gtk_container_add (GTK_CONTAINER (frame), image);
|
||||
|
||||
g_signal_connect (window, "destroy",
|
||||
G_CALLBACK (gtk_main_quit), NULL);
|
||||
|
||||
g_signal_connect (window, "delete_event",
|
||||
G_CALLBACK (gtk_main_quit), NULL);
|
||||
|
||||
gtk_widget_show_all (window);
|
||||
}
|
||||
|
||||
@@ -442,3 +430,4 @@ main (int argc,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,392 +0,0 @@
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include <demos.h>
|
||||
|
||||
static GtkTextBuffer *info_buffer;
|
||||
static GtkTextBuffer *source_buffer;
|
||||
|
||||
static gchar *current_file = NULL;
|
||||
|
||||
enum {
|
||||
TITLE_COLUMN,
|
||||
FILENAME_COLUMN,
|
||||
FUNC_COLUMN,
|
||||
ITALIC_COLUMN,
|
||||
NUM_COLUMNS
|
||||
};
|
||||
|
||||
gboolean
|
||||
read_line (FILE *stream, GString *str)
|
||||
{
|
||||
int n_read = 0;
|
||||
|
||||
flockfile (stream);
|
||||
|
||||
g_string_truncate (str, 0);
|
||||
|
||||
while (1)
|
||||
{
|
||||
int c;
|
||||
|
||||
c = getc_unlocked (stream);
|
||||
|
||||
if (c == EOF)
|
||||
goto done;
|
||||
else
|
||||
n_read++;
|
||||
|
||||
switch (c)
|
||||
{
|
||||
case '\r':
|
||||
case '\n':
|
||||
{
|
||||
int next_c = getc_unlocked (stream);
|
||||
|
||||
if (!(next_c == EOF ||
|
||||
(c == '\r' && next_c == '\n') ||
|
||||
(c == '\n' && next_c == '\r')))
|
||||
ungetc (next_c, stream);
|
||||
|
||||
goto done;
|
||||
}
|
||||
default:
|
||||
g_string_append_c (str, c);
|
||||
}
|
||||
}
|
||||
|
||||
done:
|
||||
|
||||
funlockfile (stream);
|
||||
|
||||
return n_read > 0;
|
||||
}
|
||||
|
||||
void
|
||||
load_file (const gchar *filename)
|
||||
{
|
||||
FILE *file;
|
||||
GtkTextIter start, end;
|
||||
GString *buffer = g_string_new (NULL);
|
||||
int state = 0;
|
||||
gboolean in_para = 0;
|
||||
|
||||
if (current_file && !strcmp (current_file, filename))
|
||||
return;
|
||||
|
||||
g_free (current_file);
|
||||
current_file = g_strdup (filename);
|
||||
|
||||
gtk_text_buffer_get_bounds (info_buffer, &start, &end);
|
||||
gtk_text_buffer_delete (info_buffer, &start, &end);
|
||||
|
||||
gtk_text_buffer_get_bounds (source_buffer, &start, &end);
|
||||
gtk_text_buffer_delete (source_buffer, &start, &end);
|
||||
|
||||
file = fopen (filename, "r");
|
||||
if (!file)
|
||||
{
|
||||
g_warning ("Cannot open %s: %s\n", filename, g_strerror (errno));
|
||||
return;
|
||||
}
|
||||
|
||||
gtk_text_buffer_get_iter_at_offset (info_buffer, &start, 0);
|
||||
while (read_line (file, buffer))
|
||||
{
|
||||
gchar *p = buffer->str;
|
||||
gchar *q;
|
||||
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
/* Reading title */
|
||||
while (*p == '/' || *p == '*' || isspace (*p))
|
||||
p++;
|
||||
q = p + strlen (p);
|
||||
while (q > p && isspace (*(q - 1)))
|
||||
q--;
|
||||
|
||||
if (q > p)
|
||||
{
|
||||
int len_chars = g_utf8_pointer_to_offset (p, q);
|
||||
|
||||
end = start;
|
||||
|
||||
g_assert (strlen (p) >= q - p);
|
||||
gtk_text_buffer_insert (info_buffer, &end, p, q - p);
|
||||
start = end;
|
||||
|
||||
gtk_text_iter_backward_chars (&start, len_chars);
|
||||
gtk_text_buffer_apply_tag_by_name (info_buffer, "title", &start, &end);
|
||||
|
||||
start = end;
|
||||
|
||||
state++;
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
/* Reading body of info section */
|
||||
while (isspace (*p))
|
||||
p++;
|
||||
if (*p == '*' && *(p + 1) == '/')
|
||||
{
|
||||
gtk_text_buffer_get_iter_at_offset (source_buffer, &start, 0);
|
||||
state++;
|
||||
}
|
||||
else
|
||||
{
|
||||
int len;
|
||||
|
||||
while (*p == '*' || isspace (*p))
|
||||
p++;
|
||||
|
||||
len = strlen (p);
|
||||
while (isspace (*(p + len - 1)))
|
||||
len--;
|
||||
|
||||
if (len > 0)
|
||||
{
|
||||
if (in_para)
|
||||
gtk_text_buffer_insert (info_buffer, &start, " ", 1);
|
||||
|
||||
g_assert (strlen (p) >= len);
|
||||
gtk_text_buffer_insert (info_buffer, &start, p, len);
|
||||
in_para = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_text_buffer_insert (info_buffer, &start, "\n", 1);
|
||||
in_para = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
/* Skipping blank lines */
|
||||
while (isspace (*p))
|
||||
p++;
|
||||
if (*p)
|
||||
{
|
||||
p = buffer->str;
|
||||
state++;
|
||||
/* Fall through */
|
||||
}
|
||||
else
|
||||
break;
|
||||
|
||||
case 3:
|
||||
/* Reading program body */
|
||||
gtk_text_buffer_insert (source_buffer, &start, p, -1);
|
||||
gtk_text_buffer_insert (info_buffer, &start, "\n", 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
gtk_text_buffer_get_bounds (source_buffer, &start, &end);
|
||||
gtk_text_buffer_apply_tag_by_name (info_buffer, "source", &start, &end);
|
||||
}
|
||||
|
||||
gboolean
|
||||
button_press_event_cb (GtkTreeView *tree_view,
|
||||
GdkEventButton *event,
|
||||
GtkTreeModel *model)
|
||||
{
|
||||
if (event->type == GDK_2BUTTON_PRESS)
|
||||
{
|
||||
GtkTreePath *path = NULL;
|
||||
|
||||
gtk_tree_view_get_path_at_pos (tree_view,
|
||||
event->window,
|
||||
event->x,
|
||||
event->y,
|
||||
&path,
|
||||
NULL);
|
||||
|
||||
if (path)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
gboolean italic;
|
||||
GVoidFunc func;
|
||||
|
||||
gtk_tree_model_get_iter (model, &iter, path);
|
||||
gtk_tree_store_get (GTK_TREE_STORE (model),
|
||||
&iter,
|
||||
FUNC_COLUMN, &func,
|
||||
ITALIC_COLUMN, &italic,
|
||||
-1);
|
||||
(func) ();
|
||||
gtk_tree_store_set (GTK_TREE_STORE (model),
|
||||
&iter,
|
||||
ITALIC_COLUMN, !italic,
|
||||
-1);
|
||||
gtk_tree_path_free (path);
|
||||
}
|
||||
|
||||
gtk_signal_emit_stop_by_name (GTK_OBJECT (tree_view),
|
||||
"button_press_event");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
selection_cb (GtkTreeSelection *selection,
|
||||
GtkTreeModel *model)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
GValue value = {0, };
|
||||
|
||||
if (! gtk_tree_selection_get_selected (selection, NULL, &iter))
|
||||
return;
|
||||
|
||||
gtk_tree_model_get_value (model, &iter,
|
||||
FILENAME_COLUMN,
|
||||
&value);
|
||||
load_file (g_value_get_string (&value));
|
||||
g_value_unset (&value);
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
create_text (GtkTextBuffer **buffer,
|
||||
gboolean is_source)
|
||||
{
|
||||
GtkWidget *scrolled_window;
|
||||
GtkWidget *text_view;
|
||||
PangoFontDescription *font_desc;
|
||||
|
||||
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
|
||||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
|
||||
GTK_POLICY_AUTOMATIC,
|
||||
GTK_POLICY_AUTOMATIC);
|
||||
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window),
|
||||
GTK_SHADOW_IN);
|
||||
|
||||
text_view = gtk_text_view_new ();
|
||||
gtk_container_add (GTK_CONTAINER (scrolled_window), text_view);
|
||||
|
||||
*buffer = gtk_text_buffer_new (NULL);
|
||||
gtk_text_view_set_buffer (GTK_TEXT_VIEW (text_view), *buffer);
|
||||
gtk_text_view_set_editable (GTK_TEXT_VIEW (text_view), FALSE);
|
||||
gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (text_view), FALSE);
|
||||
|
||||
if (is_source)
|
||||
{
|
||||
font_desc = pango_font_description_from_string ("Courier 10");
|
||||
gtk_widget_modify_font (text_view, font_desc);
|
||||
pango_font_description_free (font_desc);
|
||||
}
|
||||
|
||||
gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (text_view), !is_source);
|
||||
|
||||
return scrolled_window;
|
||||
}
|
||||
|
||||
/* Technically a list, but if we do go to 80 demos, we may want to move to a tree */
|
||||
static GtkWidget *
|
||||
create_tree (void)
|
||||
{
|
||||
GtkTreeSelection *selection;
|
||||
GtkCellRenderer *cell;
|
||||
GtkWidget *tree_view;
|
||||
GtkTreeViewColumn *column;
|
||||
GtkTreeStore *model;
|
||||
GtkTreeIter iter;
|
||||
gint i;
|
||||
|
||||
model = gtk_tree_store_new_with_types (NUM_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_BOOLEAN);
|
||||
tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
|
||||
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
|
||||
|
||||
gtk_tree_selection_set_type (GTK_TREE_SELECTION (selection),
|
||||
GTK_TREE_SELECTION_SINGLE);
|
||||
gtk_widget_set_usize (tree_view, 200, -1);
|
||||
|
||||
for (i=0; i < G_N_ELEMENTS (testgtk_demos); i++)
|
||||
{
|
||||
gtk_tree_store_append (GTK_TREE_STORE (model), &iter, NULL);
|
||||
|
||||
gtk_tree_store_set (GTK_TREE_STORE (model),
|
||||
&iter,
|
||||
TITLE_COLUMN, testgtk_demos[i].title,
|
||||
FILENAME_COLUMN, testgtk_demos[i].filename,
|
||||
FUNC_COLUMN, testgtk_demos[i].func,
|
||||
ITALIC_COLUMN, FALSE,
|
||||
-1);
|
||||
}
|
||||
|
||||
cell = gtk_cell_renderer_text_new ();
|
||||
column = gtk_tree_view_column_new_with_attributes ("Widget",
|
||||
cell,
|
||||
"text", TITLE_COLUMN,
|
||||
"italic", ITALIC_COLUMN,
|
||||
NULL);
|
||||
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view),
|
||||
GTK_TREE_VIEW_COLUMN (column));
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (selection), "selection_changed", selection_cb, model);
|
||||
gtk_signal_connect (GTK_OBJECT (tree_view), "button_press_event", GTK_SIGNAL_FUNC (button_press_event_cb), model);
|
||||
|
||||
return tree_view;
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
GtkWidget *window;
|
||||
GtkWidget *notebook;
|
||||
GtkWidget *hbox;
|
||||
GtkWidget *tree;
|
||||
GtkTextTag *tag;
|
||||
|
||||
gtk_init (&argc, &argv);
|
||||
|
||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||
gtk_signal_connect (GTK_OBJECT (window), "destroy",
|
||||
GTK_SIGNAL_FUNC (gtk_main_quit), NULL);
|
||||
|
||||
hbox = gtk_hbox_new (FALSE, 0);
|
||||
gtk_container_add (GTK_CONTAINER (window), hbox);
|
||||
|
||||
tree = create_tree ();
|
||||
gtk_box_pack_start (GTK_BOX (hbox), tree, FALSE, FALSE, 0);
|
||||
|
||||
notebook = gtk_notebook_new ();
|
||||
gtk_box_pack_start (GTK_BOX (hbox), notebook, TRUE, TRUE, 0);
|
||||
|
||||
gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
|
||||
create_text (&info_buffer, FALSE),
|
||||
gtk_label_new ("Info"));
|
||||
|
||||
|
||||
gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
|
||||
create_text (&source_buffer, TRUE),
|
||||
gtk_label_new ("Source"));
|
||||
|
||||
tag = gtk_text_buffer_create_tag (info_buffer, "title");
|
||||
gtk_object_set (GTK_OBJECT (tag),
|
||||
"font", "Sans 18",
|
||||
NULL);
|
||||
|
||||
tag = gtk_text_buffer_create_tag (info_buffer, "source");
|
||||
gtk_object_set (GTK_OBJECT (tag),
|
||||
"font", "Courier 10",
|
||||
"pixels_above_lines", 0,
|
||||
"pixels_below_lines", 0,
|
||||
NULL);
|
||||
|
||||
gtk_window_set_default_size (GTK_WINDOW (window), 600, 400);
|
||||
gtk_widget_show_all (window);
|
||||
|
||||
|
||||
load_file (testgtk_demos[0].filename);
|
||||
|
||||
gtk_main ();
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -100,7 +100,7 @@ keypress_check (GtkWidget *widget, GdkEventKey *evt, gpointer data)
|
||||
g_error_free (err);
|
||||
} else {
|
||||
compare_pixbufs (pixbuf, compare, "jpeg");
|
||||
g_object_unref (compare);
|
||||
g_object_unref (G_OBJECT (compare));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -126,7 +126,7 @@ keypress_check (GtkWidget *widget, GdkEventKey *evt, gpointer data)
|
||||
g_error_free (err);
|
||||
} else {
|
||||
compare_pixbufs (pixbuf, compare, "png");
|
||||
g_object_unref (compare);
|
||||
g_object_unref (G_OBJECT (compare));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -42,10 +42,10 @@ expose_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data)
|
||||
interp_type, overall_alpha,
|
||||
event->area.x, event->area.y, 16, 0xaaaaaa, 0x555555);
|
||||
|
||||
gdk_draw_pixbuf (widget->window, widget->style->fg_gc[GTK_STATE_NORMAL], dest,
|
||||
0, 0, event->area.x, event->area.y,
|
||||
event->area.width, event->area.height,
|
||||
GDK_RGB_DITHER_NORMAL, event->area.x, event->area.y);
|
||||
gdk_pixbuf_render_to_drawable (dest, widget->window, widget->style->fg_gc[GTK_STATE_NORMAL],
|
||||
0, 0, event->area.x, event->area.y,
|
||||
event->area.width, event->area.height,
|
||||
GDK_RGB_DITHER_NORMAL, event->area.x, event->area.y);
|
||||
|
||||
g_object_unref (dest);
|
||||
|
||||
|
||||
@@ -321,26 +321,16 @@ expose_func (GtkWidget *drawing_area, GdkEventExpose *event, gpointer data)
|
||||
pixbuf = (GdkPixbuf *)g_object_get_data (G_OBJECT (drawing_area), "pixbuf");
|
||||
|
||||
if (gdk_pixbuf_get_has_alpha (pixbuf)) {
|
||||
GdkPixbuf *dest;
|
||||
|
||||
gdk_window_set_back_pixmap (drawing_area->window, NULL, FALSE);
|
||||
|
||||
dest = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, event->area.width, event->area.height);
|
||||
|
||||
gdk_pixbuf_composite_color (pixbuf, dest,
|
||||
0, 0, event->area.width, event->area.height,
|
||||
-event->area.x, -event->area.y,
|
||||
(double) drawing_area->allocation.width / gdk_pixbuf_get_width (pixbuf),
|
||||
(double) drawing_area->allocation.height / gdk_pixbuf_get_height (pixbuf),
|
||||
GDK_INTERP_BILINEAR, 255,
|
||||
event->area.x, event->area.y, 16, 0xaaaaaa, 0x555555);
|
||||
|
||||
gdk_draw_pixbuf (drawing_area->window, drawing_area->style->fg_gc[GTK_STATE_NORMAL], dest,
|
||||
0, 0, event->area.x, event->area.y,
|
||||
event->area.width, event->area.height,
|
||||
GDK_RGB_DITHER_NORMAL, event->area.x, event->area.y);
|
||||
|
||||
g_object_unref (dest);
|
||||
gdk_draw_rgb_32_image (drawing_area->window,
|
||||
drawing_area->style->black_gc,
|
||||
event->area.x, event->area.y,
|
||||
event->area.width,
|
||||
event->area.height,
|
||||
GDK_RGB_DITHER_MAX,
|
||||
gdk_pixbuf_get_pixels (pixbuf)
|
||||
+ (event->area.y * gdk_pixbuf_get_rowstride (pixbuf))
|
||||
+ (event->area.x * gdk_pixbuf_get_n_channels (pixbuf)),
|
||||
gdk_pixbuf_get_rowstride (pixbuf));
|
||||
} else {
|
||||
gdk_draw_rgb_image (drawing_area->window,
|
||||
drawing_area->style->white_gc,
|
||||
@@ -362,6 +352,8 @@ config_func (GtkWidget *drawing_area, GdkEventConfigure *event, gpointer data)
|
||||
|
||||
pixbuf = (GdkPixbuf *)g_object_get_data (G_OBJECT (drawing_area), "pixbuf");
|
||||
|
||||
g_print ("X:%d Y:%d\n", event->width, event->height);
|
||||
|
||||
#if 0
|
||||
if (((event->width) != gdk_pixbuf_get_width (pixbuf)) ||
|
||||
((event->height) != gdk_pixbuf_get_height (pixbuf)))
|
||||
@@ -464,7 +456,7 @@ update_timeout (gpointer data)
|
||||
/* ignoring errors, we should not do that. */
|
||||
gdk_pixbuf_loader_close (GDK_PIXBUF_LOADER (status->loader), NULL);
|
||||
gtk_widget_queue_draw (*status->rgbwin);
|
||||
g_object_unref (status->loader);
|
||||
g_object_unref (G_OBJECT (status->loader));
|
||||
fclose (status->imagefile);
|
||||
g_free (status->buf);
|
||||
}
|
||||
@@ -480,7 +472,6 @@ progressive_prepared_callback (GdkPixbufLoader* loader, gpointer data)
|
||||
GdkPixbuf* pixbuf;
|
||||
|
||||
pixbuf = gdk_pixbuf_loader_get_pixbuf (loader);
|
||||
|
||||
g_assert (pixbuf != NULL);
|
||||
|
||||
g_object_ref (pixbuf); /* for the RGB window */
|
||||
@@ -496,9 +487,12 @@ progressive_updated_callback (GdkPixbufLoader* loader, guint x, guint y, guint w
|
||||
{
|
||||
GtkWidget** window_loc = data;
|
||||
|
||||
/* g_print ("progressive_updated_callback:\n\t%d\t%d\t%d\t%d\n", x, y, width, height); */
|
||||
|
||||
if (*window_loc != NULL)
|
||||
gtk_widget_queue_draw_area (*window_loc,
|
||||
x, y, width, height);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -506,12 +500,6 @@ static int readlen = 4096;
|
||||
|
||||
extern void pixbuf_init ();
|
||||
|
||||
void size_func (GdkPixbufLoader *loader, gint width, gint height, gpointer data)
|
||||
{
|
||||
gdk_pixbuf_loader_set_size (loader, width*2, height*2);
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
@@ -599,7 +587,7 @@ main (int argc, char **argv)
|
||||
found_valid = TRUE;
|
||||
}
|
||||
}
|
||||
#if 1
|
||||
#if 1
|
||||
{
|
||||
GtkWidget* rgb_window = NULL;
|
||||
ProgressFileStatus status;
|
||||
@@ -610,10 +598,6 @@ main (int argc, char **argv)
|
||||
status.rgbwin = &rgb_window;
|
||||
|
||||
status.buf = g_malloc (readlen);
|
||||
|
||||
g_signal_connect (pixbuf_loader, "size_prepared",
|
||||
G_CALLBACK (size_func), NULL);
|
||||
|
||||
g_signal_connect (pixbuf_loader, "area_prepared",
|
||||
G_CALLBACK (progressive_prepared_callback),
|
||||
&rgb_window);
|
||||
@@ -626,7 +610,7 @@ main (int argc, char **argv)
|
||||
|
||||
status.readlen = readlen;
|
||||
|
||||
status.timeout = g_timeout_add (100, update_timeout, &status);
|
||||
status.timeout = gtk_timeout_add (100, update_timeout, &status);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
295
docs/Changes-1.2.txt
Normal file
295
docs/Changes-1.2.txt
Normal file
@@ -0,0 +1,295 @@
|
||||
|
||||
|
||||
DON'T EDIT THIS FILE - changes are now maintained in the reference
|
||||
manual, see docs/reference/gtk/changes-*.sgml. Also, when adding a
|
||||
change to the manual, you should amend the docs for all
|
||||
newly-deprecated features to point to the replacement for that
|
||||
feature, and be sure the GTK_DISABLE_DEPRECATED guards are in place in
|
||||
the header files. Be sure to add a note to the docs for EACH
|
||||
deprecated function; don't just do the changes-*.sgml change.
|
||||
|
||||
|
||||
|
||||
Incompatible Changes from GTK+-1.0 to GTK+-1.2:
|
||||
|
||||
* GtkAcceleratorTable has been replaced with GtkAccelGroup
|
||||
|
||||
* GtkMenuFactory has been replaced with GtkItemFactory, although
|
||||
a version of GtkMenuFactory is currently still provided to ease
|
||||
the migration phase.
|
||||
|
||||
* The GtkTypeInfo structures used in the gtk_*_type_init() functions have
|
||||
changed a bit, the old format:
|
||||
GtkTypeInfo bin_info =
|
||||
{
|
||||
"GtkBin",
|
||||
sizeof (GtkBin),
|
||||
sizeof (GtkBinClass),
|
||||
(GtkClassInitFunc) gtk_bin_class_init,
|
||||
(GtkObjectInitFunc) gtk_bin_init,
|
||||
(GtkArgSetFunc) NULL,
|
||||
(GtkArgGetFunc) NULL,
|
||||
};
|
||||
|
||||
needs to be converted to:
|
||||
|
||||
static const GtkTypeInfo bin_info =
|
||||
{
|
||||
"GtkBin",
|
||||
sizeof (GtkBin),
|
||||
sizeof (GtkBinClass),
|
||||
(GtkClassInitFunc) gtk_bin_class_init,
|
||||
(GtkObjectInitFunc) gtk_bin_init,
|
||||
/* reserved_1 */ NULL,
|
||||
/* reserved_2 */ NULL,
|
||||
(GtkClassInitFunc) NULL,
|
||||
};
|
||||
|
||||
the GtkArgSetFunc and GtkArgGetFunc functions are not supported from the
|
||||
type system anymore, and you should make sure that your code only fills
|
||||
in these fields with NULL and doesn't use the deprecated function typedefs
|
||||
(GtkArgSetFunc) and (GtkArgGetFunc) anymore.
|
||||
|
||||
* A number of Gtk functions were renamed. For compatibility, gtkcompat.h
|
||||
#define's the old 1.0.x function names in terms of the new names.
|
||||
To assure your Gtk program doesn't rely on outdated function
|
||||
variants, compile your program with -DGTK_DISABLE_COMPAT_H to disable
|
||||
the compatibility aliases.
|
||||
|
||||
Here is the list of the old names and replacements:
|
||||
|
||||
Old: Replacement:
|
||||
|
||||
gtk_accel_label_accelerator_width gtk_accel_label_get_accel_width
|
||||
gtk_check_menu_item_set_state gtk_check_menu_item_set_active
|
||||
gtk_container_border_width gtk_container_set_border_width
|
||||
gtk_label_set gtk_label_set_text
|
||||
gtk_notebook_current_page gtk_notebook_get_current_page
|
||||
gtk_packer_configure gtk_packer_set_child_packing
|
||||
gtk_paned_gutter_size gtk_paned_set_gutter_size
|
||||
gtk_paned_handle_size gtk_paned_set_handle_size
|
||||
gtk_scale_value_width gtk_scale_get_value_width
|
||||
gtk_style_apply_default_pixmap gtk_style_apply_default_background (1)
|
||||
gtk_toggle_button_set_state gtk_toggle_button_set_active
|
||||
gtk_window_position gtk_window_set_position
|
||||
|
||||
(1) gtk_style_apply_default_background() has an additional
|
||||
argument, gboolean set_bg. This parameter should be FALSE if
|
||||
the background is being set for a NO_WINDOW widget, otherwise
|
||||
true.
|
||||
|
||||
* During the development phase of the 1.1.x line of Gtk certain functions
|
||||
were deprecated and later removed. Functions affected are:
|
||||
|
||||
Removed: Replacement:
|
||||
gtk_clist_set_border gtk_clist_set_shadow_type
|
||||
gtk_container_block_resize gtk_container_set_resize_mode
|
||||
gtk_container_unblock_resize gtk_container_set_resize_mode
|
||||
gtk_container_need_resize gtk_container_check_resize
|
||||
gtk_ctree_show_stub gtk_ctree_set_show_stub
|
||||
gtk_ctree_set_reorderable gtk_clist_set_reorderable
|
||||
gtk_ctree_set_use_drag_icons gtk_clist_set_use_drag_icons
|
||||
gtk_entry_adjust_scroll (1)
|
||||
gtk_object_class_add_user_signal gtk_object_class_user_signal_new
|
||||
gtk_preview_put_row gtk_preview_put
|
||||
gtk_progress_bar_construct gtk_progress_set_adjustment
|
||||
gtk_scrolled_window_construct gtk_scrolled_window_set_{h|v}adjustment
|
||||
gtk_spin_button_construct gtk_spin_button_configure
|
||||
gtk_widget_thaw_accelerators gtk_widget_unlock_accelerators
|
||||
gtk_widget_freeze_accelerators gtk_widget_lock_accelerators
|
||||
|
||||
(1) This function is no longer needed as GtkEntry should automatically
|
||||
keep the scroll adjusted properly.
|
||||
|
||||
* Additionally, all gtk_*_interp functions were removed.
|
||||
gtk_*_full versions were provided as of GTK+-1.0 and should
|
||||
be used instead.
|
||||
|
||||
* GtkButton has been changed to derive from GtkBin.
|
||||
To access a button's child, use GTK_BIN (button)->child, instead
|
||||
of the old GTK_BUTTON (button)->child.
|
||||
|
||||
* The selection API has been slightly modified:
|
||||
|
||||
gtk_selection_add_handler() and gtk_selection_add_handler_full()
|
||||
have been removed. To supply the selection, one now register
|
||||
the targets one is interested in with:
|
||||
|
||||
void gtk_selection_add_target (GtkWidget *widget,
|
||||
GdkAtom selection,
|
||||
GdkAtom target,
|
||||
guint info);
|
||||
|
||||
or:
|
||||
|
||||
void gtk_selection_add_targets (GtkWidget *widget,
|
||||
GdkAtom selection,
|
||||
GtkTargetEntry *targets,
|
||||
guint ntargets);
|
||||
|
||||
When a request for a selection is received, the new "selection_get"
|
||||
signal will be called:
|
||||
|
||||
void "selection_get" (GtkWidget *widget,
|
||||
GtkSelectionData *selection_data,
|
||||
guint info,
|
||||
guint time);
|
||||
|
||||
A "time" parameter has also been added to the "selection_received"
|
||||
signal.
|
||||
|
||||
void "selection_received" (GtkWidget *widget,
|
||||
GtkSelectionData *selection_data,
|
||||
guint time);
|
||||
|
||||
* The old drag and drop API has been completely removed and replaced.
|
||||
See the reference documentation for details on the new API.
|
||||
|
||||
* Support for Themes has been added. In general, this does
|
||||
not affect application code, however, a few new rules should
|
||||
be observed:
|
||||
|
||||
- To set a shape for a window, you must use
|
||||
gtk_widget_shape_combine_mask() instead of
|
||||
gdk_window_shape_combine_mask(), or the shape will be
|
||||
reset when switching themes.
|
||||
|
||||
- It is no longer permissable to draw directly on an arbitrary
|
||||
widget, or to set an arbitrary widget's background pixmap.
|
||||
If you need to do that, use a GtkDrawingArea or (for a
|
||||
toplevel) the new GtkDrawWindow widget.
|
||||
|
||||
* The ScrolledWindow widget no longer creates a Viewport
|
||||
automatically. Instead, it has been generalized to accept
|
||||
any "self-scrolling" widget.
|
||||
|
||||
The self-scrolling widgets in the Gtk+ core are GtkViewport,
|
||||
GtkCList, GtkCTree, GtkText, and GtkLayout. All of these widgets can
|
||||
be added to a scrolled window as normal children with
|
||||
gtk_container_add() and scrollbars will be set up automatically.
|
||||
|
||||
To add scrollbars to a non self-scrolling widget, (such as a GtkList),
|
||||
first add it to a viewport, then add the viewport to a scrolled window.
|
||||
The scrolled window code provides a convenience function to do this:
|
||||
|
||||
void gtk_scrolled_window_add_with_viewport (GtkScrolledWindow *scrollwin,
|
||||
GtkWidget *child);
|
||||
|
||||
This does exactly what it says - it creates a Viewport, adds the child
|
||||
widget to it, then adds the Viewport to the scrolled window.
|
||||
|
||||
The scrollbars have been removed from the GtkCList and GtkCTree,
|
||||
because they are now scrolled by simply adding them to a Scrolled
|
||||
Window. The scrollbar policy is set on the scrolled window with
|
||||
gtk_scrolled_window_set_policy() and not on the child widgets
|
||||
(e.g. GtkCList's gtk_clist_set_policy() was removed).
|
||||
|
||||
* The "main loop" of GTK+ has been moved to GLib. This should not
|
||||
affect existing programs, since compatibility functions have
|
||||
been provided. However, you may want to consider migrating
|
||||
your code to use the GLib main loop directly.
|
||||
|
||||
* the GTK_BASIC flag was removed, and with it the corresponding
|
||||
macro and function GTK_WIDGET_BASIC() and gtk_widget_basic().
|
||||
|
||||
* All freeze/thaw methods are now recursive - that is, if you
|
||||
freeze a widget n times, you must also thaw it n times.
|
||||
|
||||
Therefore, if you have code like:
|
||||
|
||||
gboolean frozen;
|
||||
frozen = GTK_CLIST_FROZEN (clist);
|
||||
gtk_clist_freeze (clist);
|
||||
[...]
|
||||
if (!frozen)
|
||||
gtk_clist_thaw (clist);
|
||||
|
||||
it will not work anymore. It must be, simply:
|
||||
|
||||
gtk_clist_freeze (clist);
|
||||
[...]
|
||||
gtk_clist_thaw (clist);
|
||||
|
||||
* The thread safety in GTK+ 1.2 is slightly different than
|
||||
that which appeared in early versions in the 1.1
|
||||
development track. The main difference is that it relies on
|
||||
the thread primitives in GLib, and on the thread-safe
|
||||
GLib main loop.
|
||||
|
||||
This means:
|
||||
|
||||
- You must call g_thread_init() before executing any
|
||||
other GTK+ or GDK functions in a threaded GTK+ program.
|
||||
|
||||
- Idles, timeouts, and input functions are executed outside
|
||||
of the main GTK+ lock. So, if you need to call GTK+
|
||||
inside of such a callback, you must surround the callback
|
||||
with a gdk_threads_enter()/gdk_threads_leave() pair.
|
||||
|
||||
[ However, signals are still executed within the main
|
||||
GTK+ lock ]
|
||||
|
||||
In particular, this means, if you are writing widgets
|
||||
that might be used in threaded programs, you _must_
|
||||
surround timeouts and idle functions in this matter.
|
||||
|
||||
As always, you must also surround any calls to GTK+
|
||||
not made within a signal handler with a
|
||||
gdk_threads_enter()/gdk_threads_leave() pair.
|
||||
|
||||
- There is no longer a special --with-threads configure
|
||||
option for GTK+. To use threads in a GTK+ program, you
|
||||
must:
|
||||
|
||||
a) If you want to use the native thread implementation,
|
||||
make sure GLib found this in configuration, otherwise,
|
||||
call you must provide a thread implementation to
|
||||
g_thread_init().
|
||||
|
||||
b) Link with the libraries returned by:
|
||||
|
||||
gtk-config --libs gthread
|
||||
|
||||
and use the cflags from:
|
||||
|
||||
gtk-config --cflags gthread
|
||||
|
||||
You can get these CFLAGS and LIBS by passing gthread
|
||||
as the fourth parameter to the AM_PATH_GTK automake
|
||||
macro.
|
||||
|
||||
* Prior to GTK+-1.2, there were two conflicting interpretations
|
||||
of widget->requistion. It was either taken to be
|
||||
the size that the widget requested, or that size
|
||||
modified by calls to gtk_widget_set_usize(). In GTK+-1.2,
|
||||
it is always interpreted the first way.
|
||||
|
||||
Container widgets are affected in two ways by this:
|
||||
|
||||
1) Container widgets should not pass widget->requisition
|
||||
as the second parameter to gtk_widget_size_request().
|
||||
Instead they should call it like:
|
||||
|
||||
GtkRequisition child_requisition;
|
||||
gtk_widget_size_request (widget, &child_requisition);
|
||||
|
||||
2) Container widgets should not access child->requisition
|
||||
directly. Either they should use the values returned
|
||||
by gtk_widget_size_request(), or they should call
|
||||
the new function:
|
||||
|
||||
void gtk_widget_get_child_requisition (GtkWidget *widget,
|
||||
GtkRequisition *requisition);
|
||||
|
||||
which returns the requisition of the given widget, modified
|
||||
by calls to gtk_widget_set_usize().
|
||||
|
||||
|
||||
|
||||
DON'T EDIT THIS FILE - changes are now maintained in the reference
|
||||
manual, see docs/reference/gtk/changes-*.sgml. Also, when adding a
|
||||
change to the manual, you should amend the docs for all
|
||||
newly-deprecated features to point to the replacement for that
|
||||
feature, and be sure the GTK_DISABLE_DEPRECATED guards are in place in
|
||||
the header files. Be sure to add a note to the docs for EACH
|
||||
deprecated function; don't just do the changes-*.sgml change.
|
||||
587
docs/Changes-2.0.txt
Normal file
587
docs/Changes-2.0.txt
Normal file
@@ -0,0 +1,587 @@
|
||||
|
||||
|
||||
|
||||
DON'T EDIT THIS FILE - changes are now maintained in the reference
|
||||
manual, see docs/reference/gtk/changes-*.sgml. Also, when adding a
|
||||
change to the manual, you should amend the docs for all
|
||||
newly-deprecated features to point to the replacement for that
|
||||
feature, and be sure the GTK_DISABLE_DEPRECATED guards are in place in
|
||||
the header files. Be sure to add a note to the docs for EACH
|
||||
deprecated function; don't just do the changes-*.sgml change.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Incompatible Changes from GTK+-1.2 to GTK+-2.0:
|
||||
|
||||
* gtk_container_get_toplevels() was removed and replaced with
|
||||
gtk_window_list_toplevels(), which has different memory management
|
||||
on the return value (gtk_window_list_toplevels() copies the GList
|
||||
and also references each widget in the list, so you have to
|
||||
g_list_free() the list after first unref'ing each list member).
|
||||
|
||||
* The gdk_time* functions have been removed. This functionality
|
||||
has been unused since the main loop was moved into GLib
|
||||
prior to 1.2.
|
||||
|
||||
* The signature for GtkPrintFunc (used for gtk_item_factory_dump_items)
|
||||
has been changed to take a 'const gchar *' instead of 'gchar *', to
|
||||
match what we do for glib, and other similar cases.
|
||||
|
||||
* The detail arguments in the GtkStyleClass structure are now 'const gchar *'.
|
||||
|
||||
* gtk_paned_set_gutter_size() has been removed, since the small handle tab
|
||||
has been changed to include the entire area previously occupied by
|
||||
the gutter.
|
||||
|
||||
* gtk_paned_set_handle_size() has been removed, in favor of a style property,
|
||||
since this is an option that only makes sense for themes to adjust.
|
||||
|
||||
* GDK no longer selects OwnerGrabButtonMask for button presses. This means
|
||||
that the automatic grab that occurs when the user presses a button
|
||||
will have owner_events = FALSE, so all events are redirected to the
|
||||
grab window, even events that would normally go to other windows of the
|
||||
window's owner.
|
||||
|
||||
* GtkColorSelectionDialog has now been moved into it's own set of files,
|
||||
gtkcolorseldialog.c and gtkcolorseldialog.h.
|
||||
|
||||
* gtk_widget_shape_combine_mask() now keeps a reference count on the
|
||||
mask pixmap that is passed in.
|
||||
|
||||
* the GtkPatternSpec has been moved to glib as GPatternSpec, the pattern
|
||||
arguments to gtk_item_factory_dump_items() and gtk_item_factory_dump_rc()
|
||||
have thusly been changed to take a GPatternSpec instead of GtkPatternSpec.
|
||||
|
||||
* Type system changes:
|
||||
- GTK_TYPE_OBJECT is not a fundamental type anymore. Type checks of the
|
||||
style (GTK_FUNDAMENTAL_TYPE (some_type) == GTK_TYPE_OBJECT)
|
||||
will not work anymore. As a replacement, (GTK_TYPE_IS_OBJECT (some_type))
|
||||
can be used now.
|
||||
- The following types vanished: GTK_TYPE_ARGS, GTK_TYPE_CALLBACK,
|
||||
GTK_TYPE_C_CALLBACK, GTK_TYPE_FOREIGN. The corresponding GtkArg
|
||||
fields and field access macros are also gone.
|
||||
- The following type aliases vanished: GTK_TYPE_FLAT_FIRST,
|
||||
GTK_TYPE_FLAT_LAST, GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST.
|
||||
- The type macros GTK_TYPE_MAKE() and GTK_TYPE_SEQNO() vanished, use of
|
||||
GTK_FUNDAMENTAL_TYPE() is discouraged. Instead, the corresponding GType
|
||||
API should be used: G_TYPE_FUNDAMENTAL(), G_TYPE_DERIVE_ID(),
|
||||
G_TYPE_BRANCH_SEQNO(). Note that the GLib type system doesn't build new
|
||||
type ids based on a global incremental sequential number anymore, but
|
||||
numbers new type ids sequentially per fundamental type branch.
|
||||
- The following type functions vanished/were replaced:
|
||||
Old Function Replacement
|
||||
gtk_type_query() - being investigated -
|
||||
gtk_type_set_varargs_type() -
|
||||
gtk_type_get_varargs_type() -
|
||||
gtk_type_check_object_cast() g_type_check_instance_cast()
|
||||
gtk_type_check_class_cast() g_type_check_class_cast()
|
||||
gtk_type_describe_tree() -
|
||||
gtk_type_describe_heritage() -
|
||||
gtk_type_free() -
|
||||
gtk_type_children_types() g_type_children()
|
||||
gtk_type_set_chunk_alloc() GTypeInfo.n_preallocs
|
||||
gtk_type_register_enum() g_enum_register_static()
|
||||
gtk_type_register_flags() g_flags_register_static()
|
||||
gtk_type_parent_class() g_type_parent() / g_type_class_peek_parent()
|
||||
Use of g_type_class_ref() / g_type_class_unref() and g_type_class_peek()
|
||||
is recommended over usage of gtk_type_class().
|
||||
Use of g_type_register_static() / g_type_register_dynamic() is recommended
|
||||
over usage of gtk_type_unique().
|
||||
|
||||
* Object system changes:
|
||||
GtkObject derives from GObject, so is not the basic object type anymore.
|
||||
This imposes the following source incompatible changes:
|
||||
- GtkObject has no klass field anymore, an object's class can be retrived
|
||||
with the object's coresponding GTK_<OBJECT>_GET_CLASS (object) macro.
|
||||
- GtkObjectClass has no type field anymore, a class's type can be retrived
|
||||
with the GTK_CLASS_TYPE (class) macro.
|
||||
- GtkObjectClass does not introduce the finalize() and shutdown() methods
|
||||
anymore. While shutdown() is intended for GTK+ internal use only, finalize()
|
||||
is required by a variety of object implementations. GObjectClass.finalize
|
||||
should be overriden here, e.g.:
|
||||
static void gtk_label_finalize (GObject *gobject)
|
||||
{
|
||||
GtkLabel *label = GTK_LABEL (gobject);
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||
}
|
||||
static void gtk_label_class_init (GtkLabelClass *class)
|
||||
{
|
||||
GObjectClass *gobject_class = G_OBJECT_CLASS (class);
|
||||
|
||||
gobject_class->finalize = gtk_label_finalize;
|
||||
}
|
||||
|
||||
- the GtkObject::destroy signal can now be emitted multiple times on an object.
|
||||
::destroy implementations should check that make sure that they take this
|
||||
into account, by checking to make sure that resources are there before
|
||||
freeing them. For example:
|
||||
if (object->foo_data)
|
||||
{
|
||||
g_free (object->foo_data);
|
||||
object->foo_data = NULL;
|
||||
}
|
||||
|
||||
Also, ::destroy implementations have to release object references that
|
||||
the object holds. Code in finalize implementations such as:
|
||||
if (object->adjustment)
|
||||
{
|
||||
gtk_object_unref (object->adjustment);
|
||||
object->adjustment = NULL;
|
||||
}
|
||||
have to be moved into the ::destroy implementations. The reason for doing
|
||||
this is that all object reference cycles should be broken at destruction
|
||||
time.
|
||||
|
||||
Because the ::destroy signal can be emitted multiple times, it no longer
|
||||
makes sense to check if a widget has been destroyed using the
|
||||
GTK_OBJECT_DESTROYED() macro, and this macro has been removed. If
|
||||
catching destruction is still needed, it can be done with a signal
|
||||
connection to ::destroy.
|
||||
|
||||
* Signal system changes:
|
||||
The Gtk 2.0 signal merly proxies the GSignal system now.
|
||||
For future usage, direct use of the GSignal API is recommended,
|
||||
this avoids significant performance hits where GtkArg structures
|
||||
have to be converted into GValues. For language bindings,
|
||||
GSignal+GClosure provide a much more flexible and convenient
|
||||
mechanism to hook into signal emissions or install class default
|
||||
handlers, so the old GtkSignal API for language bindings is not
|
||||
supported anymore.
|
||||
Functions that got removed in the Gtk signal API:
|
||||
gtk_signal_n_emissions(), gtk_signal_n_emissions_by_name(),
|
||||
gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
|
||||
gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
|
||||
gtk_signal_remove_emission_hook(), gtk_signal_query().
|
||||
Also, the GtkCallbackMarshal argument to gtk_signal_connect_full() is
|
||||
not supported anymore.
|
||||
For many of the removed functions, similar variants are available
|
||||
in the g_signal_* namespace.
|
||||
The GSignal system perfomrs emissions in a slightly different manner than
|
||||
the old GtkSignal code. Signal handlers that are connected to signal "foo"
|
||||
on object "bar" while "foo" is being emitted, will not be called anymore
|
||||
during the emission they were connected within.
|
||||
|
||||
* Inserting and deleting text in GtkEntry though functions such
|
||||
as gtk_entry_insert_text() now leave the cursor at its original
|
||||
position in the text instead of moving it to the location of
|
||||
the insertion/deletion.
|
||||
|
||||
* The ->label field of GtkFrame widgets has been removed. (As part of
|
||||
a change to allow the arbitrary widgets in the title position.) The
|
||||
text can now be retrieved with the new function gtk_frame_get_text().
|
||||
|
||||
* The 'font' and 'font_set' declarations in RC files are now ignored. There
|
||||
is a new 'font_name' field that holds the string form of a Pango font
|
||||
|
||||
* A number of types in GDK have become subclasses of GObject. For the
|
||||
most part, this should not break anyone's code. However, it's now
|
||||
possible/encouraged to use g_object_ref()/g_object_unref() and other
|
||||
GObject features with these GDK types. The converted types are:
|
||||
GdkWindow, GdkDrawable, GdkPixmap, GdkImage, GdkGC, GdkDragContext,
|
||||
GdkColormap
|
||||
|
||||
* All drawables including pixmaps used to have a type tag, the
|
||||
GdkWindowType enumeration, which included GDK_WINDOW_PIXMAP.
|
||||
GdkWindowType is now a property of GdkWindow _only_, and there is
|
||||
no GDK_WINDOW_PIXMAP. You can use the GDK_IS_PIXMAP() macro to see
|
||||
if you have a pixmap, if you need to know that.
|
||||
|
||||
* GtkStyle and GtkRcStyle are now subclasses of GObject as well. This
|
||||
requires fairly extensive changes to theme engines quite badly, but
|
||||
shouldn't affect most other code.
|
||||
|
||||
* xthickness/ythickness have moved from GtkStyleClass to GtkStyle
|
||||
(from class to instance). This gives themes a bit more flexibility
|
||||
and is generally more of the Right Thing. You can trivially fix
|
||||
your code with s/style->klass->xthickness/style->xthickness/g and
|
||||
same for ythickness.
|
||||
|
||||
* Some GtkStyle draw_ methods have been removed (cross, oval, ramp)
|
||||
and others have been added (expander, layout). This will require
|
||||
changes to theme engines.
|
||||
|
||||
* If you were using private GDK types, they have been rearranged
|
||||
significantly. You shouldn't use private types. ;-)
|
||||
|
||||
* The visual for a widget, and also the default visual is now derived
|
||||
from the colormap for the widget and the default colormap.
|
||||
gtk_widget_set_visual(), gtk_widget_set_default_visual(), gtk_widget_push_visual()
|
||||
and gtk_widget_pop_visual() now do nothing. Since the visual always
|
||||
had to match that of the colormap, it is safe to simply delete
|
||||
all references to these functions.
|
||||
|
||||
* A number of functions in GDK have been renamed for consistency and
|
||||
clarity. #defines to provide backwards compatibility have been
|
||||
included, but can be disabled by defineing GDK_DISABLE_DEPRECATED.
|
||||
|
||||
#define gdk_draw_pixmap gdk_draw_drawable
|
||||
#define gdk_draw_bitmap gdk_draw_drawable
|
||||
|
||||
#define gdk_window_get_size gdk_drawable_get_size
|
||||
#define gdk_window_get_type gdk_window_get_window_type
|
||||
#define gdk_window_get_colormap gdk_drawable_get_colormap
|
||||
#define gdk_window_set_colormap gdk_drawable_set_colormap
|
||||
#define gdk_window_get_visual gdk_drawable_get_visual
|
||||
|
||||
#define gdk_window_ref gdk_drawable_ref
|
||||
#define gdk_window_unref gdk_drawable_unref
|
||||
#define gdk_bitmap_ref gdk_drawable_ref
|
||||
#define gdk_bitmap_unref gdk_drawable_unref
|
||||
#define gdk_pixmap_ref gdk_drawable_ref
|
||||
#define gdk_pixmap_unref gdk_drawable_unref
|
||||
|
||||
#define gdk_gc_destroy gdk_gc_unref
|
||||
#define gdk_image_destroy gdk_image_unref
|
||||
#define gdk_cursor_destroy gdk_cursor_unref
|
||||
|
||||
(Note that g_object_ref() and g_object_unref() may be used for all of
|
||||
the above _ref and _unref functions.)
|
||||
|
||||
#define gdk_window_copy_area(drawable,gc,x,y,source_drawable,source_x,source_y,width,height) \
|
||||
gdk_draw_pixmap(drawable,gc,source_drawable,source_x,source_y,x,y,width,height)
|
||||
|
||||
#define gdk_rgb_get_cmap gdk_rgb_get_colormap
|
||||
|
||||
gtk_widget_popup() was removed, it was only usable for GtkWindows, and
|
||||
there the same effect can be achived by gtk_widget_set_uposition() and
|
||||
gtk_widget_show().
|
||||
|
||||
* gdk_pixmap_foreign_new() no longer calls XFreePixmap() on the
|
||||
pixmap when the GdkPixmap is finalized. This change corresponds
|
||||
to the behavior of gdk_window_foreign_new(), and fixes a lot
|
||||
of problems with code where the pixmap wasn't supposed to be
|
||||
freed. If XFreePixmap() is needed, it can be done using the
|
||||
destroy-notification facilities of g_object_set_data().
|
||||
|
||||
* GtkProgress/GtkProgressBar had serious problems in GTK 1.2.
|
||||
- Only 3 or 4 functions are really needed for 95% of progress
|
||||
interfaces; GtkProgress[Bar] had about 25 functions, and
|
||||
didn't even include these 3 or 4.
|
||||
- In activity mode, the API involves setting the adjustment
|
||||
to any random value, just to have the side effect of
|
||||
calling the progress bar update function - the adjustment
|
||||
is totally ignored in activity mode
|
||||
- You set the activity step as a pixel value, which means to
|
||||
set the activity step you basically need to connect to
|
||||
size_allocate
|
||||
- There are ctree_set_expander_style()-functions, to randomly
|
||||
change look-and-feel for no good reason
|
||||
- The split between GtkProgress and GtkProgressBar makes no sense
|
||||
to me whatsoever.
|
||||
This was a big wart on GTK and made people waste lots of time,
|
||||
both learning and using the interface.
|
||||
So, we have added what we feel is the correct API, and marked all the
|
||||
rest deprecated. However, the changes are 100% backward-compatible and
|
||||
should break no existing code.
|
||||
The following 5 functions are the new programming interface and you
|
||||
should consider changing your code to use them:
|
||||
void gtk_progress_bar_pulse (GtkProgressBar *pbar);
|
||||
void gtk_progress_bar_set_text (GtkProgressBar *pbar,
|
||||
const gchar *text);
|
||||
void gtk_progress_bar_set_fraction (GtkProgressBar *pbar,
|
||||
gfloat fraction);
|
||||
|
||||
void gtk_progress_bar_set_pulse_step (GtkProgressBar *pbar,
|
||||
gfloat fraction);
|
||||
void gtk_progress_bar_set_orientation (GtkProgressBar *pbar,
|
||||
GtkProgressBarOrientation orientation);
|
||||
|
||||
* The GtkNotebookPage structure has been removed from the public header files;
|
||||
this was never meant to be a public structure, and all functionality that
|
||||
could be done by accessing the struct fields of this structure should be
|
||||
accesible otherwise.
|
||||
|
||||
* GtkMenuPositionFunc has a new parameter push_in which controls how
|
||||
menus placed outside the screen is handled. If this is set to true and
|
||||
part of the menu is outside the screen then Gtk+ pushes it into the visible
|
||||
area. Otherwise the menu is cut of at the end of the visible screen area.
|
||||
|
||||
Regardles of what happens to the size of the menu, the result is always
|
||||
that the items are placed in the same place as if the menu was placed
|
||||
outside the screen, using menu scrolling if necessary.
|
||||
|
||||
* The "draw" signal and virtual method on GtkWidget has been removed.
|
||||
All drawing should now occur by invalidating a region of the widget
|
||||
(call gdk_window_invalidate_rect() or gtk_widget_queue_draw() for
|
||||
example to invalidate a region). GTK+ merges all invalid regions,
|
||||
and sends expose events to the widget in an idle handler for the
|
||||
invalid regions. gtk_widget_draw() is deprecated but still works; it
|
||||
adds the passed-in area to the invalid region and immediately sends
|
||||
expose events for the current invalid region.
|
||||
Most widgets will work fine if you just delete their "draw"
|
||||
implementation, since they will already have working expose_event
|
||||
implementations. The draw method was rarely called in practice
|
||||
anyway.
|
||||
|
||||
* The GdkExposeEvent has a new region field. This can be used instead
|
||||
of the area field if you want a more exact representation of the
|
||||
area to update.
|
||||
|
||||
* Sending synthetic exposes using gtk_widget_event is no longer allowed.
|
||||
If you just need an expose call you should use gdk_window_invalidate_rect()
|
||||
or gdk_window_invalidate_region() instead. For the case of container
|
||||
widgets that need to propagate expose events to NO_WINDOW children
|
||||
you can either use gtk_container_propagate_expose(), or chain to the
|
||||
default container expose handler.
|
||||
|
||||
* The draw_default and draw_focus methods/signals on GtkWidget are
|
||||
gone; simply draw things in your expose handler.
|
||||
gtk_widget_draw_focus() and gtk_widget_draw_default() wrapper
|
||||
functions are also gone; just queue a draw on the widget,
|
||||
or the part affected by the focus/default anyway.
|
||||
Also, GtkWidget now has default implementations for focus_in_event
|
||||
and focus_out_event. These set/unset GTK_HAS_FOCUS, and queue a
|
||||
draw. So if your focus in/out handler just does that, you can delete
|
||||
it.
|
||||
|
||||
* GtkText and GtkTree are buggy and broken. We don't recommend using
|
||||
them, and changing old code to avoid them is a good idea. The
|
||||
recommended alternatives are GtkTextView and GtkTreeView. The
|
||||
broken widgets are not declared in the headers by default; to use
|
||||
them, define the symbol GTK_ENABLE_BROKEN during compilation. In
|
||||
some future release, these widgets will be removed from GTK+.
|
||||
|
||||
* GdkColorContext is gone; you probably weren't using it anyway.
|
||||
Use GdkColormap and the gdk_rgb_* functions instead.
|
||||
|
||||
* GtkMenuBar now draws the GtkContainer::border_width space outside
|
||||
the frame, not inside the frame
|
||||
|
||||
* In GTK 1.2, if an event handler returned TRUE it prevented
|
||||
propagation of that event to parent widgets. That is, the
|
||||
event signal would not be emitted on parent widgets. In
|
||||
GTK 2.0, if an event handler returns TRUE, the current signal
|
||||
emission on the current widget is immediately stopped. That is,
|
||||
other callbacks connected to the signal will not be invoked.
|
||||
|
||||
* gtk_toolbar_new() no longer has arguments. This function
|
||||
was broken because the default GtkToolbarStyle (icons, text, both)
|
||||
is now a user preference, which is overridden when you call
|
||||
gtk_toolbar_set_style(). The constructor forced everyone to
|
||||
override the preference, which was undesirable. So to port
|
||||
your app, decide if you want to force the toolbar style
|
||||
or conform to the user's global defaults; if you want to force
|
||||
it, call gtk_toolbar_set_style().
|
||||
|
||||
The orientation arg was removed from toolbar_new() as well, just
|
||||
because it wasn't very useful and we were breaking the function
|
||||
anyway so had an opportunity to lose it. Call
|
||||
gtk_toolbar_set_orientation() to set toolbar orientation.
|
||||
|
||||
* GtkRange/GtkScrollbar/GtkScale were rewritten; this means that most
|
||||
theme engines won't draw them properly, and any custom subclasses of
|
||||
these widgets will need a rewrite (though if you could figure out
|
||||
how to subclass the old version of GtkRange, you have our
|
||||
respect). Also, GtkTroughType is gone.
|
||||
|
||||
* The GtkContainer::focus signal/virtualfunction and
|
||||
gtk_container_focus() call were replaced by
|
||||
GtkWidget::focus and gtk_widget_child_focus().
|
||||
The semantics are the same, so you should be able to just
|
||||
replace "container_class->focus = mywidget_focus" with
|
||||
"widget_class->focus = mywidget_focus" and replace
|
||||
gtk_container_focus() calls with gtk_widget_child_focus() calls.
|
||||
|
||||
The purpose of this change was to allow non-containers to have
|
||||
focusable elements.
|
||||
|
||||
* gtk_rc_set_image_loader() and gtk_rc_load_image() has been removed, now
|
||||
that GTK+ includes decent image loading capabilities itself.
|
||||
|
||||
* An extra GtkSettings argument has been added to
|
||||
gtk_rc_find_pixmap_in_path(). This function is only actually useful
|
||||
from a theme engine during parsing, at which point the GtkSettings
|
||||
is provided.
|
||||
|
||||
* The child argument facility in gtkcontainer.c has been converted
|
||||
to a child property facility using GParamSpec and other facilities
|
||||
for GObject.
|
||||
|
||||
- The set_child_arg and get_child_arg virtual methods have been
|
||||
replaced with set_child_property / get_child_property, which
|
||||
work similar to GObject->set_property/get_property.
|
||||
|
||||
- Other removed functions with the replacements:
|
||||
|
||||
gtk_container_add_child_arg_type => gtk_container_class_install_child_property
|
||||
gtk_container_query_child_args => gtk_container_class_list_child_properties
|
||||
gtk_container_child_getv => gtk_container_child_set_property
|
||||
gtk_container_child_setv => gtk_container_child_get_property
|
||||
gtk_container_add_with_args => gtk_container_add_with_properties
|
||||
gtk_container_addv => gtk_container_add / gtk_container_child_set_property
|
||||
|
||||
* gdk_image_get() (or rather its replacement,
|
||||
gdk_drawable_get_image()) now handles errors properly by returning
|
||||
NULL, previously it would crash. Also, a window being offscreen is
|
||||
no longer considered an error; instead, the area being contains
|
||||
undefined contents for the offscreen areas. In most cases, code
|
||||
using gdk_image_get() should really be ported to
|
||||
gdk_pixbuf_get_from_drawable().
|
||||
|
||||
* gtk_widget_set_usize() has been renamed to
|
||||
gtk_widget_set_size_request(), however the old name still exists
|
||||
unless you define GTK_DISABLE_DEPRECATED.
|
||||
|
||||
* gtk_widget_set_uposition() is deprecated; use gtk_window_move(),
|
||||
gtk_fixed_put(), or gtk_layout_put() instead.
|
||||
|
||||
* gtk_window_set_policy() is deprecated. To get the effect of
|
||||
"allow_shrink", call gtk_widget_set_size_request(window, 0, 0). To
|
||||
get the effect of "allow_grow", call
|
||||
gtk_window_set_resizable(window, TRUE). You didn't want the effect
|
||||
of auto_shrink, it made no sense. But maybe if you were using it you
|
||||
want to use gtk_window_resize (window, 1, 1) to snap a window back
|
||||
to its minimum size (the 1, 1 will be rounded up to the minimum
|
||||
window size).
|
||||
|
||||
* The core GTK+ now takes care of handling mapping, unmapping and
|
||||
realizing the child widgets of containers in
|
||||
gtk_widget_set_parent(). In most cases, this allows container
|
||||
implementations to be simplifid by removing the code in add()
|
||||
methods to map and realize children. However, there are
|
||||
a couple of things to watch out for here:
|
||||
|
||||
- If the parent is realized before the add() happens,
|
||||
gtk_widget_set_parent_window() must be called before
|
||||
gtk_widget_set_parent(), since gtk_widget_set_parent()
|
||||
will realize the child.
|
||||
|
||||
- If a container depended on its children not being mapped
|
||||
unless it did so itself (for example, GtkNotebook only
|
||||
mapped the current page), then the new function
|
||||
gtk_widget_set_child_visible() must be called to keep
|
||||
widgets that should not be mapped not mapped.
|
||||
|
||||
As part of this change, most containers also will no longer need
|
||||
custom implementations of the map() and unmap() virtual
|
||||
functions. The only cases where this is necessary are:
|
||||
|
||||
- For !NO_WINDOW widgets, if you create children of widget->window
|
||||
and don't map them in realize() then you must map them
|
||||
in map(). [ In almost all cases, you can simply map the
|
||||
windows in realize() ]
|
||||
|
||||
- For NO_WINDOW widgets, if you create windows in your realize()
|
||||
method, you must map then in map() and unmap them in unmap().
|
||||
|
||||
* gtk_widget_set_default_style (), gtk_widget_push_style (),
|
||||
and gtk_widget_pop_style () have been removed, since they
|
||||
did not work properly with themes and there were better
|
||||
alternatives for modifying the appearance of widgets.
|
||||
|
||||
You should generally use gtk_widget_modify_fg/bg/base/text/font
|
||||
instead.
|
||||
|
||||
* gtk_image_new() now takes no arguments and creates an empty GtkImage
|
||||
widget. To create a GtkImage widget from a GdkImage (the least
|
||||
common usage of GdkImage), use gtk_image_new_from_image.
|
||||
|
||||
* GTK_SELECTION_EXTENDED is now deprecated, and neither the
|
||||
GtkList/GtkTree nor the GtkCList/GtkCTree support
|
||||
GTK_SELECTION_EXTENDED anymore. However, the old extended behavior
|
||||
replaces MULTIPLE behavior.
|
||||
|
||||
* The following variables are no longer exported from GDK. (Other variables
|
||||
are also no longer exported; the following are the ones found used
|
||||
externally in a large sample of GTK+ code.)
|
||||
|
||||
Variable Replacement
|
||||
======== ===========
|
||||
gdk_null_window_warnings None - did nothing in GTK+-1.2.
|
||||
gdk_leader_window None - private variable
|
||||
gdk_screen gdk_x11_get_default_screen ()
|
||||
gdk_root_window gdk_x11_get_default_root_xwindow ()
|
||||
gdk_root_parent gdk_get_default_root_window ()
|
||||
gdk_error_code/gdk_error_warnings gdk_error_trap_push()/pop()
|
||||
gdk_display_name gdk_get_display ()
|
||||
gdk_wm_delete_window gdk_atom_intern ("WM_DELETE_WINDOW", FALSE)
|
||||
gdk_wm_take_focus gdk_atom_intern ("WM_TAKE_FOCUS", FALSE)
|
||||
gdk_wm_protocols gdk_atom_intern ("WM_PROTOCOLS", FALSE)
|
||||
|
||||
* The handling of Colormaps and widgets has been changed:
|
||||
|
||||
- The default colormap for widgets is now the GdkRGB colormap, not
|
||||
the system default colormap. If you try to use resources created for
|
||||
a widget (e.g., widget->style) with a window using the system
|
||||
colormap, errors will result on some machines.
|
||||
|
||||
- gtk_widget_push/pop_colormap() only cause the colormap to be
|
||||
explicitely set on toplevel widgets not on all widgets. The
|
||||
colormap for other widgets (when not set using
|
||||
gtk_widget_set_colormap()), is determined by finding the nearest
|
||||
ancestor with a colormap set on it explicitely, or if that
|
||||
fails, the default colormap.
|
||||
|
||||
* The default selected day for GtkCalendar is now the current day in the
|
||||
month, not the first day in the month. The current month and year
|
||||
were already used.
|
||||
|
||||
* GDK is no longer put into threaded mode automatically when
|
||||
g_thread_init() has been called. In order to use the
|
||||
global GDK thread mutex with gdk_threads_enter() and
|
||||
gdk_threads_leave(), you must call gdk_threads_init() explicitely.
|
||||
|
||||
If you aren't using GDK and GTK+ functions from multiple threads,
|
||||
there is no reason to call gdk_threads_init().
|
||||
|
||||
* The GtkPreviewInfo struct has had its visual and colormap fields
|
||||
removed. Also, gtk_preview_get_cmap() and gtk_preview_get_visual()
|
||||
are deprecated, as GdkRgb works on any colormap and visual. You no
|
||||
longer need to gtk_widget_push_cmap (gtk_preview_get_cmap ()) in
|
||||
your code.
|
||||
|
||||
* The GtkBox, GtkTable, and GtkAlignment widgets now call
|
||||
gtk_widget_set_redraw_on_allocate (widget, FALSE); on themselves.
|
||||
If you want to actually draw contents in a widget derived from
|
||||
one of these widgets, you'll probably want to change this
|
||||
in your init() function.
|
||||
|
||||
* A number of widgets are now NO_WINDOW widgets (most importantly
|
||||
GtkButton, but also GtkRange and GtkNotebook)
|
||||
|
||||
This has a couple of effects:
|
||||
|
||||
- If you are deriving from one of these widgets, you need to
|
||||
adapt your code appropriately -- for instance, drawing coordinates
|
||||
start from widget->allocation.x, widget->allocation.y.
|
||||
|
||||
- If you are embedding one of these widgets in a custom widget,
|
||||
you must make sure you call gtk_container_propagate_expose()
|
||||
correctly, as you must for any NO_WINDOW widgets.
|
||||
|
||||
GtkFixed is a little special; it is now created by default as
|
||||
a NO_WINDOW widget, but if you do
|
||||
|
||||
gtk_fixed_set_has_window (fixed, TRUE);
|
||||
|
||||
after creating a fixed widget, it will create a window and
|
||||
handle it properly.
|
||||
|
||||
* GtkLayout no longer has the xoffset, yoffset fields, which used
|
||||
to store the difference between world and window coordinates for
|
||||
layout->bin_window. These coordinate systems are now always
|
||||
the same.
|
||||
|
||||
* gtk_paint_focus(), gtk_draw_focus() and GtkStyle::draw_focus()
|
||||
have been changed a bit:
|
||||
|
||||
- A GtkStateType argument has been added to gtk_paint_focus()
|
||||
- The default implementation of GtkStyle::draw_focus virtual
|
||||
function now draws a focus rectangle whose width is
|
||||
determinted by the GtkWidget::focus-width style property.
|
||||
- The rectangle passed in is the bounding box, instead of
|
||||
the rectangle used in the gdk_draw_rectangle() call, so it is
|
||||
no longer necessary to subtract 1 from the width and height.
|
||||
|
||||
|
||||
|
||||
DON'T EDIT THIS FILE - changes are now maintained in the reference
|
||||
manual, see docs/reference/gtk/changes-*.sgml. Also, when adding a
|
||||
change to the manual, you should amend the docs for all
|
||||
newly-deprecated features to point to the replacement for that
|
||||
feature, and be sure the GTK_DISABLE_DEPRECATED guards are in place in
|
||||
the header files. Be sure to add a note to the docs for EACH
|
||||
deprecated function; don't just do the changes-*.sgml change.
|
||||
@@ -3,6 +3,7 @@
|
||||
SUBDIRS = tutorial faq reference
|
||||
|
||||
EXTRA_DIST = \
|
||||
debugging.txt \
|
||||
defsformat.txt \
|
||||
developers.txt \
|
||||
dnd_internals.txt \
|
||||
@@ -11,10 +12,9 @@ EXTRA_DIST = \
|
||||
sizing-test.txt \
|
||||
styles.txt \
|
||||
text_widget.txt \
|
||||
text_widget_internals.txt \
|
||||
tree-column-sizing.txt \
|
||||
widget_geometry.txt \
|
||||
widget_system.txt \
|
||||
generation.txt \
|
||||
gtkdocs_fix \
|
||||
RELEASE-HOWTO
|
||||
gtkdocs_fix
|
||||
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
How to do a GTK+ release?
|
||||
=========================
|
||||
|
||||
Make sure you have Owen's special autoconf and libtool RPMs, available at:
|
||||
http://people.redhat.com/otaylor/gtk/autotools/.
|
||||
|
||||
Also make sure you have the following packages installed (I used the RPM
|
||||
package names from RedHat 8.0):
|
||||
* gtk-doc
|
||||
* linuxdoc-tools
|
||||
* docbook-utils
|
||||
|
||||
Without those packages make distcheck will *not* pass.
|
||||
|
||||
|
||||
0) Blow away your gtk+ directory, check a new version out
|
||||
1) autogen and build it, make sure to enable docs.
|
||||
2) Update NEWS based on ChangeLog
|
||||
3) Update version in configure.in, increase MICRO, interface and binary
|
||||
age by 1. (Note that this is critical, a slip-up here will cause the soname
|
||||
to change).
|
||||
4) Add === Released 2.0.x === at the top of the ChangeLog
|
||||
5) make mydistcheck
|
||||
6) Fix broken stuff found by 4) repeat
|
||||
7) cvs commit; you'll have a bunch of po file changes, and maybe some
|
||||
doc changes too (NOTE: be sure to use cvs with compression, else you'll
|
||||
end up waiting for a long time :).
|
||||
8) If 7) fails because someone else committed inbetween, curse, cvs up
|
||||
fix conflicts and go to 5)
|
||||
9) type 'cvs tag GTK_2_0_9' in the toplevel directory
|
||||
10) You now have the tarball, and the CVS tag, now upload the tarball to
|
||||
gnome.org and gtk.org
|
||||
11) Go to the gnome-announce list archives, find the last announce message,
|
||||
create a new message in the same form, replacing version numbers, commentary
|
||||
at the top about "what this release is about" and the Summary of changes.
|
||||
12) Send it to gnome-announce-list, gtk-list, gtk-app-devel-list and
|
||||
gtk-devel-list. Set reply-to to gnome-hackers.
|
||||
106
docs/debugging.txt
Normal file
106
docs/debugging.txt
Normal file
@@ -0,0 +1,106 @@
|
||||
The GLIB, GDK, and GTK libraries have extensive support for
|
||||
debugging the library and your programs.
|
||||
|
||||
The amount of debugging being done can be determined both
|
||||
at run time and compile time.
|
||||
|
||||
COMPILE TIME OPTIONS
|
||||
--------------------
|
||||
|
||||
At compile time, the amount of debugging support included is
|
||||
determined by four macros:
|
||||
|
||||
G_ENABLE_DEBUG
|
||||
If set, enable support for runtime checking.
|
||||
|
||||
G_DISABLE_ASSERT
|
||||
If set, disable g_assert macros
|
||||
|
||||
G_DISABLE_CHECKS
|
||||
If set, disable the g_return_if_fail and g_return_val_if_fail macros
|
||||
|
||||
G_DISABLE_CAST_CHECKS
|
||||
If set, don't check casts between different object types
|
||||
|
||||
|
||||
Whether these macros are defined is controlled at configuration
|
||||
time by the --enable-debug option.
|
||||
|
||||
--enable-debug=minimum [default]
|
||||
Enable only inexpensive sanity checking
|
||||
sets G_DISABLE_CAST_CHECKS
|
||||
|
||||
--enable-debug=yes
|
||||
Enable all debugging support
|
||||
sets G_ENABLE_DEBUG
|
||||
|
||||
--enable-debug=no (or --disable-debug)
|
||||
Disable all debugging support (fastest)
|
||||
sets G_DISABLE_ASSERT, G_DISABLE_CHECKS, and G_DISABLE_CAST_CHECKS
|
||||
|
||||
Note that !G_DISABLE_CHECKS and --enable-debug=no are to be considered
|
||||
not only fast, but dangerous as they tend to destabilize even mostly
|
||||
bug-free software by changing the effect of many bugs from simple warnings
|
||||
into fatal crashes. Thus --enable-debug=no should *not* be used for
|
||||
stable releases of gtk+.
|
||||
|
||||
|
||||
RUNTIME OPTIONS
|
||||
----------------
|
||||
|
||||
At run time, if GTK+ was compiled with debugging enabled, different
|
||||
types of debugging information can be printed out. This is controlled
|
||||
by the:
|
||||
|
||||
GTK_DEBUG and GDK_DEBUG environment variables
|
||||
--gtk-debug and --gdk-debug command line options
|
||||
--gtk-no-debug and --gdk-no-debug command line options
|
||||
|
||||
First the environment variables are applied, then the command line
|
||||
options are applied in the order given on the command line.
|
||||
|
||||
Each of these can either be the special value 'all', or a sequence of
|
||||
':' separated options. (case is ignored). The environment variables
|
||||
and the --gtk-debug and --gdk-debug options add debugging options and
|
||||
the --gtk-no-debug and --gdk-no-debug options remove them.
|
||||
|
||||
As noted below, some of these are useful in application debugging, but
|
||||
most are only interested to those debugging the libraries
|
||||
|
||||
For instance:
|
||||
|
||||
GDK_DEBUG_FLAGS=misc:dnd testgtk --gdk-no-debug dnd --gdk-debug events
|
||||
|
||||
runs testgtk with the 'misc' and 'events' debugging options.
|
||||
|
||||
See glib/docs/debugging.txt for information about debugging signal emission
|
||||
and the object system.
|
||||
|
||||
|
||||
GDK_DEBUG
|
||||
---------
|
||||
|
||||
Application relevant options:
|
||||
|
||||
'events' - Show all events received by GTK
|
||||
|
||||
Options only interesting to library maintainers:
|
||||
|
||||
'misc' - Miscellaneous information
|
||||
'dnd' - Information about drag-and-drop
|
||||
'xim' - Information about X Input Method support
|
||||
|
||||
|
||||
GTK_DEBUG
|
||||
---------
|
||||
|
||||
Options only interesting to library maintainers:
|
||||
|
||||
'misc' - Miscellaneous information
|
||||
'text' - Information about text widget internals
|
||||
'tree' - Information about tree widget internals
|
||||
'updates' - Visual feedback about window updates
|
||||
|
||||
|
||||
- 2001-08-13 Matthias Clasen
|
||||
- 98/02/19 Owen Taylor
|
||||
@@ -2,7 +2,7 @@
|
||||
<book>
|
||||
|
||||
<bookinfo>
|
||||
<date>January 23rd 2003</date>
|
||||
<date>February 27th 2001</date>
|
||||
<title>GTK+ FAQ</title>
|
||||
<authorgroup>
|
||||
<author>
|
||||
@@ -142,7 +142,7 @@ oriented features.</quote></para>
|
||||
|
||||
<para>GTK+ == Gimp Toolkit</para>
|
||||
<para>GDK == GTK+ Drawing Kit</para>
|
||||
<para>GLib == G Library</para>
|
||||
<para>GLib == G Libray</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
@@ -601,12 +601,12 @@ successful, try executing it.</para>
|
||||
<title>Whats this CVS thing that everyone keeps talking about,
|
||||
and how do I access it?</title>
|
||||
|
||||
<para>CVS is the Concurrent Version System and is a very
|
||||
<para>CVS is the Concurent Version System and is a very
|
||||
popular means of version control for software projects. It is
|
||||
designed to allow multiple authors to be able to
|
||||
simultanously operate on the same source tree. This source
|
||||
tree is centrally maintained, but each developer has a local
|
||||
mirror of this repository that they make their changes to.</para>
|
||||
mirror of this repository that they make there changes to.</para>
|
||||
|
||||
<para>The GTK+ developers use a CVS repository to store the
|
||||
master copy of the current development version of GTK+. As
|
||||
@@ -2098,13 +2098,13 @@ void gtk_window_set_policy (GtkWindow *window,
|
||||
gint auto_shrink);
|
||||
</programlisting>
|
||||
|
||||
<para><literal>auto_shrink</literal> will automatically shrink
|
||||
<para><literal>Auto_shrink</literal> will automatically shrink
|
||||
the window when the requested size of the child widgets goes
|
||||
below the current size of the
|
||||
window. <literal>allow_shrink</literal> will give the user the
|
||||
window. <literal>Allow_shrink</literal> will give the user the
|
||||
authorisation to make the window smaller that it should
|
||||
normally be. <literal>allow_grow</literal> gives the user
|
||||
the ability to make the window bigger. The default
|
||||
normally be. <literal>Allow_grow</literal> will give the user
|
||||
will have the ability to make the window bigger. The default
|
||||
values for these parameters are:</para>
|
||||
|
||||
<programlisting role="C">
|
||||
@@ -2334,7 +2334,7 @@ struct _GList
|
||||
</programlisting>
|
||||
|
||||
<para>A GList structure is just a simple structure for doubly
|
||||
linked lists. There exist several g_list_*() functions to
|
||||
linked lists. there exist several g_list_*() functions to
|
||||
modify a linked list in glib.h. However the
|
||||
GTK_LIST(MyGtkList)->selection is maintained by the
|
||||
gtk_list_*() functions and should not be modified.</para>
|
||||
@@ -2531,7 +2531,7 @@ separation line in a menu, just insert an empty menu item:</para>
|
||||
|
||||
<programlisting role="C">
|
||||
menuitem = gtk_menu_item_new();
|
||||
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
|
||||
gtk_menu_append(GTK_MENU(menu), menuitem);
|
||||
gtk_widget_show(menuitem);
|
||||
</programlisting>
|
||||
|
||||
@@ -2706,7 +2706,7 @@ gtk_misc_set_alignment(GTK_MISC(label), 1.0f, 1.0f);
|
||||
<title>How do I set the background color of a GtkLabel
|
||||
widget?</title>
|
||||
|
||||
<para>The GtkLabel widget is one of a few GTK+ widgets that
|
||||
<para>The Gtklabel widget is one of a few GTK+ widgets that
|
||||
don't create their own window to render themselves
|
||||
into. Instead, they draw themselves directly onto their
|
||||
parents window.</para>
|
||||
|
||||
@@ -1,396 +1,10 @@
|
||||
2003-03-04 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtkobject.sgml: Add deprecation notes.
|
||||
|
||||
2003-02-24 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtktreemodel.sgml: Fix self-referential documenation of
|
||||
gtk_tree_model_get_iter_root(). (#106720, Keith Sharp)
|
||||
|
||||
2003-02-11 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtkrc.sgml: Document that font and fontset declarations
|
||||
are ignored.
|
||||
|
||||
2003-02-02 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/gtk-docs.sgml:
|
||||
* gtk/question_index.sgml: # doesn't work here, add links
|
||||
manually. (#104991)
|
||||
|
||||
2003-02-01 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/compiling.sgml: Mention xxx_DISABLE_DEPRECATED and
|
||||
GDK_MULTIHEAD_SAFE.
|
||||
|
||||
2003-01-31 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtkmain.sgml: Deprecate the gtk_timeout_*, gtk_idle_*
|
||||
and gtk_input_* functions. (#71596)
|
||||
|
||||
2003-01-30 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/running.sgml: s/overwrite/override/g (#104627, Brian Cameron)
|
||||
|
||||
2003-01-21 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtkrc.sgml: Fix integer color range. (#103992)
|
||||
|
||||
2003-01-14 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/gtk-sections.txt: Add new GtkTextIter functions.
|
||||
|
||||
2003-01-13 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk-pixbuf/tmpl/gdk-pixbuf.sgml:
|
||||
* gdk-pixbuf/tmpl/animation.sgml: Remove ids which are now
|
||||
generated by gtk-doc.
|
||||
|
||||
2003-01-03 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtkrc.sgml: Update description of priorities for styles
|
||||
and bindings. (#98054)
|
||||
|
||||
2002-12-31 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtkrc.sgml: Add a note about gtkrc-2.0 being parsed by
|
||||
all 2.x versions.
|
||||
|
||||
Fri Dec 20 13:10:06 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/building.sgml: Update directories in download
|
||||
locations; add information about fontconfig and Xft2.
|
||||
|
||||
2002-12-18 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtkcontainer.sgml: Add docs.
|
||||
|
||||
2002-12-17 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtkrc.sgml: Link to style properties.
|
||||
|
||||
* gtk/tmpl/gtkcontainer.sgml: Add bits about child properties.
|
||||
|
||||
* gtk/tmpl/gtkwidget.sgml: Add bits about style properties.
|
||||
|
||||
* gdk/tmpl/pixmaps.sgml:
|
||||
* gdk/tmpl/windows.sgml:
|
||||
* gdk/tmpl/drawing.sgml:
|
||||
* gdk/tmpl/gcs.sgml:
|
||||
* gtk/tmpl/gtktextview.sgml:
|
||||
* gtk/tmpl/gtkrc.sgml:
|
||||
* gtk/tmpl/gtkiconfactory.sgml:
|
||||
* gtk/tmpl/gtkaccelgroup.sgml: Remove ids which are now
|
||||
generated by gtk-doc.
|
||||
|
||||
2002-12-16 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtkradiomenuitem.sgml:
|
||||
* gtk/tmpl/gtkradiobutton.sgml: Add some information about group
|
||||
list handling. (#101328, James M. Cape)
|
||||
|
||||
2002-12-14 Eric Warmenhoven <eric@warmenhoven.org>
|
||||
|
||||
* gtk/framebuffer.sgml: Minor updates for 2.2.0. (#67820)
|
||||
|
||||
2002-12-11 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/text_widget.sgml: Fix some links.
|
||||
|
||||
* gdk/tmpl/pixmaps.sgml: Make "GdkPixmap" a valid id to reduce
|
||||
dangling links.
|
||||
|
||||
* gdk/tmpl/windows.sgml: Make "GdkWindow" a valid id to reduce
|
||||
dangling links.
|
||||
|
||||
* gdk/tmpl/drawing.sgml: Make "GdkDrawable" a valid id to reduce
|
||||
dangling links.
|
||||
|
||||
* gdk/tmpl/gcs.sgml: Make "GdkGC" a valid id to reduce dangling links.
|
||||
|
||||
2002-12-10 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtktextview.sgml: Add docs.
|
||||
|
||||
* gtk/tree_widget.sgml: Fix some links.
|
||||
|
||||
* gtk/tmpl/gtkwindow.sgml: Add docs.
|
||||
|
||||
* gtk/tmpl/gtkeditable.sgml: Document GtkEditable as an interface,
|
||||
not as an abstract base class.
|
||||
|
||||
* gtk/gtk-docs.sgml: Move GtkEditable from "Abstract Base Classes"
|
||||
to "Numeric/Text Data Entry".
|
||||
|
||||
2002-12-09 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk-pixbuf/tmpl/gdk-pixbuf-loader.sgml: Add docs.
|
||||
|
||||
2002-12-08 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtkbbox.sgml:
|
||||
* gtk/tmpl/gtkcontainer.sgml:
|
||||
* gtk/tmpl/gtksignal.sgml: Add deprecation info.
|
||||
|
||||
* gdk-pixbuf/tmpl/module_interface.sgml: Add docs.
|
||||
|
||||
2002-12-06 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk/tmpl/x_interaction.sgml:
|
||||
* gdk/tmpl/gdkscreen.sgml:
|
||||
* gdk/tmpl/gdkdisplaymanager.sgml:
|
||||
* gdk/tmpl/gdkdisplay.sgml:
|
||||
* gtk/tmpl/gtkstock.sgml:
|
||||
* gtk/tmpl/gtkwidget.sgml:
|
||||
* gtk/tmpl/gtkmain.sgml:
|
||||
* gtk/tmpl/gtkcolorsel.sgml:
|
||||
* gtk/tmpl/gtkaccelgroup.sgml:
|
||||
* gdk-pixbuf/tmpl/module_interface.sgml: Add "Since" information.
|
||||
|
||||
* gtk/gtk-sections.txt: Replace gtk_list_store_move by
|
||||
_move_before and _move_after.
|
||||
|
||||
2002-11-29 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtkalignment.sgml:
|
||||
* gtk/tmpl/gtkadjustment.sgml:
|
||||
* gtk/tmpl/gtkaccellabel.sgml:
|
||||
* gtk/tmpl/gtkoldeditable.sgml:
|
||||
* gtk/tmpl/gtkwidget.sgml:
|
||||
* gtk/tmpl/gtkrange.sgml:
|
||||
* gtk/tmpl/gtkeditable.sgml:
|
||||
* gtk/tmpl/gtkwindowgroup.sgml:
|
||||
* gtk/tmpl/gtkwindow.sgml:
|
||||
* gtk/tmpl/gtktypeutils.sgml:
|
||||
* gtk/tmpl/gtksignal.sgml:
|
||||
* gtk/tmpl/gtkfeatures.sgml:
|
||||
* gtk/tmpl/gtkstyle.sgml:
|
||||
* gtk/tmpl/gtkselection.sgml:
|
||||
* gtk/tmpl/gtkgc.sgml:
|
||||
* gtk/tmpl/gtkenums.sgml:
|
||||
* gtk/tmpl/gtkbindings.sgml:
|
||||
* gtk/tmpl/gtksettings.sgml:
|
||||
* gtk/tmpl/gtkdnd.sgml:
|
||||
* gtk/tmpl/gtkclipboard.sgml:
|
||||
* gtk/tmpl/gtkaccelgroup.sgml:
|
||||
* gtk/tmpl/gtkaccelmap.sgml:
|
||||
Minor tweaks and completions of shortdescs.
|
||||
|
||||
* gdk/tmpl/rgb.sgml:
|
||||
* gdk/tmpl/gcs.sgml: Minor tweaks.
|
||||
|
||||
* gdk/tmpl/gdkdisplaymanager.sgml: Add some docs.
|
||||
|
||||
2002-11-27 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/gtk-sections.txt: Replace gtk_tree_store_move by
|
||||
_move_before and _move_after.
|
||||
|
||||
2002-11-26 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk/tmpl/threads.sgml: Add hint about calling gdk_flush() before
|
||||
gdk_threads_leave(). (#70665, wording suggested by Owen Taylor)
|
||||
|
||||
2002-11-23 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk/tmpl/x_interaction.sgml:
|
||||
* gdk/tmpl/pango_interaction.sgml:
|
||||
* gdk/tmpl/input_devices.sgml:
|
||||
* gdk/tmpl/input.sgml:
|
||||
* gdk/tmpl/threads.sgml:
|
||||
* gdk/tmpl/properties.sgml:
|
||||
* gdk/tmpl/dnd.sgml:
|
||||
* gdk/tmpl/selections.sgml:
|
||||
* gdk/tmpl/keys.sgml:
|
||||
* gdk/tmpl/event_structs.sgml:
|
||||
* gdk/tmpl/events.sgml:
|
||||
* gdk/tmpl/windows.sgml:
|
||||
* gdk/tmpl/cursors.sgml:
|
||||
* gdk/tmpl/fonts.sgml:
|
||||
* gdk/tmpl/colors.sgml:
|
||||
* gdk/tmpl/pixbufs.sgml:
|
||||
* gdk/tmpl/images.sgml:
|
||||
* gdk/tmpl/pixmaps.sgml:
|
||||
* gdk/tmpl/drawing.sgml:
|
||||
* gdk/tmpl/regions.sgml:
|
||||
* gdk/tmpl/gdkdisplaymanager.sgml:
|
||||
* gdk/tmpl/gdkscreen.sgml:
|
||||
* gdk/tmpl/gdkdisplay.sgml:
|
||||
* gdk/tmpl/general.sgml:
|
||||
Add missing short descriptions, standardize them to start with
|
||||
a capital and end without a period. Also remove periods from
|
||||
titles of examples.
|
||||
|
||||
2002-11-22 Yanko Kaneti <yaneti@declera.com>
|
||||
|
||||
* gtk/tmpl/gtkliststore.sgml: Fixup a typo to massage the build.
|
||||
|
||||
2002-11-21 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk/Makefile.am (extra_files):
|
||||
* gdk-pixbuf/Makefile.am (extra_files):
|
||||
* gtk/Makefile.am (extra_files): Add version.xml.in.
|
||||
|
||||
* gdk/Makefile.am (content_files):
|
||||
* gdk-pixbuf/Makefile.am (content_files):
|
||||
* gtk/Makefile.am (content_files): Add version.xml.
|
||||
|
||||
* gdk/version.xml.in:
|
||||
* gdk-pixbuf/version.xml.in:
|
||||
* gtk/version.xml.in: New files to let configure dump the version in.
|
||||
|
||||
* gdk/gdk-docs.sgml:
|
||||
* gdk-pixbuf/gdk-pixbuf.sgml:
|
||||
* gtk/gtk-docs.sgml: Add version information.
|
||||
|
||||
* gtk/tmpl/gtkcombo.sgml: Fix typo in example code. (#99078)
|
||||
|
||||
Sun Nov 17 15:42:08 2002 Jonathan Blandford <jrb@gnome.org>
|
||||
|
||||
* gtk/tmpl/gtkliststore.sgml: add more to the docs.
|
||||
|
||||
2002-11-10 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk/gdk-sections.txt: gdk_display_open_default_libgtk_only
|
||||
and gdk_notify_startup_complete.
|
||||
|
||||
* gtk/gtk-sections.txt: Add gtk_window_set_auto_startup_notification.
|
||||
|
||||
2002-11-07 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk/gdk.types: Add gdk_display_manager_get_type.
|
||||
|
||||
* gdk/gdk-docs.sgml: Add displaymanager section.
|
||||
|
||||
* gdk-pixbuf/gdk-pixbuf-sections.txt: Don't mark GdkPixbufLoader
|
||||
as private, since that prevents its signals from being documented.
|
||||
|
||||
Sun Nov 3 13:23:51 2002 Jonathan Blandford <jrb@gnome.org>
|
||||
|
||||
* gtk/tmpl/gtkcellrenderer.sgml: more docs.
|
||||
|
||||
Sat Nov 2 12:46:16 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gdk-pixbuf/Makefile.am: Remove rules for generation
|
||||
of version.xml, which was causing make to always
|
||||
rebuild the HTML file, and didn't seem to be used.
|
||||
|
||||
* gtk/tmpl/gtkliststore.sgml: SGML fixes.
|
||||
|
||||
Sat Nov 2 08:41:47 2002 Jonathan Blandford <jrb@gnome.org>
|
||||
|
||||
* gtk/tmpl/gtktreestore.sgml: clean up the wording.
|
||||
|
||||
* gtk/tmpl/gtkliststore.sgml: Add an example and clean up the
|
||||
wording.
|
||||
|
||||
2002-11-01 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk/tmpl/fonts.sgml:
|
||||
* gdk/tmpl/drawing.sgml: More docs moved inline.
|
||||
|
||||
* gtk/tmpl/gtkfilesel.sgml: The label is "Folders" now, not
|
||||
"Directories". (#97224, Vitaly Tishkov)
|
||||
|
||||
2002-10-29 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtkrc.sgml: Fix a link. Add (minimal) docs for setting
|
||||
style properties from rc files. More needed !!
|
||||
|
||||
Wed Oct 30 16:50:42 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/running.sgml: Document --screen.
|
||||
|
||||
2002-10-24 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk/tmpl/dnd.sgml:
|
||||
* gdk/tmpl/cursors.sgml: More docs moved inline.
|
||||
|
||||
2002-10-24 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk/tmpl/colors.sgml: Some docs moved inline.
|
||||
|
||||
2002-10-22 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk/tmpl/gdkdisplay.sgml: Document GdkDisplayPointerHooks.
|
||||
|
||||
* gdk/tmpl/x_interaction.sgml: Some docs moved inline.
|
||||
|
||||
2002-10-20 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk-pixbuf/Makefile.am (SCANOBJ_FILES):
|
||||
* gtk/Makefile.am (SCANOBJ_FILES):
|
||||
* gdk/Makefile.am (SCANOBJ_FILES): Add $(DOC_MODULE).prerequisites.
|
||||
|
||||
Fri Oct 18 15:13:24 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gdk/tmpl/event_structs.sgml: Update the docs for
|
||||
the event->key.string to say that @string is deprecated.
|
||||
|
||||
Mon Oct 14 19:34:26 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gdk/Makefile.am (content_files)
|
||||
gdk-pixbuf/Makefile.am (content_files): Add some missing
|
||||
files.
|
||||
|
||||
Mon Oct 14 19:16:16 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtk-sections.txt: Update.
|
||||
|
||||
* gdk/tmpl/images.sgml gtk/tmpl/gtkmain.sgml
|
||||
gtk/tmpl/gtkselection.sgml: Remove docs that were moved
|
||||
the the C files.
|
||||
|
||||
2002-10-14 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk-pixbuf/Makefile.am (dist-hook):
|
||||
* gdk/Makefile.am (dist-hook):
|
||||
* gtk/Makefile.am (dist-hook): Dist the xml/*.xml, not
|
||||
sgml/*.sgml. (#95678, Owen Taylor)
|
||||
|
||||
2002-10-14 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/Makefile.am (SCANOBJ_FILES):
|
||||
* gdk-pixbuf/Makefile.am (SCANOBJ_FILES):
|
||||
* gdk/Makefile.am (SCANOBJ_FILES): Add $(DOC_MODULE).interfaces.
|
||||
|
||||
2002-10-11 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtkimagemenuitem.sgml: Add a bit.
|
||||
|
||||
* gtk/tmpl/gtkimage.sgml: Fix example.
|
||||
|
||||
* gtk/tmpl/gtkrc.sgml: Spelling fixes.
|
||||
|
||||
* gdk-pixbuf/tmpl/refcounting.sgml: Remove documentation for
|
||||
non-longer-present last-unref hook.
|
||||
|
||||
* gtk/tmpl/gtkfilesel.sgml: s/GtkCList/GtkTreeView/.
|
||||
|
||||
* gdk-pixbuf/gdk-pixbuf-sections.txt: Add some missing symbols.
|
||||
|
||||
* gdk/gdk-sections.txt: Add some missing symbols.
|
||||
|
||||
* gdk/Makefile.am (IGNORE_HFILES): Add gdkintl.h and gdkmarshalers.h.
|
||||
|
||||
* gtk/gtk-sections.txt: Add some missing symbols.
|
||||
|
||||
2002-10-04 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/running.sgml: Document GDK_PIXBUF_MODULE_FILE.
|
||||
|
||||
* gdk-pixbuf/tmpl/module_interface.sgml: Some information for
|
||||
module writers.
|
||||
|
||||
2002-08-12 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk/gdk-sections.txt: Remove gdk_screen_close, add a section
|
||||
for GdkDisplayManager, add gdk_visual_get_screen and
|
||||
gdk_colormap_get_screen.
|
||||
|
||||
2002-08-07 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/gtk-sections.txt: Remove gtk_style_get_font_for_display.
|
||||
* gtk/tree_widget.sgml (select): use GTK_SELECTION_SINGLE, not
|
||||
GTK_SELECT_SINGLE. (#96516, Erik Grinaker)
|
||||
|
||||
Mon Jul 29 22:36:06 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
@@ -402,170 +16,22 @@ Mon Jul 29 22:36:06 2002 Owen Taylor <otaylor@redhat.com>
|
||||
* gdk/tmpl/rgb.sgml: fixed the example code (return TRUE from the
|
||||
expose_event handler).
|
||||
|
||||
2002-07-07 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk-pixbuf/gdk-pixbuf-sections.txt,
|
||||
gdk-pixbuf/tmpl/gdk-pixbuf-loader.sgml,
|
||||
gdk-pixbuf/tmpl/module_interface.sgml: Updates for
|
||||
load-at-size functionality.
|
||||
|
||||
Tue Jun 18 17:02:48 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gdk/gdk-sections.txt: Fix for cursor screen => display
|
||||
change.
|
||||
|
||||
2002-06-03 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtkprogress.sgml:
|
||||
* gtk/tmpl/gtkscale.sgml:
|
||||
* gtk/tmpl/gtktreemodel.sgml:
|
||||
* gtk/tmpl/gtkimage.sgml:
|
||||
* gtk/tmpl/gtksignal.sgml:
|
||||
* gtk/tmpl/gtkrc.sgml:
|
||||
* gtk/gtk-docs.sgml:
|
||||
* gdk/gdk-docs.sgml:
|
||||
* gdk/tmpl/threads.sgml:
|
||||
* gdk/tmpl/cursors.sgml:
|
||||
* gdk/tmpl/rgb.sgml: Replace homegrown "nbsp", "hash" and
|
||||
"percent" entities by standard ISO entities "nbsp", "num" and
|
||||
"percnt".
|
||||
|
||||
* gtk/text_widget.sgml: Fix a link.
|
||||
|
||||
2002-05-30 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
Make stock icons appear again (patch by Gediminas Paulauskas):
|
||||
|
||||
* gtk/Makefile.am (HTML_IMAGES): Add stock_broken_image_24.png
|
||||
|
||||
* gtk/tmpl/gtkstock.sgml: Fix icon filenames.
|
||||
|
||||
2002-05-29 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/*, gdk/*, gdk-pixbuf/*: Create XML, not SGML.
|
||||
|
||||
2002-05-28 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/*: Remove property documentation which comes from the
|
||||
source now.
|
||||
|
||||
* gtk/building.sgml: Remove traces of gxi.
|
||||
|
||||
2002-05-05 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/gtk-sections.txt: Add gtk_widget_class_find_style_property,
|
||||
gtk_widget_class_list_style_properties and gtk_style_get_font_for_display.
|
||||
|
||||
2002-05-03 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk/gdk-sections.txt: Remove gdk_screen_use_virtual_screen.
|
||||
|
||||
* gdk/tmpl/gdkscreen.sgml: Updates.
|
||||
|
||||
* gdk/tmpl/gdkdisplay.sgml: Document GdkDisplay.
|
||||
|
||||
* gdk/tmpl/x_interaction.sgml: Document GDK_DISPLAY_XDISPLAY,
|
||||
GDK_SCREEN_XDISPLAY, GDK_SCREEN_XSCREEN, GDK_SCREEN_XNUMBER,
|
||||
gdk_font_lookup_for_display.
|
||||
|
||||
* gdk/Makefile.am (GTKDOC_CFLAGS, GTKDOC_LIBS): set these.
|
||||
|
||||
* gdk/gdk.types: Add types derived from GObject, so that they get
|
||||
an object hierarchy section.
|
||||
|
||||
2002-05-01 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk/gdk-sections.txt: Move GdkScreen struct to the GdkScreen section.
|
||||
|
||||
* gdk/tmpl/gdkscreen.sgml:
|
||||
* gdk/tmpl/gdkdisplay.sgml: Typo and markup fixes.
|
||||
|
||||
* gdk/gdk-docs.sgml: Reorder display and screen sections.
|
||||
|
||||
* gdk/multihead.sgml: Remove references to GdkDisplayManager, typo
|
||||
and markup fixes.
|
||||
|
||||
Tue Apr 30 14:16:12 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtk-sections.txt: Update for multihead.
|
||||
|
||||
Tue Apr 30 12:26:31 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gdk-sections.txt: Update for multihead.
|
||||
|
||||
* multihead.sgml gtk-docs.sgml: Add overview of
|
||||
multihead from multihead branch.
|
||||
|
||||
* tmpl/gdkdisplay.sgml tmpl/gdkscreen.sgml: New
|
||||
sections from multihead branch.
|
||||
|
||||
2002-04-30 Havoc Pennington <hp@redhat.com>
|
||||
|
||||
* gtk/other_software.sgml: half-finished docs on merging GTK with
|
||||
existing hunks of code (event loop integration, using threads
|
||||
vs. processes, blah blah)
|
||||
|
||||
Thu Apr 25 22:37:58 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gdk/tmpl/{events,input_devices,region,x_interaction}.sgml:
|
||||
Fix some docs duplicated between templates and inline.
|
||||
|
||||
2002-04-24 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/gtk-sections.txt: Remove GTK_OBJECT_CONNECTED.
|
||||
Merged from HEAD:
|
||||
|
||||
* gtk/tmpl/gtksocket.sgml: Formatting fix.
|
||||
|
||||
* gdk-pixbuf/tmpl/gdk-pixbuf-loader.sgml: Updates. (#79001)
|
||||
|
||||
2002-04-23 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtksocket.sgml: Add link to XEmbed draft. (#67818)
|
||||
|
||||
* gtk/tmpl/gtkdrawingarea.sgml: Fix a typo.
|
||||
|
||||
* gtk/text_widget.sgml: Complete the fix for #79080.
|
||||
|
||||
2002-04-22 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tree_widget.sgml: Fix typo in "Simple Example". (#78661)
|
||||
|
||||
2002-04-21 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/tmpl/gtktreemodel.sgml:
|
||||
* gtk/tmpl/gtkradiomenuitem.sgml: Fix crossreferences. (#78392)
|
||||
|
||||
* gtk/gtk-sections.txt: Add GtkWidgetClass. (#78392)
|
||||
|
||||
* gtk/tmpl/gtkwidget.sgml: Rewrite docs for
|
||||
gtk_widget_reset_rc_styles. (#75588)
|
||||
|
||||
* gdk/tmpl/properties.sgml: Fix gdk_property_change docs. (#72312)
|
||||
|
||||
* gtk/text_widget.sgml: Fix misleading example. (#79080)
|
||||
|
||||
* gtk/tmpl/gtkdialog.sgml: Fix stock id in example. (#74439)
|
||||
|
||||
2002-04-18 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk/tmpl/rgb.sgml:
|
||||
* gdk/tmpl/general.sgml:
|
||||
* gtk/tmpl/gtktogglebutton.sgml:
|
||||
* gtk/tmpl/gtkaccellabel.sgml:
|
||||
* gtk/tmpl/gtkradiobutton.sgml:
|
||||
* gtk/tmpl/gtktreemodel.sgml:
|
||||
* gtk/tmpl/gtkwidget.sgml:
|
||||
* gtk/tmpl/gtkimage.sgml:
|
||||
* gtk/tmpl/gtktooltips.sgml:
|
||||
* gtk/tmpl/gtksignal.sgml:
|
||||
* gtk/tmpl/gtkcombo.sgml:
|
||||
* gtk/tmpl/gtkdnd.sgml:
|
||||
* gtk/tmpl/gtksocket.sgml:
|
||||
* gtk/tmpl/gtkdrawingarea.sgml:
|
||||
* gtk/tmpl/gtkobject.sgml:
|
||||
* gtk/tmpl/gtkpaned.sgml:
|
||||
* gtk/tmpl/gtkmain.sgml: s/<!>/<!-- -->/g throughout the
|
||||
documentation to bring the produced Docbook closer to XML.
|
||||
* gtk/tmpl/gtktreemodel.sgml:
|
||||
* gtk/tmpl/gtkradiomenuitem.sgml:
|
||||
* gtk/tmpl/gtkwidget.sgml:
|
||||
* gtk/tmpl/gtkdialog.sgml:
|
||||
* gdk-pixbuf/tmpl/gdk-pixbuf-loader.sgml:
|
||||
* gtk/text_widget.sgml:
|
||||
* gtk/tree_widget.sgml:
|
||||
* gtk/gtk-sections.txt:
|
||||
* gdk/tmpl/properties.sgml: Documentation fixes. (#79001, #67818,
|
||||
#79080, #78661, #78392, #75588, #72312, #74439)
|
||||
|
||||
Tue Mar 26 15:41:49 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
|
||||
@@ -1,17 +1,14 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
gdk-pixbuf-decl-list.txt
|
||||
gdk-pixbuf-decl.txt
|
||||
gdk-pixbuf-undocumented.txt
|
||||
gdk-pixbuf-unused.txt
|
||||
html
|
||||
sgml
|
||||
gdk-pixbuf.args
|
||||
gdk-pixbuf.hierarchy
|
||||
gdk-pixbuf.interfaces
|
||||
gdk-pixbuf.prerequisites
|
||||
gdk-pixbuf.signals
|
||||
html
|
||||
xml
|
||||
gdk-pixbuf-decl.txt
|
||||
gdk-pixbuf-decl-list.txt
|
||||
gdk-pixbuf-undocumented.txt
|
||||
gdk-pixbuf-unused.txt
|
||||
*.stamp
|
||||
*.lo
|
||||
.libs
|
||||
version.xml
|
||||
|
||||
@@ -13,7 +13,7 @@ DOC_SOURCE_DIR=../../../gdk-pixbuf
|
||||
SCAN_OPTIONS=--source-dir=../../../contrib/gdk-pixbuf-xlib --deprecated-guards="GDK_PIXBUF_ENABLE_BROKEN|GDK_PIXBUF_DISABLE_DEPRECATED"
|
||||
|
||||
# Extra options to supply to gtkdoc-mkdb
|
||||
MKDB_OPTIONS=--main-sgml-file=$(DOC_MAIN_SGML_FILE) --sgml-mode --source-dir=../../../contrib/gdk-pixbuf-xlib --output-format=xml
|
||||
MKDB_OPTIONS=--sgml-mode --source-dir=../../../contrib/gdk-pixbuf-xlib
|
||||
|
||||
# Extra options to supply to gtkdoc-fixref
|
||||
FIXXREF_OPTIONS=
|
||||
@@ -30,7 +30,6 @@ IGNORE_HFILES= \
|
||||
gdk-pixbuf-i18n.h \
|
||||
gdk-pixbuf-private.h \
|
||||
io-gif-animation.h \
|
||||
io-ani-animation.h \
|
||||
test-images.h
|
||||
|
||||
# Extra files to add when scanning
|
||||
@@ -41,14 +40,12 @@ HTML_IMAGES =
|
||||
|
||||
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
|
||||
content_files = \
|
||||
version.xml \
|
||||
gdk-pixbuf-from-drawables.sgml \
|
||||
gdk-pixbuf-rendering.sgml \
|
||||
gdk-pixbuf.sgml \
|
||||
porting-from-imlib.sgml
|
||||
|
||||
# Other files to distribute
|
||||
extra_files = version.xml.in
|
||||
extra_files =
|
||||
|
||||
# CFLAGS and LDFLAGS for compiling scan program. Only needed
|
||||
# if $(DOC_MODULE).types is non-empty.
|
||||
@@ -97,11 +94,9 @@ EXTRA_DIST = \
|
||||
DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
|
||||
$(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
|
||||
|
||||
SCANOBJ_FILES = \
|
||||
$(DOC_MODULE).args \
|
||||
$(DOC_MODULE).hierarchy \
|
||||
$(DOC_MODULE).interfaces \
|
||||
$(DOC_MODULE).prerequisites \
|
||||
SCANOBJ_FILES = \
|
||||
$(DOC_MODULE).args \
|
||||
$(DOC_MODULE).hierarchy \
|
||||
$(DOC_MODULE).signals
|
||||
|
||||
if ENABLE_GTK_DOC
|
||||
@@ -195,10 +190,10 @@ endif
|
||||
|
||||
dist-hook: dist-check-gtkdoc dist-hook-local
|
||||
mkdir $(distdir)/tmpl
|
||||
mkdir $(distdir)/xml
|
||||
mkdir $(distdir)/sgml
|
||||
mkdir $(distdir)/html
|
||||
-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
|
||||
-cp $(srcdir)/xml/*.xml $(distdir)/xml
|
||||
-cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
|
||||
-cp $(srcdir)/html/* $(distdir)/html
|
||||
|
||||
.PHONY : dist-hook-local
|
||||
|
||||
@@ -48,9 +48,9 @@ gdk_pixbuf_error_get_type
|
||||
|
||||
<SECTION>
|
||||
<FILE>refcounting</FILE>
|
||||
GdkPixbufDestroyNotify
|
||||
gdk_pixbuf_ref
|
||||
gdk_pixbuf_unref
|
||||
GdkPixbufDestroyNotify
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
@@ -98,6 +98,7 @@ gdk_pixbuf_fill
|
||||
|
||||
<SECTION>
|
||||
<FILE>animation</FILE>
|
||||
GdkPixbufFrame
|
||||
GdkPixbufAnimation
|
||||
GdkPixbufAnimationIter
|
||||
gdk_pixbuf_animation_new_from_file
|
||||
@@ -122,8 +123,6 @@ GDK_PIXBUF_ANIMATION_ITER
|
||||
GDK_TYPE_PIXBUF_ANIMATION_ITER
|
||||
|
||||
<SUBSECTION Private>
|
||||
gdk_pixbuf_non_anim_new
|
||||
|
||||
gdk_pixbuf_animation_get_type
|
||||
gdk_pixbuf_animation_iter_get_type
|
||||
</SECTION>
|
||||
@@ -147,12 +146,9 @@ gdk_interp_type_get_type
|
||||
<SECTION>
|
||||
<FILE>gdk-pixbuf-loader</FILE>
|
||||
<TITLE>GdkPixbufLoader</TITLE>
|
||||
GdkPixbufLoader
|
||||
gdk_pixbuf_loader_new
|
||||
gdk_pixbuf_loader_new_with_type
|
||||
gdk_pixbuf_loader_get_format
|
||||
gdk_pixbuf_loader_write
|
||||
gdk_pixbuf_loader_set_size
|
||||
gdk_pixbuf_loader_get_pixbuf
|
||||
gdk_pixbuf_loader_get_animation
|
||||
gdk_pixbuf_loader_close
|
||||
@@ -164,40 +160,17 @@ GDK_IS_PIXBUF_LOADER
|
||||
GDK_PIXBUF_LOADER_CLASS
|
||||
GDK_IS_PIXBUF_LOADER_CLASS
|
||||
<SUBSECTION Private>
|
||||
GdkPixbufLoader
|
||||
gdk_pixbuf_loader_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<TITLE>Module Interface</TITLE>
|
||||
<FILE>module_interface</FILE>
|
||||
gdk_pixbuf_set_option
|
||||
gdk_pixbuf_get_formats
|
||||
gdk_pixbuf_format_get_name
|
||||
gdk_pixbuf_format_get_description
|
||||
gdk_pixbuf_format_get_mime_types
|
||||
gdk_pixbuf_format_get_extensions
|
||||
gdk_pixbuf_format_is_writable
|
||||
GdkPixbufFormat
|
||||
GdkPixbufFormatFlags
|
||||
GdkPixbufModulePattern
|
||||
GdkPixbufModuleFillVtableFunc
|
||||
GdkPixbufModuleFillInfoFunc
|
||||
GdkPixbufModuleSizeFunc
|
||||
GdkPixbufModulePreparedFunc
|
||||
GdkPixbufModuleUpdatedFunc
|
||||
ModuleFillVtableFunc
|
||||
ModulePreparedNotifyFunc
|
||||
ModuleUpdatedNotifyFunc
|
||||
GdkPixbufModule
|
||||
|
||||
<SUBSECTION Animation>
|
||||
GdkPixbufAnimationClass
|
||||
GdkPixbufAnimationIterClass
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GDK_PIXBUF_ANIMATION_GET_CLASS
|
||||
GDK_IS_PIXBUF_ANIMATION_ITER_CLASS
|
||||
GDK_PIXBUF_ANIMATION_ITER_CLASS
|
||||
GDK_IS_PIXBUF_ANIMATION_CLASS
|
||||
GDK_PIXBUF_ANIMATION_ITER_GET_CLASS
|
||||
GDK_PIXBUF_ANIMATION_CLASS
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
|
||||
@@ -1,36 +1,34 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
|
||||
<!ENTITY gdk-pixbuf-gdk-pixbuf SYSTEM "xml/gdk-pixbuf.xml">
|
||||
<!ENTITY gdk-pixbuf-refcounting SYSTEM "xml/refcounting.xml">
|
||||
<!ENTITY gdk-pixbuf-file-loading SYSTEM "xml/file-loading.xml">
|
||||
<!ENTITY gdk-pixbuf-file-saving SYSTEM "xml/file-saving.xml">
|
||||
<!ENTITY gdk-pixbuf-creating SYSTEM "xml/creating.xml">
|
||||
<!ENTITY gdk-pixbuf-inline SYSTEM "xml/inline.xml">
|
||||
<!ENTITY gdk-pixbuf-scaling SYSTEM "xml/scaling.xml">
|
||||
<!ENTITY gdk-pixbuf-rendering SYSTEM "gdk-pixbuf-rendering.sgml">
|
||||
<!ENTITY gdk-pixbuf-from-drawables SYSTEM "gdk-pixbuf-from-drawables.sgml">
|
||||
<!ENTITY gdk-pixbuf-util SYSTEM "xml/util.xml">
|
||||
<!ENTITY gdk-pixbuf-animation SYSTEM "xml/animation.xml">
|
||||
<!ENTITY GdkPixbufLoader SYSTEM "xml/gdk-pixbuf-loader.xml">
|
||||
<!ENTITY module-interface SYSTEM "xml/module_interface.xml">
|
||||
<!ENTITY initialization-versions SYSTEM "xml/initialization_versions.xml">
|
||||
<!ENTITY gdk-pixbuf-gdk-pixbuf-xlib-init SYSTEM "xml/gdk-pixbuf-xlib-init.xml">
|
||||
<!ENTITY gdk-pixbuf-gdk-pixbuf-xlib-rendering SYSTEM "xml/gdk-pixbuf-xlib-rendering.xml">
|
||||
<!ENTITY gdk-pixbuf-gdk-pixbuf-xlib-from-drawables SYSTEM "xml/gdk-pixbuf-xlib-from-drawables.xml">
|
||||
<!ENTITY gdk-pixbuf-gdk-pixbuf-xlib-rgb SYSTEM "xml/gdk-pixbuf-xlib-rgb.xml">
|
||||
<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN"[
|
||||
|
||||
<!ENTITY Porting-From-Imlib SYSTEM "porting-from-imlib.sgml">
|
||||
<!entity gdk-pixbuf-gdk-pixbuf SYSTEM "sgml/gdk-pixbuf.sgml">
|
||||
<!entity gdk-pixbuf-refcounting SYSTEM "sgml/refcounting.sgml">
|
||||
<!entity gdk-pixbuf-file-loading SYSTEM "sgml/file-loading.sgml">
|
||||
<!entity gdk-pixbuf-file-saving SYSTEM "sgml/file-saving.sgml">
|
||||
<!entity gdk-pixbuf-creating SYSTEM "sgml/creating.sgml">
|
||||
<!entity gdk-pixbuf-inline SYSTEM "sgml/inline.sgml">
|
||||
<!entity gdk-pixbuf-scaling SYSTEM "sgml/scaling.sgml">
|
||||
<!entity gdk-pixbuf-rendering SYSTEM "gdk-pixbuf-rendering.sgml">
|
||||
<!entity gdk-pixbuf-from-drawables SYSTEM "gdk-pixbuf-from-drawables.sgml">
|
||||
<!entity gdk-pixbuf-util SYSTEM "sgml/util.sgml">
|
||||
<!entity gdk-pixbuf-animation SYSTEM "sgml/animation.sgml">
|
||||
<!entity GdkPixbufLoader SYSTEM "sgml/gdk-pixbuf-loader.sgml">
|
||||
<!entity module-interface SYSTEM "sgml/module_interface.sgml">
|
||||
<!entity initialization-versions SYSTEM "sgml/initialization_versions.sgml">
|
||||
<!entity gdk-pixbuf-gdk-pixbuf-xlib-init SYSTEM "sgml/gdk-pixbuf-xlib-init.sgml">
|
||||
<!entity gdk-pixbuf-gdk-pixbuf-xlib-rendering SYSTEM "sgml/gdk-pixbuf-xlib-rendering.sgml">
|
||||
<!entity gdk-pixbuf-gdk-pixbuf-xlib-from-drawables SYSTEM "sgml/gdk-pixbuf-xlib-from-drawables.sgml">
|
||||
<!entity gdk-pixbuf-gdk-pixbuf-xlib-rgb SYSTEM "sgml/gdk-pixbuf-xlib-rgb.sgml">
|
||||
|
||||
<!ENTITY gdk-pixbuf "<application>gdk-pixbuf</application>">
|
||||
<!ENTITY Imlib "<application>Imlib</application>">
|
||||
<!ENTITY version SYSTEM "version.xml">
|
||||
<!entity Porting-From-Imlib SYSTEM "porting-from-imlib.sgml">
|
||||
|
||||
<!entity gdk-pixbuf "<application>gdk-pixbuf</application>">
|
||||
<!entity Imlib "<application>Imlib</application>">
|
||||
]>
|
||||
|
||||
<book id="index">
|
||||
<bookinfo>
|
||||
<title>The &gdk-pixbuf; Library</title>
|
||||
<releaseinfo>Version &version;</releaseinfo>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Federico</firstname>
|
||||
|
||||
@@ -5,7 +5,7 @@ Animations
|
||||
Animated images.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
<para><anchor id="GdkPixbufAnimation">
|
||||
The &gdk-pixbuf; library provides a simple mechanism to load and represent
|
||||
animations. An animation is conceptually a series of frames to be displayed
|
||||
over time. Each frame is the same size. The animation may not be represented
|
||||
@@ -20,6 +20,12 @@ Animated images.
|
||||
#GdkPixbufLoader
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufFrame ##### -->
|
||||
<para>
|
||||
This object describes an individual frame of an animation.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufAnimation ##### -->
|
||||
<para>
|
||||
This object describes an animation.
|
||||
|
||||
@@ -21,28 +21,21 @@ Application-driven progressive image loading.
|
||||
To use #GdkPixbufLoader to load an image, just create a new one,
|
||||
and call gdk_pixbuf_loader_write() to send the data to it. When
|
||||
done, gdk_pixbuf_loader_close() should be called to end the stream
|
||||
and finalize everything. The loader will emit three important
|
||||
and finalize everything. The loader will emit two important
|
||||
signals throughout the process. The first, "<link
|
||||
linkend="GdkPixbufLoader-size-prepared">size_prepared</link>",
|
||||
will be called as soon as the image has enough information to
|
||||
determine the size of the image to be used. If you want to scale
|
||||
the image while loading it, you can call gdk_pixbuf_loader_set_size()
|
||||
in response to this signal.
|
||||
</para>
|
||||
|
||||
<para>The second signal, "<link
|
||||
linkend="GdkPixbufLoader-area-prepared">area_prepared</link>",
|
||||
will be called as soon as the pixbuf of the desired has been
|
||||
allocated. You can obtain it by calling gdk_pixbuf_loader_get_pixbuf().
|
||||
If you want to use it, simply ref it.
|
||||
In addition, no actual information will be passed in yet, so the
|
||||
will be called as soon as the image has enough information to
|
||||
determine the size of the image to be used. It will pass a
|
||||
@GdkPixbuf in. If you want to use it, you can simply ref it. In
|
||||
addition, no actual information will be passed in yet, so the
|
||||
pixbuf can be safely filled with any temporary graphics (or an
|
||||
initial color) as needed. You can also call
|
||||
gdk_pixbuf_loader_get_pixbuf() later and get the same pixbuf.
|
||||
initial color) as needed. You can also call the
|
||||
gdk_pixbuf_loader_get_pixbuf() once this signal has been emitted
|
||||
and get the same pixbuf.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The last signal, "<link
|
||||
The other signal, "<link
|
||||
linkend="GdkPixbufLoader-area-updated">area_updated</link>" gets
|
||||
called every time a region is updated. This way you can update a
|
||||
partially completed image. Note that you do not know anything
|
||||
@@ -69,13 +62,6 @@ Application-driven progressive image loading.
|
||||
gdk_pixbuf_new_from_file(), gdk_pixbuf_animation_new_from_file()
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufLoader ##### -->
|
||||
<para>
|
||||
The <structname>GdkPixbufLoader</structname> struct contains only private
|
||||
fields.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_loader_new ##### -->
|
||||
<para>
|
||||
|
||||
@@ -94,15 +80,6 @@ fields.
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_loader_get_format ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@loader:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_loader_write ##### -->
|
||||
<para>
|
||||
|
||||
@@ -115,16 +92,6 @@ fields.
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_loader_set_size ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@loader:
|
||||
@width:
|
||||
@height:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_loader_get_pixbuf ##### -->
|
||||
<para>
|
||||
|
||||
@@ -155,12 +122,16 @@ fields.
|
||||
|
||||
<!-- ##### SIGNAL GdkPixbufLoader::area-prepared ##### -->
|
||||
<para>
|
||||
This signal is emitted when the pixbuf loader has allocated the pixbuf
|
||||
in the desired size. After this signal is emitted, applications can
|
||||
call gdk_pixbuf_loader_get_pixbuf() to fetch the partially-loaded pixbuf.
|
||||
This signal is emitted when the pixbuf loader has been fed the
|
||||
initial amount of data that is required to figure out the size and
|
||||
format of the image that it will create. After this signal is
|
||||
emitted, applications can call gdk_pixbuf_loader_get_pixbuf() to
|
||||
fetch the partially-loaded pixbuf.
|
||||
</para>
|
||||
|
||||
@gdkpixbufloader: the object which received the signal.
|
||||
<!-- # Unused Parameters # -->
|
||||
@loader: Loader which emitted the signal.
|
||||
|
||||
<!-- ##### SIGNAL GdkPixbufLoader::area-updated ##### -->
|
||||
<para>
|
||||
@@ -171,12 +142,13 @@ fields.
|
||||
areas of an image that is being loaded.
|
||||
</para>
|
||||
|
||||
@gdkpixbufloader: Loader which emitted the signal.
|
||||
@gdkpixbufloader: the object which received the signal.
|
||||
@arg1:
|
||||
@arg2:
|
||||
@arg3:
|
||||
@arg4:
|
||||
<!-- # Unused Parameters # -->
|
||||
@loader: Loader which emitted the signal.
|
||||
@x: X offset of upper-left corner of the updated area.
|
||||
@y: Y offset of upper-left corner of the updated area.
|
||||
@width: Width of updated area.
|
||||
@@ -191,6 +163,8 @@ fields.
|
||||
</para>
|
||||
|
||||
@gdkpixbufloader: the object which received the signal.
|
||||
<!-- # Unused Parameters # -->
|
||||
@loader: Loader which emitted the signal.
|
||||
|
||||
<!--
|
||||
Local variables:
|
||||
@@ -199,19 +173,3 @@ sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
|
||||
End:
|
||||
-->
|
||||
|
||||
<!-- ##### SIGNAL GdkPixbufLoader::size-prepared ##### -->
|
||||
<para>
|
||||
This signal is emitted when the pixbuf loader has been fed the
|
||||
initial amount of data that is required to figure out the size
|
||||
of the image that it will create. Applications can call
|
||||
gdk_pixbuf_loader_set_size() in response to this signal to set
|
||||
the desired size to which the image should be scaled.
|
||||
</para>
|
||||
|
||||
@gdkpixbufloader: the object which received the signal.
|
||||
@arg1:
|
||||
@arg2:
|
||||
<!-- # Unused Parameters # -->
|
||||
@width: the original width of the image
|
||||
@height: the original height of the image
|
||||
|
||||
|
||||
@@ -365,12 +365,6 @@ XlibRGB
|
||||
|
||||
@obj: A GTK+ object.
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufFrame ##### -->
|
||||
<para>
|
||||
This object describes an individual frame of an animation.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ENUM GdkPixbufFrameAction ##### -->
|
||||
<para>
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ Information that describes an image.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
|
||||
<para>
|
||||
<para><anchor id="GdkPixbuf">
|
||||
The <structname>GdkPixbuf</structname> structure contains
|
||||
information that describes an image in memory.
|
||||
</para>
|
||||
|
||||
@@ -6,58 +6,7 @@ Extending &gdk-pixbuf;
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
If &gdk-pixbuf; has been compiled with GModule support, it can be extended by
|
||||
modules which can load (and perhaps also save) new image and animation
|
||||
formats. Each loadable module must export a
|
||||
#GdkPixbufModuleFillInfoFunc function named <function>fill_info</function> and
|
||||
a #GdkPixbufModuleFillVtableFunc function named
|
||||
<function>fill_vtable</function>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In order to make format-checking work before actually loading the modules
|
||||
(which may require dlopening image libraries), modules export their
|
||||
signatures (and other information) via the <function>fill_info</function>
|
||||
function. An external utility, <command>gdk-pixbuf-query-loaders</command>, uses
|
||||
this to create a text file containing a list of all available loaders and
|
||||
their signatures. This file is then read at runtime by &gdk-pixbuf; to obtain
|
||||
the list of available loaders and their signatures.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Modules may only implement a subset of the functionality available via
|
||||
#GdkPixbufModule. If a particular functionality is not implemented, the
|
||||
<function>fill_vtable</function> function will simply not set the corresponding
|
||||
function pointers of the #GdkPixbufModule structure. If a module supports
|
||||
incremental loading (i.e. provides #begin_load, #stop_load and
|
||||
#load_increment), it doesn't have to implement #load, since &gdk-pixbuf; can
|
||||
supply a generic #load implementation wrapping the incremental loading.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Installing a module is a two-step process:
|
||||
<itemizedlist>
|
||||
<listitem><para>copy the module file(s) to the loader directory (normally
|
||||
<filename><replaceable>libdir</replaceable>/gtk-2.0/<replaceable>version</replaceable>/loaders</filename>,
|
||||
unless overridden by the environment variable
|
||||
<envar>GDK_PIXBUF_MODULEDIR</envar>)
|
||||
</para></listitem>
|
||||
<listitem><para>call <command>gdk-pixbuf-query-loaders</command> to update the
|
||||
module file (normally
|
||||
<filename><replaceable>sysconfdir</replaceable>/gtk-2.0/gdk-pixbuf.loaders</filename>,
|
||||
unless overridden by the environment variable
|
||||
<envar>GDK_PIXBUF_MODULE_FILE</envar>)
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The &gdk-pixbuf; interfaces needed for implementing modules are contained in
|
||||
<filename>gdk-pixbuf-io.h</filename> (and
|
||||
<filename>gdk-pixbuf-animation.h</filename> if the module supports animations).
|
||||
They are not covered by the same stability guarantees as the regular
|
||||
&gdk-pixbuf; API. To underline this fact, they are protected by
|
||||
<literal>#ifdef GDK_PIXBUF_ENABLE_BACKEND</literal>.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
@@ -65,157 +14,16 @@ They are not covered by the same stability guarantees as the regular
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_set_option ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@key:
|
||||
@value:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_get_formats ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_format_get_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@format:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_format_get_description ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@format:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_format_get_mime_types ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@format:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_format_get_extensions ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@format:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_format_is_writable ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@format:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufFormat ##### -->
|
||||
<para>
|
||||
A #GdkPixbufFormat contains information about the image format accepted by a
|
||||
module. Only modules should access the fields directly, applications should
|
||||
use the <function>gdk_pixbuf_format_*</function> functions.
|
||||
</para>
|
||||
|
||||
@name: the name of the image format.
|
||||
@signature: the signature of the module.
|
||||
@domain: the message domain for the @description.
|
||||
@description: a description of the image format.
|
||||
@mime_types: a %NULL-terminated array of MIME types for the image format.
|
||||
@extensions: a %NULL-terminated array of typical filename extensions for the
|
||||
image format.
|
||||
@flags: a combination of #GdkPixbufFormatFlags.
|
||||
@Since: 2.2
|
||||
|
||||
<!-- ##### ENUM GdkPixbufFormatFlags ##### -->
|
||||
<para>
|
||||
Flags which allow a module to specify further details about the supported
|
||||
operations.
|
||||
</para>
|
||||
|
||||
@GDK_PIXBUF_FORMAT_WRITABLE: the module can write out images in the format.
|
||||
@Since: 2.2
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufModulePattern ##### -->
|
||||
<para>
|
||||
The signature of a module is a set of prefixes. Prefixes are encoded as
|
||||
pairs of ordinary strings, where the second string, if not %NULL,
|
||||
may contain ' ', '!', 'x', 'z', and 'n' to indicate bytes that must be
|
||||
matched, not matched, "don't-care"-bytes, zeros and non-zeros.
|
||||
Each prefix has an associated integer that describes the relevance of
|
||||
the prefix, with 0 meaning a mismatch and 100 a "perfect match".
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The signature of a module is stored as an array of
|
||||
#GdkPixbufModulePattern<!-- -->s.
|
||||
</para>
|
||||
|
||||
@prefix: the prefix for this pattern
|
||||
@mask: mask containing bytes which modify how the prefix is matched against
|
||||
test data
|
||||
@relevance: relevance of this pattern
|
||||
@Since: 2.2
|
||||
|
||||
<!-- ##### USER_FUNCTION GdkPixbufModuleFillVtableFunc ##### -->
|
||||
<!-- ##### USER_FUNCTION ModuleFillVtableFunc ##### -->
|
||||
<para>
|
||||
Defines the type of the function used to set the vtable of a
|
||||
#GdkPixbufModule when it is loaded.
|
||||
#GdkPixbufModule when it is loaded.
|
||||
</para>
|
||||
|
||||
@module: a #GdkPixbufModule.
|
||||
@Since: 2.2
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GdkPixbufModuleFillInfoFunc ##### -->
|
||||
<para>
|
||||
Defines the type of the function used to fill a
|
||||
#GdkPixbufFormat structure with information about a module.
|
||||
</para>
|
||||
|
||||
@info: a #GdkPixbufFormat.
|
||||
@Since: 2.2
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GdkPixbufModuleSizeFunc ##### -->
|
||||
<para>
|
||||
Defines the type of the function that gets called once the size
|
||||
of the loaded image is known.
|
||||
</para>
|
||||
<para>
|
||||
The function is expected to set @width and @height to the desired
|
||||
size to which the image should be scaled. If a module has no efficient
|
||||
way to achieve the desired scaling during the loading of the image, it may
|
||||
either ignore the size request, or only approximate it -- &gdk-pixbuf; will
|
||||
then perform the required scaling on the completely loaded image.
|
||||
</para>
|
||||
|
||||
@width: pointer to a location containing the current image width
|
||||
@height: pointer to a location containing the current image height
|
||||
@user_data: the loader.
|
||||
@Since: 2.2
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GdkPixbufModulePreparedFunc ##### -->
|
||||
<!-- ##### USER_FUNCTION ModulePreparedNotifyFunc ##### -->
|
||||
<para>
|
||||
Defines the type of the function that gets called once the initial
|
||||
setup of @pixbuf is done.
|
||||
@@ -229,10 +37,9 @@ signal.
|
||||
@pixbuf: the #GdkPixbuf that is currently being loaded.
|
||||
@anim: if an animation is being loaded, the #GdkPixbufAnimation, else %NULL.
|
||||
@user_data: the loader.
|
||||
@Since: 2.2
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GdkPixbufModuleUpdatedFunc ##### -->
|
||||
<!-- ##### USER_FUNCTION ModuleUpdatedNotifyFunc ##### -->
|
||||
<para>
|
||||
Defines the type of the function that gets called every time a region
|
||||
of @pixbuf is updated.
|
||||
@@ -249,7 +56,6 @@ signal.
|
||||
@width: the width of the updated area.
|
||||
@height: the height of the updated area.
|
||||
@user_data: the loader.
|
||||
@Since: 2.2
|
||||
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufModule ##### -->
|
||||
@@ -259,16 +65,17 @@ images in a certain file format.
|
||||
</para>
|
||||
<para>
|
||||
A #GdkPixbufModule can be loaded dynamically from a #GModule.
|
||||
Each loadable module must contain a #GdkPixbufModuleFillVtableFunc function
|
||||
named <function>fill_vtable</function>, which will get called when the module
|
||||
is loaded and must set the function pointers of the #GdkPixbufModule.
|
||||
Each loadable module must contain a #ModuleFillVtableFunc function named
|
||||
<function>gdk_pixbuf__<replaceable>module_name</replaceable>_fill_vtable</function>.
|
||||
It will get called when the module is loaded and must set the function
|
||||
pointers of the #GdkPixbufModule.
|
||||
</para>
|
||||
|
||||
@module_name: the name of the module, usually the same as the
|
||||
usual file extension for images of this type, eg. "xpm", "jpeg" or "png".
|
||||
@module_path: the path from which the module is loaded.
|
||||
@format_check: checks if the given data is the beginning of a valid image
|
||||
in the format supported by the module.
|
||||
@module: the loaded #GModule.
|
||||
@info: a #GdkPixbufFormat holding information about the module.
|
||||
@load: loads an image from a file.
|
||||
@load_xpm_data: loads an image from data in memory.
|
||||
@begin_load: begins an incremental load.
|
||||
@@ -277,32 +84,3 @@ is loaded and must set the function pointers of the #GdkPixbufModule.
|
||||
@load_animation: loads an animation from a file.
|
||||
@save: saves a #GdkPixbuf to a file.
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufAnimationClass ##### -->
|
||||
<para>
|
||||
Modules supporting animations must derive a type from
|
||||
#GdkPixbufAnimation, providing suitable implementations of the
|
||||
virtual functions.
|
||||
</para>
|
||||
|
||||
@parent_class:
|
||||
@is_static_image: returns whether the given animation is just a static image.
|
||||
@get_static_image: returns a static image representing the given animation.
|
||||
@get_size: fills @width and @height with the frame size of the animation.
|
||||
@get_iter: returns an iterator for the given animation.
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufAnimationIterClass ##### -->
|
||||
<para>
|
||||
Modules supporting animations must derive a type from
|
||||
#GdkPixbufAnimationIter, providing suitable implementations of the
|
||||
virtual functions.
|
||||
</para>
|
||||
|
||||
@parent_class:
|
||||
@get_delay_time: returns the time in milliseconds that the current frame
|
||||
should be shown.
|
||||
@get_pixbuf: returns the current frame.
|
||||
@on_currently_loading_frame: returns whether the current frame of @iter is
|
||||
being loaded.
|
||||
@advance: advances the iterator to @current_time, possibly changing the
|
||||
current frame.
|
||||
|
||||
|
||||
@@ -40,11 +40,42 @@ Functions for reference counting and memory management on pixbufs.
|
||||
responsibility to free the pixel array.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
As an extension to traditional reference counting, #GdkPixbuf
|
||||
structures support defining a handler for the last unref
|
||||
operation. If g_object_unref() is called on a #GdkPixbuf
|
||||
structure that has a reference count of 1, i.e. its last
|
||||
reference, then the pixbuf's last unref handler function will be
|
||||
called. It is up to this function to determine whether to
|
||||
finalize the pixbuf using gdk_pixbuf_finalize() or to just
|
||||
continue execution. This can be used to implement a pixbuf cache
|
||||
efficiently; please see the programmer's documentation for
|
||||
details.
|
||||
</para>
|
||||
|
||||
<!-- FIXME: link the last sentence above to the relevant section of
|
||||
the programmer's docs.
|
||||
-->
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GdkPixbuf, gdk_pixbuf_new_from_data().
|
||||
</para>
|
||||
|
||||
<!-- ##### USER_FUNCTION GdkPixbufDestroyNotify ##### -->
|
||||
<para>
|
||||
A function of this type is responsible for freeing the pixel array
|
||||
of a pixbuf. The gdk_pixbuf_new_from_data() function lets you
|
||||
pass in a pre-allocated pixel array so that a pixbuf can be
|
||||
created from it; in this case you will need to pass in a function
|
||||
of #GdkPixbufDestroyNotify so that the pixel data can be freed
|
||||
when the pixbuf is finalized.
|
||||
</para>
|
||||
|
||||
@pixels: The pixel array of the pixbuf that is being finalized.
|
||||
@data: User closure data.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_ref ##### -->
|
||||
<para>
|
||||
|
||||
@@ -62,17 +93,3 @@ Functions for reference counting and memory management on pixbufs.
|
||||
@pixbuf:
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GdkPixbufDestroyNotify ##### -->
|
||||
<para>
|
||||
A function of this type is responsible for freeing the pixel array
|
||||
of a pixbuf. The gdk_pixbuf_new_from_data() function lets you
|
||||
pass in a pre-allocated pixel array so that a pixbuf can be
|
||||
created from it; in this case you will need to pass in a function
|
||||
of #GdkPixbufDestroyNotify so that the pixel data can be freed
|
||||
when the pixbuf is finalized.
|
||||
</para>
|
||||
|
||||
@pixels: The pixel array of the pixbuf that is being finalized.
|
||||
@data: User closure data.
|
||||
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
@GTK_VERSION@
|
||||
@@ -1,17 +1,14 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
gdk-decl-list.txt
|
||||
sgml
|
||||
html
|
||||
gdk.args
|
||||
gdk.signals
|
||||
gdk.hierarchy
|
||||
gdk-decl.txt
|
||||
gdk-decl-list.txt
|
||||
gdk-undocumented.txt
|
||||
gdk-unused.txt
|
||||
gdk.args
|
||||
gdk.hierarchy
|
||||
gdk.interfaces
|
||||
gdk.prerequisites
|
||||
gdk.signals
|
||||
html
|
||||
xml
|
||||
*.stamp
|
||||
*.lo
|
||||
.libs
|
||||
version.xml
|
||||
|
||||
@@ -13,7 +13,7 @@ DOC_SOURCE_DIR=../../../gdk
|
||||
SCAN_OPTIONS=--deprecated-guards="GDK_ENABLE_BROKEN|GDK_DISABLE_DEPRECATED"
|
||||
|
||||
# Extra options to supply to gtkdoc-mkdb
|
||||
MKDB_OPTIONS=--sgml-mode --output-format=xml
|
||||
MKDB_OPTIONS=--sgml-mode
|
||||
|
||||
# Extra options to supply to gtkdoc-fixref
|
||||
FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html
|
||||
@@ -24,8 +24,6 @@ CFILE_GLOB=$(top_srcdir)/gdk/*.c
|
||||
|
||||
# Header files to ignore when scanning
|
||||
IGNORE_HFILES= \
|
||||
gdkintl.h \
|
||||
gdkmarshalers.h \
|
||||
gdkkeysyms.h \
|
||||
gdkinternals.h \
|
||||
gdkprivate.h \
|
||||
@@ -121,27 +119,15 @@ HTML_IMAGES = \
|
||||
images/xterm.png
|
||||
|
||||
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
|
||||
content_files = \
|
||||
version.xml \
|
||||
multihead.sgml
|
||||
content_files =
|
||||
|
||||
# Other files to distribute
|
||||
extra_files = version.xml.in
|
||||
extra_files =
|
||||
|
||||
# CFLAGS and LDFLAGS for compiling scan program. Only needed
|
||||
# if $(DOC_MODULE).types is non-empty.
|
||||
GTKDOC_CFLAGS = @STRIP_BEGIN@ \
|
||||
@CFLAGS@ \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_builddir) \
|
||||
-I$(top_builddir)/gdk \
|
||||
@GTK_DEBUG_FLAGS@ \
|
||||
@GDK_DEP_CFLAGS@ \
|
||||
@STRIP_END@
|
||||
|
||||
GTKDOC_LIBS = @STRIP_BEGIN@ \
|
||||
$(top_builddir)/gdk/@gdktargetlib@ \
|
||||
@STRIP_END@
|
||||
GTKDOC_CFLAGS =
|
||||
GTKDOC_LIBS =
|
||||
|
||||
# Commands for compiling and linking
|
||||
GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)
|
||||
@@ -173,11 +159,9 @@ EXTRA_DIST = \
|
||||
DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
|
||||
$(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
|
||||
|
||||
SCANOBJ_FILES = \
|
||||
$(DOC_MODULE).args \
|
||||
$(DOC_MODULE).hierarchy \
|
||||
$(DOC_MODULE).interfaces \
|
||||
$(DOC_MODULE).prerequisites \
|
||||
SCANOBJ_FILES = \
|
||||
$(DOC_MODULE).args \
|
||||
$(DOC_MODULE).hierarchy \
|
||||
$(DOC_MODULE).signals
|
||||
|
||||
if ENABLE_GTK_DOC
|
||||
@@ -271,10 +255,10 @@ endif
|
||||
|
||||
dist-hook: dist-check-gtkdoc dist-hook-local
|
||||
mkdir $(distdir)/tmpl
|
||||
mkdir $(distdir)/xml
|
||||
mkdir $(distdir)/sgml
|
||||
mkdir $(distdir)/html
|
||||
-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
|
||||
-cp $(srcdir)/xml/*.xml $(distdir)/xml
|
||||
-cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
|
||||
-cp $(srcdir)/html/* $(distdir)/html
|
||||
|
||||
.PHONY : dist-hook-local
|
||||
|
||||
@@ -1,52 +1,42 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
|
||||
<!ENTITY gdk-General SYSTEM "xml/general.xml">
|
||||
<!ENTITY gdk-Bitmaps-and-Pixmaps SYSTEM "xml/pixmaps.xml">
|
||||
<!ENTITY gdk-Images SYSTEM "xml/images.xml">
|
||||
<!ENTITY gdk-GdkRGB SYSTEM "xml/rgb.xml">
|
||||
<!ENTITY gdk-Pixbufs SYSTEM "xml/pixbufs.xml">
|
||||
<!ENTITY gdk-Colormaps-and-Colors SYSTEM "xml/colors.xml">
|
||||
<!ENTITY gdk-Fonts SYSTEM "xml/fonts.xml">
|
||||
<!ENTITY gdk-Drawing-Primitives SYSTEM "xml/drawing.xml">
|
||||
<!ENTITY gdk-Graphics-Contexts SYSTEM "xml/gcs.xml">
|
||||
<!ENTITY gdk-Visuals SYSTEM "xml/visuals.xml">
|
||||
<!ENTITY gdk-Windows SYSTEM "xml/windows.xml">
|
||||
<!ENTITY gdk-Selections SYSTEM "xml/selections.xml">
|
||||
<!ENTITY gdk-Properties-and-Atoms SYSTEM "xml/properties.xml">
|
||||
<!ENTITY gdk-Pango-Interaction SYSTEM "xml/pango_interaction.xml">
|
||||
<!ENTITY gdk-Points-Rectangles-and-Regions SYSTEM "xml/regions.xml">
|
||||
<!ENTITY gdk-Threads SYSTEM "xml/threads.xml">
|
||||
<!ENTITY gdk-Keys SYSTEM "xml/keys.xml">
|
||||
<!ENTITY gdk-Input-Devices SYSTEM "xml/input_devices.xml">
|
||||
<!ENTITY gdk-Events SYSTEM "xml/events.xml">
|
||||
<!ENTITY gdk-Event-Structures SYSTEM "xml/event_structs.xml">
|
||||
<!ENTITY gdk-Cursors SYSTEM "xml/cursors.xml">
|
||||
<!ENTITY gdk-Input SYSTEM "xml/input.xml">
|
||||
<!ENTITY gdk-Drag-and-Drop SYSTEM "xml/dnd.xml">
|
||||
<!ENTITY gdk-X-Window-System-Interaction SYSTEM "xml/x_interaction.xml">
|
||||
<!ENTITY gdk-Screen SYSTEM "xml/gdkscreen.xml">
|
||||
<!ENTITY gdk-Display SYSTEM "xml/gdkdisplay.xml">
|
||||
<!ENTITY gdk-DisplayManager SYSTEM "xml/gdkdisplaymanager.xml">
|
||||
<!ENTITY gdk-Multihead SYSTEM "multihead.sgml">
|
||||
<!ENTITY version SYSTEM "version.xml">
|
||||
<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
|
||||
<!notation PNG system "PNG">
|
||||
<!entity % local.notation.class "| PNG">
|
||||
|
||||
<!entity gdk-General SYSTEM "sgml/general.sgml">
|
||||
<!entity gdk-Bitmaps-and-Pixmaps SYSTEM "sgml/pixmaps.sgml">
|
||||
<!entity gdk-Images SYSTEM "sgml/images.sgml">
|
||||
<!entity gdk-GdkRGB SYSTEM "sgml/rgb.sgml">
|
||||
<!entity gdk-Pixbufs SYSTEM "sgml/pixbufs.sgml">
|
||||
<!entity gdk-Colormaps-and-Colors SYSTEM "sgml/colors.sgml">
|
||||
<!entity gdk-Fonts SYSTEM "sgml/fonts.sgml">
|
||||
<!entity gdk-Drawing-Primitives SYSTEM "sgml/drawing.sgml">
|
||||
<!entity gdk-Graphics-Contexts SYSTEM "sgml/gcs.sgml">
|
||||
<!entity gdk-Visuals SYSTEM "sgml/visuals.sgml">
|
||||
<!entity gdk-Windows SYSTEM "sgml/windows.sgml">
|
||||
<!entity gdk-Selections SYSTEM "sgml/selections.sgml">
|
||||
<!entity gdk-Properties-and-Atoms SYSTEM "sgml/properties.sgml">
|
||||
<!entity gdk-Pango-Interaction SYSTEM "sgml/pango_interaction.sgml">
|
||||
<!entity gdk-Points-Rectangles-and-Regions SYSTEM "sgml/regions.sgml">
|
||||
<!entity gdk-Threads SYSTEM "sgml/threads.sgml">
|
||||
<!entity gdk-Keys SYSTEM "sgml/keys.sgml">
|
||||
<!entity gdk-Input-Devices SYSTEM "sgml/input_devices.sgml">
|
||||
<!entity gdk-Events SYSTEM "sgml/events.sgml">
|
||||
<!entity gdk-Event-Structures SYSTEM "sgml/event_structs.sgml">
|
||||
<!entity gdk-Cursors SYSTEM "sgml/cursors.sgml">
|
||||
<!entity gdk-Input SYSTEM "sgml/input.sgml">
|
||||
<!entity gdk-Drag-and-Drop SYSTEM "sgml/dnd.sgml">
|
||||
<!entity gdk-X-Window-System-Interaction SYSTEM "sgml/x_interaction.sgml">
|
||||
]>
|
||||
|
||||
<book id="index">
|
||||
<bookinfo>
|
||||
<title>GDK Reference Manual</title>
|
||||
<releaseinfo>for GDK &version;</releaseinfo>
|
||||
</bookinfo>
|
||||
|
||||
<reference id="reference">
|
||||
<title>API Reference</title>
|
||||
&gdk-General;
|
||||
|
||||
&gdk-Multihead;
|
||||
&gdk-Display;
|
||||
&gdk-DisplayManager;
|
||||
&gdk-Screen;
|
||||
|
||||
&gdk-Points-Rectangles-and-Regions;
|
||||
&gdk-Graphics-Contexts;
|
||||
&gdk-Drawing-Primitives;
|
||||
|
||||
@@ -6,12 +6,10 @@
|
||||
<FILE>general</FILE>
|
||||
gdk_init
|
||||
gdk_init_check
|
||||
gdk_parse_args
|
||||
gdk_get_display_arg_name
|
||||
gdk_set_locale
|
||||
gdk_set_sm_client_id
|
||||
gdk_exit
|
||||
gdk_notify_startup_complete
|
||||
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_get_program_class
|
||||
@@ -112,103 +110,6 @@ gdk_wm_decoration_get_type
|
||||
gdk_wm_function_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gdkdisplay</FILE>
|
||||
<TITLE>GdkDisplay</TITLE>
|
||||
GdkDisplay
|
||||
gdk_display_open
|
||||
gdk_display_get_default
|
||||
gdk_display_get_name
|
||||
gdk_display_get_n_screens
|
||||
gdk_display_get_screen
|
||||
gdk_display_get_default_screen
|
||||
gdk_display_pointer_ungrab
|
||||
gdk_display_keyboard_ungrab
|
||||
gdk_display_pointer_is_grabbed
|
||||
gdk_display_beep
|
||||
gdk_display_sync
|
||||
gdk_display_close
|
||||
gdk_display_list_devices
|
||||
gdk_display_get_event
|
||||
gdk_display_peek_event
|
||||
gdk_display_put_event
|
||||
gdk_display_add_client_message_filter
|
||||
gdk_display_set_double_click_time
|
||||
gdk_display_get_pointer
|
||||
gdk_display_get_window_at_pointer
|
||||
GdkDisplayPointerHooks
|
||||
gdk_display_set_pointer_hooks
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GDK_DISPLAY_OBJECT
|
||||
GDK_IS_DISPLAY
|
||||
GDK_TYPE_DISPLAY
|
||||
gdk_display_get_type
|
||||
GDK_DISPLAY_CLASS
|
||||
GDK_IS_DISPLAY_CLASS
|
||||
GDK_DISPLAY_GET_CLASS
|
||||
|
||||
<SUBSECTION Private>
|
||||
gdk_display_open_default_libgtk_only
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gdkdisplaymanager</FILE>
|
||||
<TITLE>GdkDisplayManager</TITLE>
|
||||
GdkDisplayManager
|
||||
gdk_display_manager_get
|
||||
gdk_display_manager_get_default_display
|
||||
gdk_display_manager_set_default_display
|
||||
gdk_display_manager_list_displays
|
||||
gdk_display_get_core_pointer
|
||||
<SUBSECTION Standard>
|
||||
GDK_DISPLAY_MANAGER
|
||||
GDK_DISPLAY_MANAGER_CLASS
|
||||
GDK_DISPLAY_MANAGER_GET_CLASS
|
||||
GDK_IS_DISPLAY_MANAGER_CLASS
|
||||
GDK_IS_DISPLAY_MANAGER
|
||||
GDK_TYPE_DISPLAY_MANAGER
|
||||
GdkDisplayManagerClass
|
||||
gdk_display_manager_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gdkscreen</FILE>
|
||||
<TITLE>GdkScreen</TITLE>
|
||||
GdkScreen
|
||||
gdk_screen_get_default
|
||||
gdk_screen_get_default_colormap
|
||||
gdk_screen_set_default_colormap
|
||||
gdk_screen_get_system_colormap
|
||||
gdk_screen_get_system_visual
|
||||
gdk_screen_get_rgb_colormap
|
||||
gdk_screen_get_rgb_visual
|
||||
gdk_screen_get_root_window
|
||||
gdk_screen_get_display
|
||||
gdk_screen_get_number
|
||||
gdk_screen_get_width
|
||||
gdk_screen_get_height
|
||||
gdk_screen_get_width_mm
|
||||
gdk_screen_get_height_mm
|
||||
gdk_screen_list_visuals
|
||||
gdk_screen_get_toplevel_windows
|
||||
gdk_screen_make_display_name
|
||||
gdk_screen_get_n_monitors
|
||||
gdk_screen_get_monitor_geometry
|
||||
gdk_screen_get_monitor_at_point
|
||||
gdk_screen_get_monitor_at_window
|
||||
gdk_screen_broadcast_client_message
|
||||
gdk_screen_get_setting
|
||||
<SUBSECTION Standard>
|
||||
GDK_SCREEN
|
||||
GDK_IS_SCREEN
|
||||
GDK_TYPE_SCREEN
|
||||
gdk_screen_get_type
|
||||
GDK_SCREEN_CLASS
|
||||
GDK_IS_SCREEN_CLASS
|
||||
GDK_SCREEN_GET_CLASS
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<TITLE>Bitmaps and Pixmaps</TITLE>
|
||||
<FILE>pixmaps</FILE>
|
||||
@@ -339,7 +240,6 @@ gdk_colormap_alloc_color
|
||||
gdk_colormap_free_colors
|
||||
gdk_colormap_query_color
|
||||
gdk_colormap_get_visual
|
||||
gdk_colormap_get_screen
|
||||
gdk_colors_store
|
||||
gdk_color_copy
|
||||
gdk_color_free
|
||||
@@ -374,12 +274,8 @@ gdk_color_get_type
|
||||
GdkFont
|
||||
GdkFontType
|
||||
gdk_font_load
|
||||
gdk_font_load_for_display
|
||||
gdk_fontset_load
|
||||
gdk_fontset_load_for_display
|
||||
gdk_font_from_description
|
||||
gdk_font_from_description_for_display
|
||||
gdk_font_get_display
|
||||
gdk_font_ref
|
||||
gdk_font_unref
|
||||
gdk_font_id
|
||||
@@ -401,6 +297,10 @@ gdk_string_height
|
||||
gdk_text_height
|
||||
gdk_char_height
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_font_full_name_get
|
||||
gdk_font_full_name_free
|
||||
|
||||
<SUBSECTION>
|
||||
GdkWChar
|
||||
gdk_wcstombs
|
||||
@@ -422,8 +322,6 @@ gdk_drawable_ref
|
||||
gdk_drawable_unref
|
||||
gdk_drawable_set_data
|
||||
gdk_drawable_get_data
|
||||
gdk_drawable_get_display
|
||||
gdk_drawable_get_screen
|
||||
gdk_drawable_get_visual
|
||||
gdk_drawable_set_colormap
|
||||
gdk_drawable_get_colormap
|
||||
@@ -437,7 +335,6 @@ gdk_draw_point
|
||||
gdk_draw_points
|
||||
gdk_draw_line
|
||||
gdk_draw_lines
|
||||
gdk_draw_pixbuf
|
||||
gdk_draw_segments
|
||||
GdkSegment
|
||||
gdk_draw_rectangle
|
||||
@@ -483,7 +380,6 @@ GdkFunction
|
||||
|
||||
gdk_gc_new
|
||||
gdk_gc_new_with_values
|
||||
gdk_gc_get_screen
|
||||
gdk_gc_ref
|
||||
gdk_gc_unref
|
||||
gdk_gc_destroy
|
||||
@@ -558,7 +454,6 @@ gdk_visual_get_best_with_type
|
||||
gdk_visual_get_best_with_both
|
||||
gdk_visual_ref
|
||||
gdk_visual_unref
|
||||
gdk_visual_get_screen
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GDK_TYPE_BYTE_ORDER
|
||||
@@ -588,6 +483,7 @@ GdkWindowEdge
|
||||
GdkWindowTypeHint
|
||||
GdkWindowAttr
|
||||
GdkWindowAttributesType
|
||||
GdkScreen
|
||||
gdk_window_new
|
||||
gdk_window_destroy
|
||||
gdk_window_ref
|
||||
@@ -607,8 +503,6 @@ gdk_window_stick
|
||||
gdk_window_unstick
|
||||
gdk_window_maximize
|
||||
gdk_window_unmaximize
|
||||
gdk_window_fullscreen
|
||||
gdk_window_unfullscreen
|
||||
gdk_window_move
|
||||
gdk_window_resize
|
||||
gdk_window_move_resize
|
||||
@@ -669,8 +563,6 @@ gdk_window_set_geometry_hints
|
||||
gdk_window_set_icon_list
|
||||
gdk_window_set_modal_hint
|
||||
gdk_window_set_type_hint
|
||||
gdk_window_set_skip_taskbar_hint
|
||||
gdk_window_set_skip_pager_hint
|
||||
gdk_window_get_position
|
||||
gdk_window_get_root_origin
|
||||
gdk_window_get_frame_extents
|
||||
@@ -756,13 +648,10 @@ GDK_SELECTION_TYPE_PIXMAP
|
||||
GDK_SELECTION_TYPE_WINDOW
|
||||
GDK_SELECTION_TYPE_STRING
|
||||
gdk_selection_owner_set
|
||||
gdk_selection_owner_set_for_display
|
||||
gdk_selection_owner_get
|
||||
gdk_selection_owner_get_for_display
|
||||
gdk_selection_convert
|
||||
gdk_selection_property_get
|
||||
gdk_selection_send_notify
|
||||
gdk_selection_send_notify_for_display
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
@@ -773,16 +662,12 @@ GDK_ATOM_TO_POINTER
|
||||
GDK_POINTER_TO_ATOM
|
||||
GDK_NONE
|
||||
gdk_text_property_to_text_list
|
||||
gdk_text_property_to_text_list_for_display
|
||||
gdk_free_text_list
|
||||
gdk_text_property_to_utf8_list
|
||||
gdk_text_property_to_utf8_list_for_display
|
||||
gdk_string_to_compound_text
|
||||
gdk_string_to_compound_text_for_display
|
||||
gdk_free_compound_text
|
||||
gdk_utf8_to_string_target
|
||||
gdk_utf8_to_compound_text
|
||||
gdk_utf8_to_compound_text_for_display
|
||||
gdk_atom_intern
|
||||
gdk_atom_name
|
||||
gdk_property_get
|
||||
@@ -798,7 +683,6 @@ GDK_TYPE_PROP_MODE
|
||||
<TITLE>Pango Interaction</TITLE>
|
||||
<FILE>pango_interaction</FILE>
|
||||
gdk_pango_context_get
|
||||
gdk_pango_context_get_for_screen
|
||||
gdk_pango_context_set_colormap
|
||||
GdkPangoAttrEmbossed
|
||||
GdkPangoAttrStipple
|
||||
@@ -875,7 +759,6 @@ gdk_threads_mutex
|
||||
GdkKeymap
|
||||
GdkKeymapKey
|
||||
gdk_keymap_get_default
|
||||
gdk_keymap_get_for_display
|
||||
gdk_keymap_lookup_key
|
||||
gdk_keymap_translate_keyboard_state
|
||||
gdk_keymap_get_entries_for_keyval
|
||||
@@ -971,7 +854,6 @@ gdk_event_peek
|
||||
gdk_event_get
|
||||
gdk_event_get_graphics_expose
|
||||
gdk_event_put
|
||||
gdk_event_new
|
||||
gdk_event_copy
|
||||
gdk_event_free
|
||||
gdk_event_get_time
|
||||
@@ -986,15 +868,12 @@ GdkEventFunc
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_event_send_client_message
|
||||
gdk_event_send_client_message_for_display
|
||||
gdk_event_send_clientmessage_toall
|
||||
gdk_add_client_message_filter
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_get_show_events
|
||||
gdk_set_show_events
|
||||
gdk_event_set_screen
|
||||
gdk_event_get_screen
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_setting_get
|
||||
@@ -1060,8 +939,6 @@ GdkCursor
|
||||
GdkCursorType
|
||||
gdk_cursor_new
|
||||
gdk_cursor_new_from_pixmap
|
||||
gdk_cursor_new_for_display
|
||||
gdk_cursor_get_display
|
||||
gdk_cursor_ref
|
||||
gdk_cursor_unref
|
||||
gdk_cursor_destroy
|
||||
@@ -1097,13 +974,11 @@ gdk_drop_reply
|
||||
gdk_drag_context_new
|
||||
gdk_drag_drop
|
||||
gdk_drag_find_window
|
||||
gdk_drag_find_window_for_screen
|
||||
gdk_drag_context_ref
|
||||
gdk_drag_begin
|
||||
gdk_drag_motion
|
||||
gdk_drop_finish
|
||||
gdk_drag_get_protocol
|
||||
gdk_drag_get_protocol_for_display
|
||||
GdkDragProtocol
|
||||
gdk_drag_context_unref
|
||||
GdkDragContext
|
||||
@@ -1135,7 +1010,6 @@ GDK_WINDOW_XDISPLAY
|
||||
GDK_WINDOW_XID
|
||||
GDK_PIXMAP_XDISPLAY
|
||||
GDK_PIXMAP_XID
|
||||
GDK_DISPLAY_XDISPLAY
|
||||
GDK_DRAWABLE_XDISPLAY
|
||||
GDK_DRAWABLE_XID
|
||||
GDK_IMAGE_XDISPLAY
|
||||
@@ -1143,9 +1017,6 @@ GDK_IMAGE_XIMAGE
|
||||
GDK_GC_XDISPLAY
|
||||
GDK_COLORMAP_XDISPLAY
|
||||
GDK_COLORMAP_XCOLORMAP
|
||||
GDK_SCREEN_XDISPLAY
|
||||
GDK_SCREEN_XNUMBER
|
||||
GDK_SCREEN_XSCREEN
|
||||
GDK_VISUAL_XVISUAL
|
||||
GDK_FONT_XDISPLAY
|
||||
GDK_FONT_XFONT
|
||||
@@ -1157,31 +1028,17 @@ GDK_WINDOW_XWINDOW
|
||||
gdkx_visual_get
|
||||
gdkx_colormap_get
|
||||
gdk_pixmap_foreign_new
|
||||
gdk_pixmap_foreign_new_for_display
|
||||
gdk_window_foreign_new
|
||||
gdk_window_foreign_new_for_display
|
||||
gdk_xid_table_lookup
|
||||
gdk_xid_table_lookup_for_display
|
||||
gdk_window_lookup
|
||||
gdk_window_lookup_for_display
|
||||
gdk_pixmap_lookup
|
||||
gdk_pixmap_lookup_for_display
|
||||
gdk_font_lookup
|
||||
gdk_font_lookup_for_display
|
||||
gdk_x11_lookup_xdisplay
|
||||
gdk_x11_get_server_time
|
||||
gdk_net_wm_supports
|
||||
gdk_x11_screen_supports_net_wm_hint
|
||||
gdk_x11_screen_get_window_manager_name
|
||||
gdk_x11_screen_lookup_visual
|
||||
gdk_x11_colormap_foreign_new
|
||||
gdk_x11_colormap_get_xcolormap
|
||||
gdk_x11_colormap_get_xdisplay
|
||||
gdk_x11_cursor_get_xcursor
|
||||
gdk_x11_cursor_get_xdisplay
|
||||
gdk_x11_display_get_xdisplay
|
||||
gdk_x11_display_grab
|
||||
gdk_x11_display_ungrab
|
||||
gdk_x11_drawable_get_xdisplay
|
||||
gdk_x11_drawable_get_xid
|
||||
gdk_x11_font_get_name
|
||||
@@ -1195,18 +1052,12 @@ gdk_x11_get_default_xdisplay
|
||||
gdk_x11_grab_server
|
||||
gdk_x11_image_get_xdisplay
|
||||
gdk_x11_image_get_ximage
|
||||
gdk_x11_screen_get_screen_number
|
||||
gdk_x11_screen_get_xscreen
|
||||
gdk_x11_ungrab_server
|
||||
gdk_x11_visual_get_xvisual
|
||||
gdk_x11_atom_to_xatom
|
||||
gdk_x11_atom_to_xatom_for_display
|
||||
gdk_x11_xatom_to_atom
|
||||
gdk_x11_xatom_to_atom_for_display
|
||||
gdk_x11_get_xatom_by_name
|
||||
gdk_x11_get_xatom_by_name_for_display
|
||||
gdk_x11_get_xatom_name
|
||||
gdk_x11_get_xatom_name_for_display
|
||||
|
||||
<SUBSECTION Private>
|
||||
gdk_display
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
#include <gdk/gdk.h>
|
||||
|
||||
gdk_display_get_type
|
||||
gdk_display_manager_get_type
|
||||
gdk_screen_get_type
|
||||
gdk_drawable_get_type
|
||||
gdk_window_object_get_type
|
||||
gdk_pixmap_get_type
|
||||
gdk_gc_get_type
|
||||
gdk_keymap_get_type
|
||||
|
||||
@@ -1,124 +0,0 @@
|
||||
<refentry id="multihead" revision="1 May 2002">
|
||||
<refmeta>
|
||||
<refentrytitle>Multi-head Support Overview</refentrytitle>
|
||||
<manvolnum>3</manvolnum>
|
||||
<refmiscinfo>GDK Library</refmiscinfo>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>Multi-head Support Overview</refname>
|
||||
<refpurpose>Overview of GdkDisplay and GdkScreen</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1>
|
||||
<title>Overview</title>
|
||||
<para>
|
||||
Multihead support is based around two main object types:
|
||||
<itemizedlist>
|
||||
<listitem><para>GdkDisplay</para></listitem>
|
||||
<listitem><para>GdkScreen</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<link linkend="gdk-GdkDisplay">GdkDisplay</link> objects are the GDK
|
||||
representation of the X Display which can be described as <emphasis>a
|
||||
workstation consisting of a keyboard a pointing device (such as a
|
||||
mouse) and one or more screens</emphasis>.
|
||||
It is used to open and keep track of various <link
|
||||
linkend="gdk-GdkScreen">GdkScreen</link> objects currently
|
||||
instanciated by the application. It is also used to grab and release
|
||||
the keyboard and the mouse pointer.
|
||||
</para>
|
||||
<para>
|
||||
<link linkend="gdk-GdkScreen">GdkScreen</link> objects are the GDK
|
||||
representation of a physical screen. It is used throughout GDK and GTK+
|
||||
to specify which screen the top level windows are to be displayed on.
|
||||
It is also used to query the screen specification and default settings such as
|
||||
the default colormap (<link linkend="gdk-screen-get-default-colormap">gdk_screen_get_default_colormap</link>()),
|
||||
the screen width (<link linkend="gdk-screen-get-width">gdk_screen_get_width</link>()), etc.
|
||||
</para>
|
||||
<para>
|
||||
The following code samples demonstrate common usage of the objects described above.
|
||||
</para>
|
||||
|
||||
<example>
|
||||
<title>Testing the number of screen on the current display</title>
|
||||
<programlisting><!--
|
||||
-->gint num_screen = 0;
|
||||
gchar *displayname = NULL;
|
||||
GdkScreen **screen_list;
|
||||
GdkDisplay *display;
|
||||
|
||||
gtk_init (&argc, &argv);
|
||||
|
||||
display = gdk_display_get_default ();
|
||||
num_screen = gdk_display_get_n_screens (display);
|
||||
displayname = gdk_display_get_name (display);
|
||||
if (num_screen <= 1)
|
||||
{
|
||||
printf ("This Xserver (%s) manages only one screen. exiting...\n",
|
||||
displayname);
|
||||
exit (1);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf ("This Xserver (%s) manages %d screens.\n", displayname,
|
||||
num_screen);
|
||||
}<!--
|
||||
|
||||
--> </programlisting>
|
||||
</example>
|
||||
<example>
|
||||
<title>Opening a second display</title>
|
||||
<programlisting><!--
|
||||
-->gchar *second_screen_name;
|
||||
GdkDisplay *second_display;
|
||||
GdkScreen *second_screen;
|
||||
GtkWidget *window;
|
||||
|
||||
gtk_init (&argc, &argv);
|
||||
|
||||
/* screen2_name needs to be initialized before calling
|
||||
/* gdk_display_new() */
|
||||
second_display = gdk_display_new (&argc, &argv, second_screen_name);
|
||||
if (second_display)
|
||||
second_screen = gdk_display_get_default_screen (second_display);
|
||||
else
|
||||
{
|
||||
g_print ("Can't open display :\n\t%s\n\n",
|
||||
second_screen_name);
|
||||
exit (1);
|
||||
}
|
||||
/* now GdkScreen can be assigned to GtkWindows */
|
||||
|
||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||
gtk_window_set_screen (window, second_screen);<!--
|
||||
--></programlisting>
|
||||
</example>
|
||||
</refsect1>
|
||||
<refsect1>
|
||||
<title>See Also</title>
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><link linkend="gdk-GdkDisplay">GdkDisplay</link></term>
|
||||
<listitem><para>the GDK Object used to represent and manipulate display
|
||||
related data</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><link linkend="gdk-GdkScreen">GdkScreen</link></term>
|
||||
<listitem><para>the GDK Object used to represent and query screen related
|
||||
data</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
||||
<!--
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-parent-document: ("gdk-docs.sgml" "book" "refentry" "")
|
||||
End:
|
||||
-->
|
||||
@@ -2,7 +2,7 @@
|
||||
Colormaps and Colors
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Manipulation of colors and colormaps
|
||||
manipulation of colors and colormaps.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -72,11 +72,14 @@ The colormap structure contains the following public fields.
|
||||
|
||||
<!-- ##### FUNCTION gdk_colormap_new ##### -->
|
||||
<para>
|
||||
Creates a new colormap for the given visual.
|
||||
</para>
|
||||
|
||||
@visual:
|
||||
@allocate:
|
||||
@Returns:
|
||||
@visual: a #GdkVisual.
|
||||
@allocate: if %TRUE, the newly created colormap will be
|
||||
a private colormap, and all colors in it will be
|
||||
allocated for the applications use.
|
||||
@Returns: the new #GdkColormap.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_colormap_ref ##### -->
|
||||
@@ -98,57 +101,82 @@ The colormap structure contains the following public fields.
|
||||
|
||||
<!-- ##### FUNCTION gdk_colormap_get_system ##### -->
|
||||
<para>
|
||||
Returns the system's default colormap.
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
@Returns: the default colormap.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_colormap_get_system_size ##### -->
|
||||
<para>
|
||||
Returns the size of the system's default colormap.
|
||||
(See the description of struct #GdkColormap for an
|
||||
explanation of the size of a colormap.)
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
@Returns: the size of the system's default colormap.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_colormap_change ##### -->
|
||||
<para>
|
||||
Changes the value of the first @ncolors in a private colormap
|
||||
to match the values in the <structfield>colors</structfield>
|
||||
array in the color map. This function is obsolete and
|
||||
should not be used. See gdk_color_change().
|
||||
</para>
|
||||
|
||||
@colormap:
|
||||
@ncolors:
|
||||
@colormap: a #GdkColormap.
|
||||
@ncolors: the number of colors to change.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_colormap_alloc_colors ##### -->
|
||||
<para>
|
||||
Allocates colors from a colormap.
|
||||
</para>
|
||||
|
||||
@colormap:
|
||||
@colors:
|
||||
@ncolors:
|
||||
@writeable:
|
||||
@best_match:
|
||||
@success:
|
||||
@Returns:
|
||||
@colormap: a #GdkColormap.
|
||||
@colors: The color values to allocate. On return, the pixel
|
||||
values for allocated colors will be filled in.
|
||||
@ncolors: The number of colors in @colors.
|
||||
@writeable: If %TRUE, the colors are allocated writeable
|
||||
(their values can later be changed using gdk_color_change()).
|
||||
Writeable colors cannot be shared between applications.
|
||||
@best_match: If %TRUE, GDK will attempt to do matching against
|
||||
existing colors if the colors cannot be allocated as
|
||||
requested.
|
||||
@success: An array of length @ncolors. On return, this
|
||||
indicates whether the corresponding color in @colors was
|
||||
sucessfully allocated or not.
|
||||
@Returns: The number of colors that were not sucessfully
|
||||
allocated.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_colormap_alloc_color ##### -->
|
||||
<para>
|
||||
Allocates a single color from a colormap.
|
||||
</para>
|
||||
|
||||
@colormap:
|
||||
@color:
|
||||
@writeable:
|
||||
@best_match:
|
||||
@Returns:
|
||||
@colormap: a #GdkColormap.
|
||||
@color: the color to allocate. On return the
|
||||
<structfield>pixel</structfield> field will be
|
||||
filled in if allocation succeeds.
|
||||
@writeable: If %TRUE, the color is allocated writeable
|
||||
(their values can later be changed using gdk_color_change()).
|
||||
Writeable colors cannot be shared between applications.
|
||||
@best_match: If %TRUE, GDK will attempt to do matching against
|
||||
existing colors if the color cannot be allocated as
|
||||
requested.
|
||||
@Returns: %TRUE if the allocation succeeded.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_colormap_free_colors ##### -->
|
||||
<para>
|
||||
Frees previously allocated colors.
|
||||
</para>
|
||||
|
||||
@colormap:
|
||||
@colors:
|
||||
@ncolors:
|
||||
@colormap: a #GdkColormap.
|
||||
@colors: the colors to free.
|
||||
@ncolors: the number of colors in @colors.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_colormap_query_color ##### -->
|
||||
@@ -163,127 +191,166 @@ The colormap structure contains the following public fields.
|
||||
|
||||
<!-- ##### FUNCTION gdk_colormap_get_visual ##### -->
|
||||
<para>
|
||||
Returns the visual for which a given colormap was created.
|
||||
</para>
|
||||
|
||||
@colormap:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_colormap_get_screen ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@cmap:
|
||||
@Returns:
|
||||
@colormap: a #GdkColormap.
|
||||
@Returns: the visual of the colormap.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_colors_store ##### -->
|
||||
<para>
|
||||
Changes the value of the first @ncolors colors in
|
||||
a private colormap. This function is obsolete and
|
||||
should not be used. See gdk_color_change().
|
||||
</para>
|
||||
|
||||
@colormap:
|
||||
@colors:
|
||||
@ncolors:
|
||||
@colormap: a #GdkColormap.
|
||||
@colors: the new color values.
|
||||
@ncolors: the number of colors to change.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_color_copy ##### -->
|
||||
<para>
|
||||
Makes a copy of a color structure. The result
|
||||
must be freed using gdk_color_free().
|
||||
</para>
|
||||
|
||||
@color:
|
||||
@Returns:
|
||||
@color: a #GdkColor.
|
||||
@Returns: a copy of @color.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_color_free ##### -->
|
||||
<para>
|
||||
Frees a color structure created with
|
||||
gdk_color_copy().
|
||||
</para>
|
||||
|
||||
@color:
|
||||
@color: a #GdkColor.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_colors_alloc ##### -->
|
||||
<para>
|
||||
Allocates colors from a colormap. This function
|
||||
is obsolete. See gdk_colormap_alloc_colors().
|
||||
For full documentation of the fields, see
|
||||
the Xlib documentation for <function>XAllocColorCells()</function>.
|
||||
</para>
|
||||
|
||||
@colormap:
|
||||
@contiguous:
|
||||
@planes:
|
||||
@nplanes:
|
||||
@pixels:
|
||||
@npixels:
|
||||
@colormap: a #GdkColormap.
|
||||
@contiguous: if %TRUE, the colors should be allocated
|
||||
in contiguous color cells.
|
||||
@planes: an array in which to store the plane masks.
|
||||
@nplanes: the number of planes to allocate. (Or zero,
|
||||
to indicate that the color allocation should not be
|
||||
planar.)
|
||||
@pixels: an array into which to store allocated pixel
|
||||
values.
|
||||
@npixels: the number of pixels in each plane to allocate.
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_colors_free ##### -->
|
||||
<para>
|
||||
Frees colors allocated with gdk_colors_alloc(). This
|
||||
function is obsolete. See gdk_colormap_free_colors().
|
||||
</para>
|
||||
|
||||
@colormap:
|
||||
@pixels:
|
||||
@npixels:
|
||||
@planes:
|
||||
@colormap: a #GdkColormap.
|
||||
@pixels: the pixel values of the colors to free.
|
||||
@npixels: the number of values in @pixels.
|
||||
@planes: the plane masks for all planes to free, OR'd
|
||||
together.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_color_white ##### -->
|
||||
<para>
|
||||
Returns the white color for a given colormap. The resulting
|
||||
value has already allocated been allocated.
|
||||
</para>
|
||||
|
||||
@colormap:
|
||||
@color:
|
||||
@Returns:
|
||||
@colormap: a #GdkColormap.
|
||||
@color: the location to store the color.
|
||||
@Returns: %TRUE if the allocation succeeded.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_color_black ##### -->
|
||||
<para>
|
||||
Returns the black color for a given colormap. The resulting
|
||||
value has already benn allocated.
|
||||
</para>
|
||||
|
||||
@colormap:
|
||||
@color:
|
||||
@Returns:
|
||||
@colormap: a #GdkColormap.
|
||||
@color: the location to store the color.
|
||||
@Returns: %TRUE if the allocation succeeded.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_color_parse ##### -->
|
||||
<para>
|
||||
Parses a textual specification of a color and fill in
|
||||
the <structfield>red</structfield>,
|
||||
<structfield>green</structfield>, and
|
||||
<structfield>blue</structfield> fields of a
|
||||
#GdkColor structure. The color is <emphasis>not</emphasis>
|
||||
allocated, you must call gdk_colormap_alloc_color() yourself.
|
||||
The text string can be in any of the forms accepted
|
||||
by <function>XParseColor</function>; these include
|
||||
name for a color from <filename>rgb.txt</filename>, such as
|
||||
<literal>DarkSlateGray</literal>, or a hex specification
|
||||
such as <literal>305050</literal>.
|
||||
</para>
|
||||
|
||||
@spec:
|
||||
@color:
|
||||
@spec: the string specifying the color.
|
||||
@color: the #GdkColor to fill in
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_color_alloc ##### -->
|
||||
<para>
|
||||
Allocates a single color from a colormap.
|
||||
This function is obsolete. See gdk_colormap_alloc_color().
|
||||
</para>
|
||||
|
||||
@colormap:
|
||||
@color:
|
||||
@Returns:
|
||||
@colormap: a #GdkColormap.
|
||||
@color: The color to allocate. On return, the
|
||||
<structfield>pixel</structfield> field will be
|
||||
filled in.
|
||||
@Returns: %TRUE if the allocation succeeded.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_color_change ##### -->
|
||||
<para>
|
||||
Changes the value of a color that has already
|
||||
been allocated. If @colormap is not a private
|
||||
colormap, then the color must have been allocated
|
||||
using gdk_colormap_alloc_colors() with the
|
||||
@writeable set to %TRUE.
|
||||
</para>
|
||||
|
||||
@colormap:
|
||||
@color:
|
||||
@colormap: a #GdkColormap.
|
||||
@color: a #GdkColor, with the color to change
|
||||
in the <structfield>pixel</structfield> field,
|
||||
and the new value in the remaining fields.
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_color_equal ##### -->
|
||||
<para>
|
||||
Compares two colors.
|
||||
</para>
|
||||
|
||||
@colora:
|
||||
@colorb:
|
||||
@Returns:
|
||||
@colora: a #GdkColor.
|
||||
@colorb: another #GdkColor.
|
||||
@Returns: %TRUE if the two colors compare equal
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_color_hash ##### -->
|
||||
<para>
|
||||
A hash function suitable for using for a hash
|
||||
table that stores #GdkColor's.
|
||||
</para>
|
||||
|
||||
@colora:
|
||||
@Returns:
|
||||
@colora: a #GdkColor.
|
||||
@Returns: The hash function appled to @colora
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Cursors
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Standard and pixmap cursors
|
||||
standard and pixmap cursors.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -27,83 +27,83 @@ A <type>GdkCursor</type> structure represents a cursor.
|
||||
The standard cursors available.
|
||||
</para>
|
||||
|
||||
@GDK_X_CURSOR: <inlinegraphic format="PNG" fileref="X_cursor.png"></inlinegraphic>
|
||||
@GDK_ARROW: <inlinegraphic format="PNG" fileref="arrow.png"></inlinegraphic>
|
||||
@GDK_BASED_ARROW_DOWN: <inlinegraphic format="PNG" fileref="based_arrow_down.png"></inlinegraphic>
|
||||
@GDK_BASED_ARROW_UP: <inlinegraphic format="PNG" fileref="based_arrow_up.png"></inlinegraphic>
|
||||
@GDK_BOAT: <inlinegraphic format="PNG" fileref="boat.png"></inlinegraphic>
|
||||
@GDK_BOGOSITY: <inlinegraphic format="PNG" fileref="bogosity.png"></inlinegraphic>
|
||||
@GDK_BOTTOM_LEFT_CORNER: <inlinegraphic format="PNG" fileref="bottom_left_corner.png"></inlinegraphic>
|
||||
@GDK_BOTTOM_RIGHT_CORNER: <inlinegraphic format="PNG" fileref="bottom_right_corner.png"></inlinegraphic>
|
||||
@GDK_BOTTOM_SIDE: <inlinegraphic format="PNG" fileref="bottom_side.png"></inlinegraphic>
|
||||
@GDK_BOTTOM_TEE: <inlinegraphic format="PNG" fileref="bottom_tee.png"></inlinegraphic>
|
||||
@GDK_BOX_SPIRAL: <inlinegraphic format="PNG" fileref="box_spiral.png"></inlinegraphic>
|
||||
@GDK_CENTER_PTR: <inlinegraphic format="PNG" fileref="center_ptr.png"></inlinegraphic>
|
||||
@GDK_CIRCLE: <inlinegraphic format="PNG" fileref="circle.png"></inlinegraphic>
|
||||
@GDK_CLOCK: <inlinegraphic format="PNG" fileref="clock.png"></inlinegraphic>
|
||||
@GDK_COFFEE_MUG: <inlinegraphic format="PNG" fileref="coffee_mug.png"></inlinegraphic>
|
||||
@GDK_CROSS: <inlinegraphic format="PNG" fileref="cross.png"></inlinegraphic>
|
||||
@GDK_CROSS_REVERSE: <inlinegraphic format="PNG" fileref="cross_reverse.png"></inlinegraphic>
|
||||
@GDK_CROSSHAIR: <inlinegraphic format="PNG" fileref="crosshair.png"></inlinegraphic>
|
||||
@GDK_DIAMOND_CROSS: <inlinegraphic format="PNG" fileref="diamond_cross.png"></inlinegraphic>
|
||||
@GDK_DOT: <inlinegraphic format="PNG" fileref="dot.png"></inlinegraphic>
|
||||
@GDK_DOTBOX: <inlinegraphic format="PNG" fileref="dotbox.png"></inlinegraphic>
|
||||
@GDK_DOUBLE_ARROW: <inlinegraphic format="PNG" fileref="double_arrow.png"></inlinegraphic>
|
||||
@GDK_DRAFT_LARGE: <inlinegraphic format="PNG" fileref="draft_large.png"></inlinegraphic>
|
||||
@GDK_DRAFT_SMALL: <inlinegraphic format="PNG" fileref="draft_small.png"></inlinegraphic>
|
||||
@GDK_DRAPED_BOX: <inlinegraphic format="PNG" fileref="draped_box.png"></inlinegraphic>
|
||||
@GDK_EXCHANGE: <inlinegraphic format="PNG" fileref="exchange.png"></inlinegraphic>
|
||||
@GDK_FLEUR: <inlinegraphic format="PNG" fileref="fleur.png"></inlinegraphic>
|
||||
@GDK_GOBBLER: <inlinegraphic format="PNG" fileref="gobbler.png"></inlinegraphic>
|
||||
@GDK_GUMBY: <inlinegraphic format="PNG" fileref="gumby.png"></inlinegraphic>
|
||||
@GDK_HAND1: <inlinegraphic format="PNG" fileref="hand1.png"></inlinegraphic>
|
||||
@GDK_HAND2: <inlinegraphic format="PNG" fileref="hand2.png"></inlinegraphic>
|
||||
@GDK_HEART: <inlinegraphic format="PNG" fileref="heart.png"></inlinegraphic>
|
||||
@GDK_ICON: <inlinegraphic format="PNG" fileref="icon.png"></inlinegraphic>
|
||||
@GDK_IRON_CROSS: <inlinegraphic format="PNG" fileref="iron_cross.png"></inlinegraphic>
|
||||
@GDK_LEFT_PTR: <inlinegraphic format="PNG" fileref="left_ptr.png"></inlinegraphic>
|
||||
@GDK_LEFT_SIDE: <inlinegraphic format="PNG" fileref="left_side.png"></inlinegraphic>
|
||||
@GDK_LEFT_TEE: <inlinegraphic format="PNG" fileref="left_tee.png"></inlinegraphic>
|
||||
@GDK_LEFTBUTTON: <inlinegraphic format="PNG" fileref="leftbutton.png"></inlinegraphic>
|
||||
@GDK_LL_ANGLE: <inlinegraphic format="PNG" fileref="ll_angle.png"></inlinegraphic>
|
||||
@GDK_LR_ANGLE: <inlinegraphic format="PNG" fileref="lr_angle.png"></inlinegraphic>
|
||||
@GDK_MAN: <inlinegraphic format="PNG" fileref="man.png"></inlinegraphic>
|
||||
@GDK_MIDDLEBUTTON: <inlinegraphic format="PNG" fileref="middlebutton.png"></inlinegraphic>
|
||||
@GDK_MOUSE: <inlinegraphic format="PNG" fileref="mouse.png"></inlinegraphic>
|
||||
@GDK_PENCIL: <inlinegraphic format="PNG" fileref="pencil.png"></inlinegraphic>
|
||||
@GDK_PIRATE: <inlinegraphic format="PNG" fileref="pirate.png"></inlinegraphic>
|
||||
@GDK_PLUS: <inlinegraphic format="PNG" fileref="plus.png"></inlinegraphic>
|
||||
@GDK_QUESTION_ARROW: <inlinegraphic format="PNG" fileref="question_arrow.png"></inlinegraphic>
|
||||
@GDK_RIGHT_PTR: <inlinegraphic format="PNG" fileref="right_ptr.png"></inlinegraphic>
|
||||
@GDK_RIGHT_SIDE: <inlinegraphic format="PNG" fileref="right_side.png"></inlinegraphic>
|
||||
@GDK_RIGHT_TEE: <inlinegraphic format="PNG" fileref="right_tee.png"></inlinegraphic>
|
||||
@GDK_RIGHTBUTTON: <inlinegraphic format="PNG" fileref="rightbutton.png"></inlinegraphic>
|
||||
@GDK_RTL_LOGO: <inlinegraphic format="PNG" fileref="rtl_logo.png"></inlinegraphic>
|
||||
@GDK_SAILBOAT: <inlinegraphic format="PNG" fileref="sailboat.png"></inlinegraphic>
|
||||
@GDK_SB_DOWN_ARROW: <inlinegraphic format="PNG" fileref="sb_down_arrow.png"></inlinegraphic>
|
||||
@GDK_SB_H_DOUBLE_ARROW: <inlinegraphic format="PNG" fileref="sb_h_double_arrow.png"></inlinegraphic>
|
||||
@GDK_SB_LEFT_ARROW: <inlinegraphic format="PNG" fileref="sb_left_arrow.png"></inlinegraphic>
|
||||
@GDK_SB_RIGHT_ARROW: <inlinegraphic format="PNG" fileref="sb_right_arrow.png"></inlinegraphic>
|
||||
@GDK_SB_UP_ARROW: <inlinegraphic format="PNG" fileref="sb_up_arrow.png"></inlinegraphic>
|
||||
@GDK_SB_V_DOUBLE_ARROW: <inlinegraphic format="PNG" fileref="sb_v_double_arrow.png"></inlinegraphic>
|
||||
@GDK_SHUTTLE: <inlinegraphic format="PNG" fileref="shuttle.png"></inlinegraphic>
|
||||
@GDK_SIZING: <inlinegraphic format="PNG" fileref="sizing.png"></inlinegraphic>
|
||||
@GDK_SPIDER: <inlinegraphic format="PNG" fileref="spider.png"></inlinegraphic>
|
||||
@GDK_SPRAYCAN: <inlinegraphic format="PNG" fileref="spraycan.png"></inlinegraphic>
|
||||
@GDK_STAR: <inlinegraphic format="PNG" fileref="star.png"></inlinegraphic>
|
||||
@GDK_TARGET: <inlinegraphic format="PNG" fileref="target.png"></inlinegraphic>
|
||||
@GDK_TCROSS: <inlinegraphic format="PNG" fileref="tcross.png"></inlinegraphic>
|
||||
@GDK_TOP_LEFT_ARROW: <inlinegraphic format="PNG" fileref="top_left_arrow.png"></inlinegraphic>
|
||||
@GDK_TOP_LEFT_CORNER: <inlinegraphic format="PNG" fileref="top_left_corner.png"></inlinegraphic>
|
||||
@GDK_TOP_RIGHT_CORNER: <inlinegraphic format="PNG" fileref="top_right_corner.png"></inlinegraphic>
|
||||
@GDK_TOP_SIDE: <inlinegraphic format="PNG" fileref="top_side.png"></inlinegraphic>
|
||||
@GDK_TOP_TEE: <inlinegraphic format="PNG" fileref="top_tee.png"></inlinegraphic>
|
||||
@GDK_TREK: <inlinegraphic format="PNG" fileref="trek.png"></inlinegraphic>
|
||||
@GDK_UL_ANGLE: <inlinegraphic format="PNG" fileref="ul_angle.png"></inlinegraphic>
|
||||
@GDK_UMBRELLA: <inlinegraphic format="PNG" fileref="umbrella.png"></inlinegraphic>
|
||||
@GDK_UR_ANGLE: <inlinegraphic format="PNG" fileref="ur_angle.png"></inlinegraphic>
|
||||
@GDK_WATCH: <inlinegraphic format="PNG" fileref="watch.png"></inlinegraphic>
|
||||
@GDK_XTERM: <inlinegraphic format="PNG" fileref="xterm.png"></inlinegraphic>
|
||||
@GDK_X_CURSOR: <inlinegraphic format="png" fileref="X_cursor.png"></inlinegraphic>
|
||||
@GDK_ARROW: <inlinegraphic format="png" fileref="arrow.png"></inlinegraphic>
|
||||
@GDK_BASED_ARROW_DOWN: <inlinegraphic format="png" fileref="based_arrow_down.png"></inlinegraphic>
|
||||
@GDK_BASED_ARROW_UP: <inlinegraphic format="png" fileref="based_arrow_up.png"></inlinegraphic>
|
||||
@GDK_BOAT: <inlinegraphic format="png" fileref="boat.png"></inlinegraphic>
|
||||
@GDK_BOGOSITY: <inlinegraphic format="png" fileref="bogosity.png"></inlinegraphic>
|
||||
@GDK_BOTTOM_LEFT_CORNER: <inlinegraphic format="png" fileref="bottom_left_corner.png"></inlinegraphic>
|
||||
@GDK_BOTTOM_RIGHT_CORNER: <inlinegraphic format="png" fileref="bottom_right_corner.png"></inlinegraphic>
|
||||
@GDK_BOTTOM_SIDE: <inlinegraphic format="png" fileref="bottom_side.png"></inlinegraphic>
|
||||
@GDK_BOTTOM_TEE: <inlinegraphic format="png" fileref="bottom_tee.png"></inlinegraphic>
|
||||
@GDK_BOX_SPIRAL: <inlinegraphic format="png" fileref="box_spiral.png"></inlinegraphic>
|
||||
@GDK_CENTER_PTR: <inlinegraphic format="png" fileref="center_ptr.png"></inlinegraphic>
|
||||
@GDK_CIRCLE: <inlinegraphic format="png" fileref="circle.png"></inlinegraphic>
|
||||
@GDK_CLOCK: <inlinegraphic format="png" fileref="clock.png"></inlinegraphic>
|
||||
@GDK_COFFEE_MUG: <inlinegraphic format="png" fileref="coffee_mug.png"></inlinegraphic>
|
||||
@GDK_CROSS: <inlinegraphic format="png" fileref="cross.png"></inlinegraphic>
|
||||
@GDK_CROSS_REVERSE: <inlinegraphic format="png" fileref="cross_reverse.png"></inlinegraphic>
|
||||
@GDK_CROSSHAIR: <inlinegraphic format="png" fileref="crosshair.png"></inlinegraphic>
|
||||
@GDK_DIAMOND_CROSS: <inlinegraphic format="png" fileref="diamond_cross.png"></inlinegraphic>
|
||||
@GDK_DOT: <inlinegraphic format="png" fileref="dot.png"></inlinegraphic>
|
||||
@GDK_DOTBOX: <inlinegraphic format="png" fileref="dotbox.png"></inlinegraphic>
|
||||
@GDK_DOUBLE_ARROW: <inlinegraphic format="png" fileref="double_arrow.png"></inlinegraphic>
|
||||
@GDK_DRAFT_LARGE: <inlinegraphic format="png" fileref="draft_large.png"></inlinegraphic>
|
||||
@GDK_DRAFT_SMALL: <inlinegraphic format="png" fileref="draft_small.png"></inlinegraphic>
|
||||
@GDK_DRAPED_BOX: <inlinegraphic format="png" fileref="draped_box.png"></inlinegraphic>
|
||||
@GDK_EXCHANGE: <inlinegraphic format="png" fileref="exchange.png"></inlinegraphic>
|
||||
@GDK_FLEUR: <inlinegraphic format="png" fileref="fleur.png"></inlinegraphic>
|
||||
@GDK_GOBBLER: <inlinegraphic format="png" fileref="gobbler.png"></inlinegraphic>
|
||||
@GDK_GUMBY: <inlinegraphic format="png" fileref="gumby.png"></inlinegraphic>
|
||||
@GDK_HAND1: <inlinegraphic format="png" fileref="hand1.png"></inlinegraphic>
|
||||
@GDK_HAND2: <inlinegraphic format="png" fileref="hand2.png"></inlinegraphic>
|
||||
@GDK_HEART: <inlinegraphic format="png" fileref="heart.png"></inlinegraphic>
|
||||
@GDK_ICON: <inlinegraphic format="png" fileref="icon.png"></inlinegraphic>
|
||||
@GDK_IRON_CROSS: <inlinegraphic format="png" fileref="iron_cross.png"></inlinegraphic>
|
||||
@GDK_LEFT_PTR: <inlinegraphic format="png" fileref="left_ptr.png"></inlinegraphic>
|
||||
@GDK_LEFT_SIDE: <inlinegraphic format="png" fileref="left_side.png"></inlinegraphic>
|
||||
@GDK_LEFT_TEE: <inlinegraphic format="png" fileref="left_tee.png"></inlinegraphic>
|
||||
@GDK_LEFTBUTTON: <inlinegraphic format="png" fileref="leftbutton.png"></inlinegraphic>
|
||||
@GDK_LL_ANGLE: <inlinegraphic format="png" fileref="ll_angle.png"></inlinegraphic>
|
||||
@GDK_LR_ANGLE: <inlinegraphic format="png" fileref="lr_angle.png"></inlinegraphic>
|
||||
@GDK_MAN: <inlinegraphic format="png" fileref="man.png"></inlinegraphic>
|
||||
@GDK_MIDDLEBUTTON: <inlinegraphic format="png" fileref="middlebutton.png"></inlinegraphic>
|
||||
@GDK_MOUSE: <inlinegraphic format="png" fileref="mouse.png"></inlinegraphic>
|
||||
@GDK_PENCIL: <inlinegraphic format="png" fileref="pencil.png"></inlinegraphic>
|
||||
@GDK_PIRATE: <inlinegraphic format="png" fileref="pirate.png"></inlinegraphic>
|
||||
@GDK_PLUS: <inlinegraphic format="png" fileref="plus.png"></inlinegraphic>
|
||||
@GDK_QUESTION_ARROW: <inlinegraphic format="png" fileref="question_arrow.png"></inlinegraphic>
|
||||
@GDK_RIGHT_PTR: <inlinegraphic format="png" fileref="right_ptr.png"></inlinegraphic>
|
||||
@GDK_RIGHT_SIDE: <inlinegraphic format="png" fileref="right_side.png"></inlinegraphic>
|
||||
@GDK_RIGHT_TEE: <inlinegraphic format="png" fileref="right_tee.png"></inlinegraphic>
|
||||
@GDK_RIGHTBUTTON: <inlinegraphic format="png" fileref="rightbutton.png"></inlinegraphic>
|
||||
@GDK_RTL_LOGO: <inlinegraphic format="png" fileref="rtl_logo.png"></inlinegraphic>
|
||||
@GDK_SAILBOAT: <inlinegraphic format="png" fileref="sailboat.png"></inlinegraphic>
|
||||
@GDK_SB_DOWN_ARROW: <inlinegraphic format="png" fileref="sb_down_arrow.png"></inlinegraphic>
|
||||
@GDK_SB_H_DOUBLE_ARROW: <inlinegraphic format="png" fileref="sb_h_double_arrow.png"></inlinegraphic>
|
||||
@GDK_SB_LEFT_ARROW: <inlinegraphic format="png" fileref="sb_left_arrow.png"></inlinegraphic>
|
||||
@GDK_SB_RIGHT_ARROW: <inlinegraphic format="png" fileref="sb_right_arrow.png"></inlinegraphic>
|
||||
@GDK_SB_UP_ARROW: <inlinegraphic format="png" fileref="sb_up_arrow.png"></inlinegraphic>
|
||||
@GDK_SB_V_DOUBLE_ARROW: <inlinegraphic format="png" fileref="sb_v_double_arrow.png"></inlinegraphic>
|
||||
@GDK_SHUTTLE: <inlinegraphic format="png" fileref="shuttle.png"></inlinegraphic>
|
||||
@GDK_SIZING: <inlinegraphic format="png" fileref="sizing.png"></inlinegraphic>
|
||||
@GDK_SPIDER: <inlinegraphic format="png" fileref="spider.png"></inlinegraphic>
|
||||
@GDK_SPRAYCAN: <inlinegraphic format="png" fileref="spraycan.png"></inlinegraphic>
|
||||
@GDK_STAR: <inlinegraphic format="png" fileref="star.png"></inlinegraphic>
|
||||
@GDK_TARGET: <inlinegraphic format="png" fileref="target.png"></inlinegraphic>
|
||||
@GDK_TCROSS: <inlinegraphic format="png" fileref="tcross.png"></inlinegraphic>
|
||||
@GDK_TOP_LEFT_ARROW: <inlinegraphic format="png" fileref="top_left_arrow.png"></inlinegraphic>
|
||||
@GDK_TOP_LEFT_CORNER: <inlinegraphic format="png" fileref="top_left_corner.png"></inlinegraphic>
|
||||
@GDK_TOP_RIGHT_CORNER: <inlinegraphic format="png" fileref="top_right_corner.png"></inlinegraphic>
|
||||
@GDK_TOP_SIDE: <inlinegraphic format="png" fileref="top_side.png"></inlinegraphic>
|
||||
@GDK_TOP_TEE: <inlinegraphic format="png" fileref="top_tee.png"></inlinegraphic>
|
||||
@GDK_TREK: <inlinegraphic format="png" fileref="trek.png"></inlinegraphic>
|
||||
@GDK_UL_ANGLE: <inlinegraphic format="png" fileref="ul_angle.png"></inlinegraphic>
|
||||
@GDK_UMBRELLA: <inlinegraphic format="png" fileref="umbrella.png"></inlinegraphic>
|
||||
@GDK_UR_ANGLE: <inlinegraphic format="png" fileref="ur_angle.png"></inlinegraphic>
|
||||
@GDK_WATCH: <inlinegraphic format="png" fileref="watch.png"></inlinegraphic>
|
||||
@GDK_XTERM: <inlinegraphic format="png" fileref="xterm.png"></inlinegraphic>
|
||||
@GDK_LAST_CURSOR:
|
||||
@GDK_CURSOR_IS_PIXMAP: type of cursors constructed with
|
||||
gdk_cursor_new_from_pixmap().
|
||||
@@ -119,34 +119,56 @@ The standard cursors available.
|
||||
|
||||
<!-- ##### FUNCTION gdk_cursor_new_from_pixmap ##### -->
|
||||
<para>
|
||||
Creates a new cursor from a given pixmap and mask. Both the pixmap and mask
|
||||
must have a depth of 1 (i.e. each pixel has only 2 values - on or off).
|
||||
The standard cursor size is 16 by 16 pixels. You can create a bitmap
|
||||
from inline data as in the below example.
|
||||
</para>
|
||||
<example><title>Creating a custom cursor.</title>
|
||||
<programlisting>
|
||||
/* This data is in X bitmap format, and can be created with the 'bitmap'
|
||||
utility. */
|
||||
#define cursor1_width 16
|
||||
#define cursor1_height 16
|
||||
static unsigned char cursor1_bits[] = {
|
||||
0x80, 0x01, 0x40, 0x02, 0x20, 0x04, 0x10, 0x08, 0x08, 0x10, 0x04, 0x20,
|
||||
0x82, 0x41, 0x41, 0x82, 0x41, 0x82, 0x82, 0x41, 0x04, 0x20, 0x08, 0x10,
|
||||
0x10, 0x08, 0x20, 0x04, 0x40, 0x02, 0x80, 0x01};
|
||||
|
||||
@source:
|
||||
@mask:
|
||||
@fg:
|
||||
@bg:
|
||||
@x:
|
||||
@y:
|
||||
@Returns:
|
||||
static unsigned char cursor1mask_bits[] = {
|
||||
0x80, 0x01, 0xc0, 0x03, 0x60, 0x06, 0x30, 0x0c, 0x18, 0x18, 0x8c, 0x31,
|
||||
0xc6, 0x63, 0x63, 0xc6, 0x63, 0xc6, 0xc6, 0x63, 0x8c, 0x31, 0x18, 0x18,
|
||||
0x30, 0x0c, 0x60, 0x06, 0xc0, 0x03, 0x80, 0x01};
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_cursor_new_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@cursor_type:
|
||||
@Returns:
|
||||
GdkCursor *cursor;
|
||||
GdkPixmap *source, *mask;
|
||||
GdkColor fg = { 0, 65535, 0, 0 }; /* Red. */
|
||||
GdkColor bg = { 0, 0, 0, 65535 }; /* Blue. */
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_cursor_get_display ##### -->
|
||||
<para>
|
||||
source = gdk_bitmap_create_from_data (NULL, cursor1_bits,
|
||||
cursor1_width, cursor1_height);
|
||||
mask = gdk_bitmap_create_from_data (NULL, cursor1mask_bits,
|
||||
cursor1_width, cursor1_height);
|
||||
cursor = gdk_cursor_new_from_pixmap (source, mask, &fg, &bg, 8, 8);
|
||||
gdk_pixmap_unref (source);
|
||||
gdk_pixmap_unref (mask);
|
||||
|
||||
</para>
|
||||
|
||||
@cursor:
|
||||
@Returns:
|
||||
gdk_window_set_cursor (widget->window, cursor);
|
||||
</programlisting>
|
||||
</example>
|
||||
|
||||
@source: the pixmap specifying the cursor.
|
||||
@mask: the pixmap specifying the mask, which must be the same size as @source.
|
||||
@fg: the foreground color, used for the bits in the source which are 1.
|
||||
The color does not have to be allocated first.
|
||||
@bg: the background color, used for the bits in the source which are 0.
|
||||
The color does not have to be allocated first.
|
||||
@x: the horizontal offset of the 'hotspot' of the cursor.
|
||||
@y: the vertical offset of the 'hotspot' of the cursor.
|
||||
@Returns: a new #GdkCursor.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_cursor_ref ##### -->
|
||||
@@ -171,5 +193,7 @@ The standard cursors available.
|
||||
Destroys a cursor, freeing any resources allocated for it.
|
||||
</para>
|
||||
|
||||
<!-- # Unused Parameters # -->
|
||||
@cursor: a #GdkCursor.
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Drag and Drop
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Functions for controlling drag and drop handling
|
||||
functions for controlling drag and drop handling.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -24,128 +24,142 @@ the GTK+ documentation for more information.
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_get_selection ##### -->
|
||||
<para>
|
||||
Returns the selection atom for the current source window.
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@Returns:
|
||||
@context: a #GdkDragContext.
|
||||
@Returns: the selection atom.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_abort ##### -->
|
||||
<para>
|
||||
Aborts a drag without dropping.
|
||||
</para>
|
||||
<para>
|
||||
This function is called by the drag source.
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@time_:
|
||||
@context: a #GdkDragContext.
|
||||
@time: the timestamp for this operation.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drop_reply ##### -->
|
||||
<para>
|
||||
Accepts or rejects a drop.
|
||||
</para>
|
||||
<para>
|
||||
This function is called by the drag destination in response
|
||||
to a drop initiated by the drag source.
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@ok:
|
||||
@time_:
|
||||
@context: a #GdkDragContext.
|
||||
@ok: %TRUE if the drop is accepted.
|
||||
@time: the timestamp for this operation.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_context_new ##### -->
|
||||
<para>
|
||||
Creates a new #GdkDragContext.
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
@Returns: the newly created #GdkDragContext.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_drop ##### -->
|
||||
<para>
|
||||
Drops on the current destination.
|
||||
</para>
|
||||
<para>
|
||||
This function is called by the drag source.
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@time_:
|
||||
@context: a #GdkDragContext.
|
||||
@time: the timestamp for this operation.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_find_window ##### -->
|
||||
<para>
|
||||
Finds the destination window and DND protocol to use at the
|
||||
given pointer position.
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@drag_window:
|
||||
@x_root:
|
||||
@y_root:
|
||||
@dest_window:
|
||||
@protocol:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_find_window_for_screen ##### -->
|
||||
<para>
|
||||
|
||||
This function is called by the drag source to obtain the
|
||||
@dest_window and @protocol parameters for gdk_drag_motion().
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@drag_window:
|
||||
@screen:
|
||||
@x_root:
|
||||
@y_root:
|
||||
@dest_window:
|
||||
@protocol:
|
||||
@context: a #GdkDragContext.
|
||||
@drag_window: a window which may be at the pointer position, but
|
||||
should be ignored, since it is put up by the drag source as an icon.
|
||||
@x_root: the x position of the pointer in root coordinates.
|
||||
@y_root: the y position of the pointer in root coordinates.
|
||||
@dest_window: location to store the destination window in.
|
||||
@protocol: location to store the DND protocol in.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_context_ref ##### -->
|
||||
<para>
|
||||
Deprecated function; use g_object_ref() instead.
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@context: a #GdkDragContext.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_begin ##### -->
|
||||
<para>
|
||||
Starts a drag and creates a new drag context for it.
|
||||
</para>
|
||||
<para>
|
||||
This function is called by the drag source.
|
||||
</para>
|
||||
|
||||
@window:
|
||||
@targets:
|
||||
@Returns:
|
||||
@window: the source window for this drag.
|
||||
@targets: the list of offered targets.
|
||||
@Returns: a newly created #GdkDragContext.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_motion ##### -->
|
||||
<para>
|
||||
Updates the drag context when the pointer moves or the
|
||||
set of actions changes.
|
||||
</para>
|
||||
<para>
|
||||
This function is called by the drag source.
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@dest_window:
|
||||
@protocol:
|
||||
@x_root:
|
||||
@y_root:
|
||||
@suggested_action:
|
||||
@possible_actions:
|
||||
@time_:
|
||||
@Returns:
|
||||
@context: a #GdkDragContext.
|
||||
@dest_window: the new destination window, obtained by gdk_drag_find_window().
|
||||
@protocol: the DND protocol in use, obtained by gdk_drag_find_window().
|
||||
@x_root: the x position of the pointer in root coordinates.
|
||||
@y_root: the y position of the pointer in root coordinates.
|
||||
@suggested_action: the suggested action.
|
||||
@possible_actions: the possible actions.
|
||||
@time: the timestamp for this operation.
|
||||
@Returns: FIXME
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drop_finish ##### -->
|
||||
<para>
|
||||
Ends the drag operation after a drop.
|
||||
</para>
|
||||
<para>
|
||||
This function is called by the drag destination.
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@success:
|
||||
@time_:
|
||||
@context: a #GtkDragContext.
|
||||
@success: %TRUE if the data was successfully received.
|
||||
@time: the timestamp for this operation.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_get_protocol ##### -->
|
||||
<para>
|
||||
Finds out the DND protocol supported by a window.
|
||||
</para>
|
||||
|
||||
@xid:
|
||||
@protocol:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_get_protocol_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@xid:
|
||||
@protocol:
|
||||
@Returns:
|
||||
@xid: the X id of the destination window.
|
||||
@protocol: location where the supported DND protocol is returned.
|
||||
@Returns: the X id of the window where the drop should happen. This
|
||||
may be @xid or the X id of a proxy window, or None if @xid doesn't
|
||||
support Drag and Drop.
|
||||
|
||||
|
||||
<!-- ##### ENUM GdkDragProtocol ##### -->
|
||||
@@ -165,9 +179,10 @@ which DND is done.
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_context_unref ##### -->
|
||||
<para>
|
||||
Deprecated function; use g_object_unref() instead.
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@context: a #GdkDragContext.
|
||||
|
||||
|
||||
<!-- ##### STRUCT GdkDragContext ##### -->
|
||||
@@ -206,10 +221,16 @@ should do with the dropped data.
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_status ##### -->
|
||||
<para>
|
||||
Selects one of the actions offered by the drag source.
|
||||
</para>
|
||||
<para>
|
||||
This function is called by the drag destination in response to
|
||||
gdk_drag_motion() called by the drag source.
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@action:
|
||||
@time_:
|
||||
@context: a #GdkDragContext.
|
||||
@action: the selected action which will be taken when a drop happens,
|
||||
or 0 to indicate that a drop will not be accepted.
|
||||
@time: the timestamp for this operation.
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Drawing Primitives
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Functions for drawing points, lines, arcs, and text
|
||||
functions for drawing points, lines, arcs, and text.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -32,6 +32,7 @@ drawn onto. This can be a #GdkPixmap, a #GdkBitmap,
|
||||
or a #GdkWindow.
|
||||
</para>
|
||||
|
||||
@user_data:
|
||||
|
||||
<!-- ##### FUNCTION gdk_drawable_ref ##### -->
|
||||
<para>
|
||||
@@ -71,24 +72,6 @@ or a #GdkWindow.
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drawable_get_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drawable_get_screen ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drawable_get_visual ##### -->
|
||||
<para>
|
||||
|
||||
@@ -155,74 +138,65 @@ or a #GdkWindow.
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_point ##### -->
|
||||
<para>
|
||||
Draws a point, using the foreground color and other attributes of the #GdkGC.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@gc:
|
||||
@x:
|
||||
@y:
|
||||
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
|
||||
@gc: a #GdkGC.
|
||||
@x: the x coordinate of the point.
|
||||
@y: the y coordinate of the point.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_points ##### -->
|
||||
<para>
|
||||
Draws a number of points, using the foreground color and other attributes of
|
||||
the #GdkGC.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@gc:
|
||||
@points:
|
||||
@npoints:
|
||||
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
|
||||
@gc: a #GdkGC.
|
||||
@points: an array of #GdkPoint structures.
|
||||
@npoints: the number of points to be drawn.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_line ##### -->
|
||||
<para>
|
||||
Draws a line, using the foreground color and other attributes of the #GdkGC.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@gc:
|
||||
@x1_:
|
||||
@y1_:
|
||||
@x2_:
|
||||
@y2_:
|
||||
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
|
||||
@gc: a #GdkGC.
|
||||
@x1: the x coordinate of the start point.
|
||||
@y1: the y coordinate of the start point.
|
||||
@x2: the x coordinate of the end point.
|
||||
@y2: the y coordinate of the end point.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_lines ##### -->
|
||||
<para>
|
||||
Draws a series of lines connecting the given points.
|
||||
The way in which joins between lines are draw is determined by the
|
||||
#GdkCapStyle value in the #GdkGC. This can be set with
|
||||
gdk_gc_set_line_attributes().
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@gc:
|
||||
@points:
|
||||
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
|
||||
@gc: a #GdkGC.
|
||||
@points: an array of #GdkPoint structures specifying the endpoints of the
|
||||
lines.
|
||||
@npoints:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_pixbuf ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@gc:
|
||||
@pixbuf:
|
||||
@src_x:
|
||||
@src_y:
|
||||
@dest_x:
|
||||
@dest_y:
|
||||
@width:
|
||||
@height:
|
||||
@dither:
|
||||
@x_dither:
|
||||
@y_dither:
|
||||
@npoints: the size of the @points array.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_segments ##### -->
|
||||
<para>
|
||||
Draws a number of unconnected lines.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@gc:
|
||||
@segs:
|
||||
@nsegs:
|
||||
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
|
||||
@gc: a #GdkGC.
|
||||
@segs: an array of #GdkSegment structures specifying the start and end points
|
||||
of the lines to be drawn,
|
||||
@nsegs: the number of line segments to draw, i.e. the size of the @segs array.
|
||||
|
||||
|
||||
<!-- ##### STRUCT GdkSegment ##### -->
|
||||
@@ -238,45 +212,60 @@ function.
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_rectangle ##### -->
|
||||
<para>
|
||||
Draws a rectangular outline or filled rectangle, using the foreground color
|
||||
and other attributes of the #GdkGC.
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
A rectangle drawn filled is 1 pixel smaller in both dimensions than a rectangle
|
||||
outlined. Calling <literal>gdk_draw_rectangle (window, gc, TRUE, 0, 0, 20, 20)</literal> results
|
||||
in a filled rectangle 20 pixels wide and 20 pixels high. Calling
|
||||
<literal>gdk_draw_rectangle (window, gc, FALSE, 0, 0, 20, 20)</literal> results in an outlined
|
||||
rectangle with corners at (0, 0), (0, 20), (20, 20), and (20, 0), which
|
||||
makes it 21 pixels wide and 21 pixels high.
|
||||
</para>
|
||||
</note>
|
||||
|
||||
@drawable:
|
||||
@gc:
|
||||
@filled:
|
||||
@x:
|
||||
@y:
|
||||
@width:
|
||||
@height:
|
||||
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
|
||||
@gc: a #GdkGC.
|
||||
@filled: %TRUE if the rectangle should be filled.
|
||||
@x: the x coordinate of the left edge of the rectangle.
|
||||
@y: the y coordinate of the top edge of the rectangle.
|
||||
@width: the width of the rectangle.
|
||||
@height: the height of the rectangle.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_arc ##### -->
|
||||
<para>
|
||||
Draws an arc or a filled 'pie slice'. The arc is defined by the bounding
|
||||
rectangle of the entire ellipse, and the start and end angles of the part of
|
||||
the ellipse to be drawn.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@gc:
|
||||
@filled:
|
||||
@x:
|
||||
@y:
|
||||
@width:
|
||||
@height:
|
||||
@angle1:
|
||||
@angle2:
|
||||
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
|
||||
@gc: a #GdkGC.
|
||||
@filled: %TRUE if the arc should be filled, producing a 'pie slice'.
|
||||
@x: the x coordinate of the left edge of the bounding rectangle.
|
||||
@y: the y coordinate of the top edge of the bounding rectangle.
|
||||
@width: the width of the bounding rectangle.
|
||||
@height: the height of the bounding rectangle.
|
||||
@angle1: the start angle of the arc, relative to the 3 o'clock position,
|
||||
counter-clockwise, in 1/64ths of a degree.
|
||||
@angle2: the end angle of the arc, relative to @angle1, in 1/64ths of a degree.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_polygon ##### -->
|
||||
<para>
|
||||
Draws an outlined or filled polygon.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@gc:
|
||||
@filled:
|
||||
@points:
|
||||
@npoints:
|
||||
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
|
||||
@gc: a #GdkGC.
|
||||
@filled: %TRUE if the polygon should be filled. The polygon is closed
|
||||
automatically, connecting the last point to the first point if necessary.
|
||||
@points: an array of #GdkPoint structures specifying the points making up the
|
||||
polygon.
|
||||
@npoints: the number of points.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_glyphs ##### -->
|
||||
@@ -346,40 +335,45 @@ function.
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_string ##### -->
|
||||
<para>
|
||||
Draws a string of characters in the given font or fontset.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@font:
|
||||
@gc:
|
||||
@x:
|
||||
@y:
|
||||
@string:
|
||||
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
|
||||
@font: a #GdkFont.
|
||||
@gc: a #GdkGC.
|
||||
@x: the x coordinate of the left edge of the text.
|
||||
@y: the y coordinate of the baseline of the text.
|
||||
@string: the string of characters to draw.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_text ##### -->
|
||||
<para>
|
||||
Draws a number of characters in the given font or fontset.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@font:
|
||||
@gc:
|
||||
@x:
|
||||
@y:
|
||||
@text:
|
||||
@text_length:
|
||||
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
|
||||
@font: a #GdkFont.
|
||||
@gc: a #GdkGC.
|
||||
@x: the x coordinate of the left edge of the text.
|
||||
@y: the y coordinate of the baseline of the text.
|
||||
@text: the characters to draw.
|
||||
@text_length: the number of characters of @text to draw.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_text_wc ##### -->
|
||||
<para>
|
||||
Draws a number of wide characters using the given font of fontset.
|
||||
If the font is a 1-byte font, the string is converted into 1-byte characters
|
||||
(discarding the high bytes) before output.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@font:
|
||||
@gc:
|
||||
@x:
|
||||
@y:
|
||||
@text:
|
||||
@text_length:
|
||||
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
|
||||
@font: a #GdkFont.
|
||||
@gc: a #GdkGC.
|
||||
@x: the x coordinate of the left edge of the text.
|
||||
@y: the y coordinate of the baseline of the text.
|
||||
@text: the wide characters to draw.
|
||||
@text_length: the number of characters to draw.
|
||||
|
||||
|
||||
<!-- ##### MACRO gdk_draw_pixmap ##### -->
|
||||
@@ -387,6 +381,18 @@ function.
|
||||
Draws a pixmap, or a part of a pixmap, onto another drawable.
|
||||
</para>
|
||||
|
||||
<!-- # Unused Parameters # -->
|
||||
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
|
||||
@gc: a #GdkGC.
|
||||
@src: the source #GdkPixmap to draw.
|
||||
@xsrc: the left edge of the source rectangle within @src.
|
||||
@ysrc: the top of the source rectangle within @src.
|
||||
@xdest: the x coordinate of the destination within @drawable.
|
||||
@ydest: the y coordinate of the destination within @drawable.
|
||||
@width: the width of the area to be copied, or -1 to make the area extend to
|
||||
the right edge of the source pixmap.
|
||||
@height: the height of the area to be copied, or -1 to make the area extend
|
||||
to the bottom edge of the source pixmap.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_drawable ##### -->
|
||||
@@ -407,17 +413,21 @@ Draws a pixmap, or a part of a pixmap, onto another drawable.
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_image ##### -->
|
||||
<para>
|
||||
Draws a #GdkImage onto a drawable.
|
||||
The depth of the #GdkImage must match the depth of the #GdkDrawable.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@gc:
|
||||
@image:
|
||||
@xsrc:
|
||||
@ysrc:
|
||||
@xdest:
|
||||
@ydest:
|
||||
@width:
|
||||
@height:
|
||||
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
|
||||
@gc: a #GdkGC.
|
||||
@image: the #GdkImage to draw.
|
||||
@xsrc: the left edge of the source rectangle within @image.
|
||||
@ysrc: the top of the source rectangle within @image.
|
||||
@xdest: the x coordinate of the destination within @drawable.
|
||||
@ydest: the y coordinate of the destination within @drawable.
|
||||
@width: the width of the area to be copied, or -1 to make the area extend to
|
||||
the right edge of @image.
|
||||
@height: the height of the area to be copied, or -1 to make the area extend
|
||||
to the bottom edge of @image.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drawable_get_image ##### -->
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Event Structures
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Data structures specific to each type of event
|
||||
data structures specific to each type of event.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -91,17 +91,12 @@ Shift and Alt) and the pointer buttons. See #GdkModifierType.
|
||||
@keyval: the key that was pressed or released. See the <filename><gdk/gdkkeysym.h></filename>
|
||||
header file for a complete list of GDK key codes.
|
||||
@length: the length of @string.
|
||||
@string: a string containing the an approximation of the text that
|
||||
would result from this keypress. The only correct way to handle text
|
||||
input of text is using input methods (see #GtkIMContext), so this
|
||||
field is deprecated and should never be used.
|
||||
(gdk_unicode_to_keyval() provides a non-deprecated way of getting
|
||||
an approximate translation for a key.) The string is encoded in the encoding
|
||||
of the current locale (Note: this for backwards compatibility:
|
||||
strings in GTK+ and GDK are typically in UTF-8.) and NUL-terminated.
|
||||
In some cases, the translation of the key code will be a single
|
||||
NUL byte, in which case looking at @length is necessary to distinguish
|
||||
it from the an empty translation.
|
||||
@string: a nul-terminated multi-byte string containing the composed characters
|
||||
resulting from the key press. When text is being input, in a #GtkEntry for
|
||||
example, it is these characters which should be added to the input buffer.
|
||||
When using <link linkend="gdk-Input-Methods">Input Methods</link> to support
|
||||
internationalized text input, the composed characters appear here after the
|
||||
pre-editing has been completed.
|
||||
@hardware_keycode: the raw code of the key that was pressed or released.
|
||||
@group: the keyboard group.
|
||||
|
||||
@@ -471,7 +466,6 @@ Specifies the state of a toplevel window.
|
||||
@GDK_WINDOW_STATE_ICONIFIED: the window is minimized.
|
||||
@GDK_WINDOW_STATE_MAXIMIZED: the window is maximized.
|
||||
@GDK_WINDOW_STATE_STICKY: the window is sticky.
|
||||
@GDK_WINDOW_STATE_FULLSCREEN:
|
||||
|
||||
<!-- ##### ENUM GdkSettingAction ##### -->
|
||||
<para>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Events
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Functions for handling events from the window system
|
||||
functions for handling events from the window system.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -149,59 +149,71 @@ is given in the <link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.
|
||||
|
||||
<!-- ##### FUNCTION gdk_events_pending ##### -->
|
||||
<para>
|
||||
Checks if any events are waiting to be processed.
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
@Returns: %TRUE if any events are pending.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_peek ##### -->
|
||||
<para>
|
||||
Gets a copy of the first #GdkEvent in the event queue.
|
||||
(Note that this function will not get more events from the X server.
|
||||
It only checks the events that have already been moved to the GDK event queue.)
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
@Returns: a copy of the first #GdkEvent on the event queue, or %NULL if no
|
||||
events are in the queue. The returned #GdkEvent should be freed with
|
||||
gdk_event_free().
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_get ##### -->
|
||||
<para>
|
||||
Gets the next #GdkEvent to be processed, fetching events from the X server if
|
||||
necessary.
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
@Returns: the next #GdkEvent to be processed, or %NULL if no events are pending.
|
||||
The returned #GdkEvent should be freed with gdk_event_free().
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_get_graphics_expose ##### -->
|
||||
<para>
|
||||
Waits for a GraphicsExpose or NoExpose event from the X server.
|
||||
This is used in the #GtkText and #GtkCList widgets in GTK+ to make sure any
|
||||
GraphicsExpose events are handled before the widget is scrolled.
|
||||
</para>
|
||||
|
||||
@window:
|
||||
@Returns:
|
||||
@window: the #GdkWindow to wait for the events for.
|
||||
@Returns: a #GdkEventExpose if a GraphicsExpose was received, or %NULL if a
|
||||
NoExpose event was received.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_put ##### -->
|
||||
<para>
|
||||
Appends a copy of the given event onto the front of the event queue.
|
||||
</para>
|
||||
|
||||
@event:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@type:
|
||||
@Returns:
|
||||
@event: a #GdkEvent.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_copy ##### -->
|
||||
<para>
|
||||
Copies a #GdkEvent, copying or incrementing the reference count of the
|
||||
resources associated with it (e.g. #GdkWindow's and strings).
|
||||
</para>
|
||||
|
||||
@event:
|
||||
@Returns:
|
||||
@event: a #GdkEvent.
|
||||
@Returns: a copy of @event. The returned #GdkEvent should be freed with
|
||||
gdk_event_free().
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_free ##### -->
|
||||
<para>
|
||||
Frees a #GdkEvent, freeing or decrementing any resources associated with it.
|
||||
Note that this function should only be called with events returned from
|
||||
gdk_event_peek(), gdk_event_get(), gdk_event_get_graphics_expose() and
|
||||
gdk_event_copy().
|
||||
</para>
|
||||
|
||||
@event: a #GdkEvent.
|
||||
@@ -209,10 +221,12 @@ is given in the <link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_get_time ##### -->
|
||||
<para>
|
||||
Gets the timestamp from a #GdkEvent.
|
||||
</para>
|
||||
|
||||
@event:
|
||||
@Returns:
|
||||
@event: a #GdkEvent.
|
||||
@Returns: the timestamp from @event, or %GDK_CURRENT_TIME if the event has
|
||||
no timestamp.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_get_state ##### -->
|
||||
@@ -260,11 +274,17 @@ is given in the <link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_handler_set ##### -->
|
||||
<para>
|
||||
Sets the function to call to handle all events from GDK.
|
||||
</para>
|
||||
<para>
|
||||
Note that GTK+ uses this to install its own event handler, so it is probably
|
||||
not useful for GTK+ applications.
|
||||
</para>
|
||||
|
||||
@func:
|
||||
@data:
|
||||
@notify:
|
||||
@func: the function to call to handle events from GDK.
|
||||
@data: user data to pass to the function.
|
||||
@notify: the function to call when the handler function is removed, i.e. when
|
||||
gdk_event_handler_set() is called with another event handler.
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GdkEventFunc ##### -->
|
||||
@@ -280,82 +300,73 @@ gdk_event_handler_set().
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_send_client_message ##### -->
|
||||
<para>
|
||||
Sends an X ClientMessage event to a given window.
|
||||
</para>
|
||||
|
||||
@event:
|
||||
@winid:
|
||||
@Returns:
|
||||
<!-- # Unused Parameters # -->
|
||||
@xid:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_send_client_message_for_display ##### -->
|
||||
<para>
|
||||
|
||||
This could be used for communicating between different applications,
|
||||
though the amount of data is limited to 20 bytes.
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@event:
|
||||
@winid:
|
||||
@Returns:
|
||||
<!-- # Unused Parameters # -->
|
||||
@xid:
|
||||
@event: the #GdkEvent to send, which should be a #GdkEventClient.
|
||||
@xid: the window to send the X ClientMessage event to.
|
||||
@Returns: non-zero on success.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_send_clientmessage_toall ##### -->
|
||||
<para>
|
||||
Sends an X ClientMessage event to all toplevel windows.
|
||||
</para>
|
||||
<para>
|
||||
Toplevel windows are determined by checking for the WM_STATE property, as
|
||||
described in the Inter-Client Communication Conventions Manual (ICCCM).
|
||||
If no windows are found with the WM_STATE property set, the message is sent
|
||||
to all children of the root window.
|
||||
</para>
|
||||
|
||||
@event:
|
||||
@event: the #GdkEvent to send, which should be a #GdkEventClient.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_add_client_message_filter ##### -->
|
||||
<para>
|
||||
Adds a filter to be called when X ClientMessage events are received.
|
||||
</para>
|
||||
|
||||
@message_type:
|
||||
@func:
|
||||
@data:
|
||||
@message_type: the type of ClientMessage events to receive. This will be
|
||||
checked against the <structfield>message_type</structfield> field of the
|
||||
XClientMessage event struct.
|
||||
@func: the function to call to process the event.
|
||||
@data: user data to pass to @func.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_get_show_events ##### -->
|
||||
<para>
|
||||
Returns non-zero if event debugging output is enabled.
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
@Returns: non-zero if event debugging output is enabled.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_set_show_events ##### -->
|
||||
<para>
|
||||
Sets whether event debugging information is output.
|
||||
Note that GTK+ must be compiled with debugging enabled, i.e. using the
|
||||
<option>--enable-debug</option> configure option.
|
||||
</para>
|
||||
|
||||
@show_events:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_set_screen ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@event:
|
||||
@screen:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_get_screen ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@event:
|
||||
@Returns:
|
||||
@show_events: %TRUE to output event debugging information.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_setting_get ##### -->
|
||||
<para>
|
||||
Obtains a desktop-wide setting, such as the double-click time.
|
||||
</para>
|
||||
<para>
|
||||
FIXME needs a list of valid settings here, or a link to
|
||||
more information.
|
||||
</para>
|
||||
|
||||
@name:
|
||||
@value:
|
||||
@Returns:
|
||||
@name: the name of the setting.
|
||||
@value: location to store the value of the setting.
|
||||
@Returns: %TRUE if the value has been successfully stored.
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Fonts
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Loading and manipulating fonts
|
||||
loading and manipulating fonts
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -30,8 +30,8 @@ full description:
|
||||
<para>
|
||||
The fields in the XLFD are:
|
||||
|
||||
<informaltable pgwide="1" frame="none">
|
||||
<tgroup cols="2"><colspec colwidth="2*"/><colspec colwidth="8*"/>
|
||||
<informaltable pgwide=1 frame="none">
|
||||
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
|
||||
<tbody>
|
||||
|
||||
<row>
|
||||
@@ -287,38 +287,30 @@ are currently:
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_load ##### -->
|
||||
<para>
|
||||
Loads a font.
|
||||
</para>
|
||||
|
||||
@font_name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_load_for_display ##### -->
|
||||
<para>
|
||||
|
||||
The font may be newly loaded or looked up the font in a cache.
|
||||
You should make no assumptions about the initial reference count.
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@font_name:
|
||||
@Returns:
|
||||
@font_name: a XLFD describing the font to load.
|
||||
@Returns: a #GdkFont, or %NULL if the font could not be loaded.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_fontset_load ##### -->
|
||||
<para>
|
||||
Loads a fontset.
|
||||
</para>
|
||||
|
||||
@fontset_name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_fontset_load_for_display ##### -->
|
||||
<para>
|
||||
|
||||
The fontset may be newly loaded or looked up in a cache.
|
||||
You should make no assumptions about the initial reference count.
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@fontset_name:
|
||||
@Returns:
|
||||
@fontset_name: a comma-separated list of XLFDs describing
|
||||
the component fonts of the fontset to load.
|
||||
@Returns: a #GdkFont, or %NULL if the fontset could not be loaded.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_from_description ##### -->
|
||||
@@ -330,199 +322,227 @@ are currently:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_from_description_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@font_desc:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_get_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_ref ##### -->
|
||||
<para>
|
||||
Increases the reference count of a font by one.
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@Returns:
|
||||
@font: a #GdkFont
|
||||
@Returns: @font
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_unref ##### -->
|
||||
<para>
|
||||
Decreases the reference count of a font by one.
|
||||
If the result is zero, destroys the font.
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@font: a #GdkFont
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_id ##### -->
|
||||
<para>
|
||||
Returns the X Font ID for the given font.
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@Returns:
|
||||
@font: a #GdkFont.
|
||||
@Returns: the numeric X Font ID
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_equal ##### -->
|
||||
<para>
|
||||
Compares two fonts for equality. Single fonts compare equal
|
||||
if they have the same X font ID. This operation does
|
||||
not currently work correctly for fontsets.
|
||||
</para>
|
||||
|
||||
@fonta:
|
||||
@fontb:
|
||||
@Returns:
|
||||
@fonta: a #GdkFont.
|
||||
@fontb: another #GdkFont.
|
||||
@Returns: %TRUE if the fonts are equal.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_string_extents ##### -->
|
||||
<para>
|
||||
Returns the metrics of a nul-terminated string.
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@string:
|
||||
@lbearing:
|
||||
@rbearing:
|
||||
@width:
|
||||
@ascent:
|
||||
@descent:
|
||||
@font: a #GdkFont.
|
||||
@string: the nul-terminated string to measure.
|
||||
@lbearing: the left bearing of the string.
|
||||
@rbearing: the right bearing of the string.
|
||||
@width: the width of the string.
|
||||
@ascent: the ascent of the string.
|
||||
@descent: the descent of the string.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_text_extents ##### -->
|
||||
<para>
|
||||
Returns the metrics of a string.
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@text:
|
||||
@text_length:
|
||||
@lbearing:
|
||||
@rbearing:
|
||||
@width:
|
||||
@ascent:
|
||||
@descent:
|
||||
@font: a #GdkFont
|
||||
@text: the text to measure
|
||||
@text_length: the length of the text in bytes. (If the
|
||||
font is a 16-bit font, this is twice the length
|
||||
of the text in characters.)
|
||||
@lbearing: the left bearing of the string.
|
||||
@rbearing: the right bearing of the string.
|
||||
@width: the width of the string.
|
||||
@ascent: the ascent of the string.
|
||||
@descent: the descent of the string.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_text_extents_wc ##### -->
|
||||
<para>
|
||||
Returns the metrics of a string of wide characters.
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@text:
|
||||
@text_length:
|
||||
@lbearing:
|
||||
@rbearing:
|
||||
@width:
|
||||
@ascent:
|
||||
@descent:
|
||||
@font: a #GdkFont
|
||||
@text: the text to measure.
|
||||
@text_length: the length of the text in character.
|
||||
@lbearing: the left bearing of the string.
|
||||
@rbearing: the right bearing of the string.
|
||||
@width: the width of the string.
|
||||
@ascent: the ascent of the string.
|
||||
@descent: the descent of the string.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_string_width ##### -->
|
||||
<para>
|
||||
Determines the width of a nul-terminated string.
|
||||
(The distance from the origin of the string to the
|
||||
point where the next string in a sequence of strings
|
||||
should be drawn)
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@string:
|
||||
@Returns:
|
||||
@font: a #GdkFont
|
||||
@string: the nul-terminated string to measure
|
||||
@Returns: the width of the string in pixels.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_text_width ##### -->
|
||||
<para>
|
||||
Determines the width of a given string.
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@text:
|
||||
@text_length:
|
||||
@Returns:
|
||||
@font: a #GdkFont
|
||||
@text: the text to measure.
|
||||
@text_length: the length of the text in bytes.
|
||||
@Returns: the width of the string in pixels.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_text_width_wc ##### -->
|
||||
<para>
|
||||
Determines the width of a given wide-character string.
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@text:
|
||||
@text_length:
|
||||
@Returns:
|
||||
@font: a #GdkFont
|
||||
@text: the text to measure.
|
||||
@text_length: the length of the text in characters.
|
||||
@Returns: the width of the string in pixels.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_char_width ##### -->
|
||||
<para>
|
||||
Determines the width of a given character.
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@character:
|
||||
@Returns:
|
||||
@font: a #GdkFont
|
||||
@character: the character to measure.
|
||||
@Returns: the width of the character in pixels.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_char_width_wc ##### -->
|
||||
<para>
|
||||
Determines the width of a given wide character. (Encoded
|
||||
in the wide-character encoding of the current locale).
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@character:
|
||||
@Returns:
|
||||
@font: a #GdkFont
|
||||
@character: the character to measure.
|
||||
@Returns: the width of the character in pixels.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_string_measure ##### -->
|
||||
<para>
|
||||
Determines the distance from the origin to the rightmost
|
||||
portion of a nul-terminated string when drawn. This is not the
|
||||
correct value for determining the origin of the next
|
||||
portion when drawing text in multiple pieces.
|
||||
See gdk_string_width().
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@string:
|
||||
@Returns:
|
||||
@font: a #GdkFont
|
||||
@string: the nul-terminated string to measure.
|
||||
@Returns: the right bearing of the string in pixels.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_text_measure ##### -->
|
||||
<para>
|
||||
Determines the distance from the origin to the rightmost
|
||||
portion of a string when drawn. This is not the
|
||||
correct value for determining the origin of the next
|
||||
portion when drawing text in multiple pieces.
|
||||
See gdk_text_width().
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@text:
|
||||
@text_length:
|
||||
@Returns:
|
||||
@font: a #GdkFont
|
||||
@text: the text to measure.
|
||||
@text_length: the length of the text in bytes.
|
||||
@Returns: the right bearing of the string in pixels.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_char_measure ##### -->
|
||||
<para>
|
||||
Determines the distance from the origin to the rightmost
|
||||
portion of a character when drawn. This is not the
|
||||
correct value for determining the origin of the next
|
||||
portion when drawing text in multiple pieces.
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@character:
|
||||
@Returns:
|
||||
@font: a #GdkFont
|
||||
@character: the character to measure.
|
||||
@Returns: the right bearing of the character in pixels.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_string_height ##### -->
|
||||
<para>
|
||||
Determines the total height of a given nul-terminated
|
||||
string. This value is not generally useful, because you
|
||||
cannot determine how this total height will be drawn in
|
||||
relation to the baseline. See gdk_string_extents().
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@string:
|
||||
@Returns:
|
||||
@font: a #GdkFont
|
||||
@string: the nul-terminated string to measure.
|
||||
@Returns: the height of the string in pixels.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_text_height ##### -->
|
||||
<para>
|
||||
Determines the total height of a given string.
|
||||
This value is not generally useful, because you cannot
|
||||
determine how this total height will be drawn in
|
||||
relation to the baseline. See gdk_text_extents().
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@text:
|
||||
@text_length:
|
||||
@Returns:
|
||||
@font: a #GdkFont
|
||||
@text: the text to measure.
|
||||
@text_length: the length of the text in bytes.
|
||||
@Returns: the height of the string in pixels.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_char_height ##### -->
|
||||
<para>
|
||||
Determines the total height of a given character.
|
||||
This value is not generally useful, because you cannot
|
||||
determine how this total height will be drawn in
|
||||
relation to the baseline. See gdk_text_extents().
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@character:
|
||||
@Returns:
|
||||
@font: a #GdkFont
|
||||
@character: the character to measure.
|
||||
@Returns: the height of the character in pixels.
|
||||
|
||||
|
||||
<!-- ##### TYPEDEF GdkWChar ##### -->
|
||||
@@ -562,19 +582,28 @@ for more detailed information on wide and multi-byte characters.
|
||||
|
||||
<!-- ##### FUNCTION gdk_wcstombs ##### -->
|
||||
<para>
|
||||
Converts a wide character string to a multi-byte string.
|
||||
(The function name comes from an acronym of 'Wide Character String TO
|
||||
Multi-Byte String').
|
||||
</para>
|
||||
|
||||
@src:
|
||||
@Returns:
|
||||
@src: a wide character string.
|
||||
@Returns: the multi-byte string corresponding to @src, or %NULL if the
|
||||
conversion failed. The returned string should be freed with g_free() when no
|
||||
longer needed.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_mbstowcs ##### -->
|
||||
<para>
|
||||
Converts a multi-byte string to a wide character string.
|
||||
(The function name comes from an acronym of 'Multi-Byte String TO Wide
|
||||
Character String').
|
||||
</para>
|
||||
|
||||
@dest:
|
||||
@src:
|
||||
@dest_max:
|
||||
@Returns:
|
||||
@dest: the space to place the converted wide character string into.
|
||||
@src: the multi-byte string to convert, which must be nul-terminated.
|
||||
@dest_max: the maximum number of wide characters to place in @dest.
|
||||
@Returns: the number of wide characters written into @dest, or -1 if the
|
||||
conversion failed.
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Graphics Contexts
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Objects to encapsulate drawing properties
|
||||
objects to encapsulate drawing properties.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -37,6 +37,12 @@ It is an opaque structure with no user-visible
|
||||
elements.
|
||||
</para>
|
||||
|
||||
@parent_instance:
|
||||
@clip_x_origin:
|
||||
@clip_y_origin:
|
||||
@ts_x_origin:
|
||||
@ts_y_origin:
|
||||
@colormap:
|
||||
|
||||
<!-- ##### STRUCT GdkGCValues ##### -->
|
||||
<para>
|
||||
@@ -138,15 +144,6 @@ Create a new GC with the given initial values.
|
||||
@Returns: the new graphics context.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_gc_get_screen ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@gc:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_gc_ref ##### -->
|
||||
<para>
|
||||
|
||||
|
||||
@@ -596,14 +596,6 @@ status information, so the application does not need to do anything.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_set_sm_client_id ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@sm_client_id:
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_full_name_free ##### -->
|
||||
<para>
|
||||
Frees a full font name obtained from gdk_font_full_name_get().
|
||||
@@ -630,20 +622,6 @@ fonts making up a given #GdkFont.
|
||||
@win:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION gdk_get_default_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION gdk_get_default_screen ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION gdk_ic_attr_destroy ##### -->
|
||||
<para>
|
||||
Destroys the given #GdkICAttr struct, freeing the allocated memory.
|
||||
@@ -839,7 +817,7 @@ Sets the key event generated when a macro button is pressed.
|
||||
</para>
|
||||
|
||||
@deviceid: the device to configure.
|
||||
@index_: the index of the macro button.
|
||||
@index: the index of the macro button.
|
||||
@keyval: the key value for the #GdkKeypressEvent to generate.
|
||||
(a value of 0 means no event will be generated.)
|
||||
@modifiers: the modifier field for the generated
|
||||
@@ -887,14 +865,6 @@ they will be ignored.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_open_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display_name:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### VARIABLE gdk_progclass ##### -->
|
||||
<para>
|
||||
|
||||
@@ -907,50 +877,9 @@ they will be ignored.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_close ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_window_at_pointer ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@win_x:
|
||||
@win_y:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_use_virtual_screen ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### VARIABLE gdk_selection_property ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_set_default_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
|
||||
<!-- ##### FUNCTION gdkx_visual_get_for_screen ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@xvisualid:
|
||||
@Returns:
|
||||
|
||||
|
||||
@@ -1,263 +0,0 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
GdkDisplay
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Controls the keyboard/mouse pointer grabs and a set of <type>GdkScreen</type>s
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
#GdkDisplay objects purpose are two fold:
|
||||
<itemizedlist>
|
||||
<listitem><para>To grab/ungrab keyboard focus and mouse pointer</para></listitem>
|
||||
<listitem><para>To manage and provide information about the #GdkScreen(s)
|
||||
available for this #GdkDisplay
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
#GdkDisplay objects are the GDK representation of the X Display which can be
|
||||
described as <emphasis>a workstation consisting of a keyboard a pointing
|
||||
device (such as a mouse) and one or more screens</emphasis>.
|
||||
It is used to open and keep track of various #GdkScreen objects currently
|
||||
instanciated by the application. It is also used to grab and release the keyboard
|
||||
and the mouse pointer.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GdkDisplay ##### -->
|
||||
<para>
|
||||
The <structname>GdkDisplay</structname> struct is the GDK representation
|
||||
of an X display. All its fields are private and should not be accessed directly.
|
||||
</para>
|
||||
|
||||
@Since: 2.2
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_open ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display_name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_get_default ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_get_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_get_n_screens ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_get_screen ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@screen_num:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_get_default_screen ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_pointer_ungrab ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@time_:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_keyboard_ungrab ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@time_:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_pointer_is_grabbed ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_beep ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_sync ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_close ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_list_devices ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_get_event ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_peek_event ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_put_event ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@event:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_add_client_message_filter ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@message_type:
|
||||
@func:
|
||||
@data:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_set_double_click_time ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@msec:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_get_pointer ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@screen:
|
||||
@x:
|
||||
@y:
|
||||
@mask:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_get_window_at_pointer ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@win_x:
|
||||
@win_y:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### STRUCT GdkDisplayPointerHooks ##### -->
|
||||
<para>
|
||||
A table of pointers to functions for getting quantities related to
|
||||
the current pointer position. Each #GdkDisplay has a table of this type,
|
||||
which can be set using gdk_display_set_pointer_hooks().
|
||||
</para>
|
||||
<para>
|
||||
This is only useful for such low-level tools as an event recorder.
|
||||
Applications should never have any reason to use this facility
|
||||
</para>
|
||||
|
||||
@get_pointer: Obtains the current pointer position and modifier state.
|
||||
The position is given in coordinates relative to the window containing
|
||||
the pointer, which is returned in @window.
|
||||
@window_get_pointer: Obtains the window underneath the mouse pointer.
|
||||
Current pointer position and modifier state are returned in @x, @y and
|
||||
@mask. The position is given in coordinates relative to @window.
|
||||
@window_at_pointer: Obtains the window underneath the mouse pointer,
|
||||
returning the location of that window in @win_x, @win_y. Returns %NULL
|
||||
if the window under the mouse pointer is not known to GDK (for example,
|
||||
belongs to another application).
|
||||
@Since: 2.2
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_set_pointer_hooks ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@new_hooks:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### SIGNAL GdkDisplay::closed ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@gdkdisplay: the object which received the signal.
|
||||
@arg1:
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
GdkDisplayManager
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Maintains a list of all open <type>GdkDisplay</type>s
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
The purpose of the #GdkDisplayManager singleton object is to offer
|
||||
notification when displays appear or disappear or the default display
|
||||
changes.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GdkDisplayManager ##### -->
|
||||
<para>
|
||||
The <structname>GdkDisplayManager</structname> struct has no interesting
|
||||
fields.
|
||||
</para>
|
||||
|
||||
@Since: 2.2
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_manager_get ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_manager_get_default_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display_manager:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_manager_set_default_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display_manager:
|
||||
@display:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_manager_list_displays ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display_manager:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_get_core_pointer ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### SIGNAL GdkDisplayManager::display-opened ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@gdkdisplaymanager: the object which received the signal.
|
||||
@arg1:
|
||||
|
||||
<!-- ##### ARG GdkDisplayManager:default-display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@@ -1,256 +0,0 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
GdkScreen
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Object representing a physical screen
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
#GdkScreen objects are the GDK representation of a physical screen. It is used
|
||||
throughout GDK and GTK+ to specify which screen the top level windows
|
||||
are to be displayed on.
|
||||
It is also used to query the screen specification and default settings such as
|
||||
the default colormap (gdk_screen_get_default_colormap()),
|
||||
the screen width (gdk_screen_get_width()), etc.
|
||||
</para>
|
||||
<para>Note that a screen may consist of multiple monitors which are merged to
|
||||
form a large screen area.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GdkScreen ##### -->
|
||||
<para>
|
||||
This is a currently just a placeholder typedef for the first argument of
|
||||
the @window_at_pointer function in #GdkPointerHooks. It will be used
|
||||
when GDK gets multihead support.
|
||||
</para>
|
||||
|
||||
@Since: 2.2
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_default ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_default_colormap ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_set_default_colormap ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@colormap:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_system_colormap ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_system_visual ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_rgb_colormap ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_rgb_visual ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_root_window ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_number ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_width ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_height ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_width_mm ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_height_mm ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_list_visuals ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_toplevel_windows ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_make_display_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_n_monitors ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_monitor_geometry ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@monitor_num:
|
||||
@dest:
|
||||
<!-- # Unused Parameters # -->
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_monitor_at_point ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@x:
|
||||
@y:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_monitor_at_window ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@window:
|
||||
@Returns:
|
||||
<!-- # Unused Parameters # -->
|
||||
@anid:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_broadcast_client_message ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@event:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_get_setting ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@name:
|
||||
@value:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### SIGNAL GdkScreen::size-changed ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@gdkscreen: the object which received the signal.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
General
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Library initialization and miscellaneous functions
|
||||
library initialization and miscellaneous functions.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -53,23 +53,6 @@ by GTK+ applications.
|
||||
@Returns: %TRUE if initialization succeeded.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_parse_args ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@argc:
|
||||
@argv:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_get_display_arg_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_set_locale ##### -->
|
||||
<para>
|
||||
Initializes the support for internationalization by calling the <function>setlocale()</function>
|
||||
@@ -96,9 +79,24 @@ locale.
|
||||
|
||||
<!-- ##### FUNCTION gdk_set_sm_client_id ##### -->
|
||||
<para>
|
||||
Sets the <literal>SM_CLIENT_ID</literal> property on the application's leader window so that
|
||||
the window manager can save the application's state using the X11R6 ICCCM
|
||||
session management protocol.
|
||||
</para>
|
||||
<para>
|
||||
The leader window is automatically created by GDK and never shown. It's only
|
||||
use is for session management. The <literal>WM_CLIENT_LEADER</literal> property is automatically
|
||||
set on all X windows created by the application to point to the leader window.
|
||||
</para>
|
||||
<para>
|
||||
See the X Session Management Library documentation for more information on
|
||||
session management and the Inter-Client Communication Conventions Manual
|
||||
(ICCCM) for information on the <literal>WM_CLIENT_LEADER</literal> property.
|
||||
(Both documents are part of the X Window System distribution.)
|
||||
</para>
|
||||
|
||||
@sm_client_id:
|
||||
@sm_client_id: the client id assigned by the session manager when the
|
||||
connection was opened, or %NULL to remove the property.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_exit ##### -->
|
||||
@@ -115,13 +113,6 @@ of g_atexit()).
|
||||
@error_code: the error code to pass to the <function>exit()</function> call.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_notify_startup_complete ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_get_program_class ##### -->
|
||||
<para>
|
||||
Gets the program class. Unless the program class has explicitly
|
||||
@@ -163,30 +154,38 @@ trapping X errors with gdk_error_trap_push() and gdk_error_trap_pop().
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_width ##### -->
|
||||
<para>
|
||||
Returns the width of the screen in pixels.
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
@Returns: the width of the screen in pixels.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_height ##### -->
|
||||
<para>
|
||||
Returns the height of the screen in pixels.
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
@Returns: the height of the screen in pixels.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_width_mm ##### -->
|
||||
<para>
|
||||
Returns the width of the screen in millimeters.
|
||||
Note that on many X servers this value will not be correct.
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
@Returns: the width of the screen in millimeters, though it is not always
|
||||
correct.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_screen_height_mm ##### -->
|
||||
<para>
|
||||
Returns the height of the screen in millimeters.
|
||||
Note that on many X servers this value will not be correct.
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
@Returns: the height of the screen in millimeters, though it is not always
|
||||
correct.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pointer_grab ##### -->
|
||||
@@ -228,7 +227,7 @@ and leave events will be generated as necessary.
|
||||
@cursor: the cursor to display while the grab is active. If this is %NULL then
|
||||
the normal cursors are used for @window and its descendants, and the cursor
|
||||
for @window is used for all other windows.
|
||||
@time_: the timestamp of the event which led to this pointer grab. This usually
|
||||
@time: the timestamp of the event which led to this pointer grab. This usually
|
||||
comes from a #GdkEventButton struct, though %GDK_CURRENT_TIME can be used if
|
||||
the time isn't known.
|
||||
@Returns: %GDK_GRAB_SUCCESS if the grab was successful.
|
||||
@@ -250,19 +249,26 @@ success or the reason for the failure of the grab attempt.
|
||||
|
||||
<!-- ##### FUNCTION gdk_pointer_ungrab ##### -->
|
||||
<para>
|
||||
|
||||
Ungrabs the pointer, if it is grabbed by this application.
|
||||
</para>
|
||||
|
||||
@time_:
|
||||
@time: a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no timestamp is
|
||||
available.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pointer_is_grabbed ##### -->
|
||||
<para>
|
||||
Returns %TRUE if the pointer is currently grabbed by this application.
|
||||
</para>
|
||||
<para>
|
||||
Note that the return value is not completely reliable since the X server may
|
||||
automatically ungrab the pointer, without informing the application, if the
|
||||
grab window becomes unviewable. It also does not take passive pointer grabs
|
||||
into account.
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
@Returns: %TRUE if the pointer is currently grabbed by this application.
|
||||
Though this value is not always correct.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_set_double_click_time ##### -->
|
||||
@@ -286,20 +292,23 @@ This overrides any previous keyboard grab by this client.
|
||||
normal, but keyboard events outside this application are reported with respect
|
||||
to @window. Both key press and key release events are always reported,
|
||||
independant of the event mask set by the application.
|
||||
@time_: a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no timestamp is
|
||||
@time: a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no timestamp is
|
||||
available.
|
||||
@Returns: %GDK_GRAB_SUCCESS if the grab was successful.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_keyboard_ungrab ##### -->
|
||||
<para>
|
||||
Ungrabs the keyboard, if it is grabbed by this application.
|
||||
</para>
|
||||
|
||||
@time_:
|
||||
@time: a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no timestamp is
|
||||
available.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_beep ##### -->
|
||||
<para>
|
||||
Emits a short beep.
|
||||
</para>
|
||||
|
||||
|
||||
@@ -337,16 +346,16 @@ of exiting the application. It should only be used if it is not possible to
|
||||
avoid the X error in any other way.
|
||||
</para>
|
||||
<example>
|
||||
<title>Trapping an X error</title>
|
||||
<title>Trapping an X error.</title>
|
||||
<programlisting>
|
||||
gdk_error_trap_push (<!-- -->);
|
||||
gdk_error_trap_push (<!>);
|
||||
|
||||
/* ... Call the X function which may cause an error here ... */
|
||||
|
||||
/* Flush the X queue to catch errors now. */
|
||||
gdk_flush (<!-- -->);
|
||||
gdk_flush (<!>);
|
||||
|
||||
if (gdk_error_trap_pop (<!-- -->))
|
||||
if (gdk_error_trap_pop (<!>))
|
||||
{
|
||||
/* ... Handle the error here ... */
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Images
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
A client-side area for bit-mapped graphics
|
||||
an area for bit-mapped graphics stored on the X Windows client.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -105,25 +105,32 @@ and if that fails then %GDK_IMAGE_NORMAL will be used.
|
||||
|
||||
<!-- ##### FUNCTION gdk_image_new_bitmap ##### -->
|
||||
<para>
|
||||
Creates a new #GdkImage with a depth of 1 from the given data.
|
||||
<warning><para>THIS FUNCTION IS INCREDIBLY BROKEN. The passed-in data must
|
||||
be allocated by malloc() (NOT g_malloc()) and will be freed when the
|
||||
image is freed.</para></warning>
|
||||
</para>
|
||||
|
||||
@visual:
|
||||
@data:
|
||||
@width:
|
||||
@height:
|
||||
@Returns:
|
||||
@visual: the #GdkVisual to use for the image.
|
||||
@data: the pixel data.
|
||||
@width: the width of the image in pixels.
|
||||
@height: the height of the image in pixels.
|
||||
@Returns: a new #GdkImage.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_image_get ##### -->
|
||||
<para>
|
||||
Gets part of a #GdkWindow and stores it in a new #GdkImage.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@x:
|
||||
@y:
|
||||
@width:
|
||||
@height:
|
||||
@Returns:
|
||||
@x: the left edge of the rectangle to copy from @window.
|
||||
@y: the top edge of the rectangle to copy from @window.
|
||||
@width: the width of the area to copy, in pixels.
|
||||
@height: the height of the area to copy, in pixels.
|
||||
@Returns: a new #GdkImage with a copy of the given area of @window.
|
||||
<!-- # Unused Parameters # -->
|
||||
@window: the #GdkWindow to copy from.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_image_ref ##### -->
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Input
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Callbacks on file descriptors
|
||||
Callbacks on file descriptors.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -55,8 +55,8 @@ of this enumeration correspond to the @readfds,
|
||||
@writefds, and @exceptfds arguments to the
|
||||
<function>select</function> system call.
|
||||
|
||||
<informaltable pgwide="1" frame="none" role="enum">
|
||||
<tgroup cols="2"><colspec colwidth="2*"/><colspec colwidth="8*"/>
|
||||
<informaltable pgwide=1 frame="none" role="enum">
|
||||
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
|
||||
<tbody>
|
||||
|
||||
<row>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Input Devices
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Functions for handling extended input devices
|
||||
Functions for handling extended input devices.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -174,9 +174,11 @@ types that GTK+ understands.
|
||||
|
||||
<!-- ##### FUNCTION gdk_devices_list ##### -->
|
||||
<para>
|
||||
Returns the list of available input devices. The list is statically
|
||||
allocated and should not be freed.
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
@Returns: a list of #GdkDevice*.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_device_set_source ##### -->
|
||||
@@ -207,7 +209,7 @@ is pressed.
|
||||
</para>
|
||||
|
||||
@device: a #GdkDevice.
|
||||
@index_: the index of the macro button to set.
|
||||
@index: the index of the macro button to set.
|
||||
@keyval: the keyval to generate.
|
||||
@modifiers: the modifiers to set.
|
||||
|
||||
@@ -218,15 +220,17 @@ Specifies how an axis of a device is used.
|
||||
</para>
|
||||
|
||||
@device: a #GdkDevice.
|
||||
@index_: the index of the axis.
|
||||
@index: the index of the axis.
|
||||
@use: specifies how the axis is used.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_device_get_core_pointer ##### -->
|
||||
<para>
|
||||
Returns the device for the core pointer. The device is statically
|
||||
allocated and should not be freed.
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
@Returns: a #GdkDevice.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_device_get_state ##### -->
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Key Values
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Functions for manipulating keyboard codes
|
||||
functions for manipulating keyboard codes.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -89,6 +89,7 @@ state; the second phase is to look up the keycode/group/level triplet
|
||||
in the keymap and see what keyval it corresponds to.
|
||||
</para>
|
||||
|
||||
@parent_instance:
|
||||
|
||||
<!-- ##### STRUCT GdkKeymapKey ##### -->
|
||||
<para>
|
||||
@@ -116,15 +117,6 @@ be mapped to a keyval.
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_keymap_get_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_keymap_lookup_key ##### -->
|
||||
<para>
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Pango Interaction
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Low-level access to Pango
|
||||
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -22,15 +22,6 @@ Low-level access to Pango
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pango_context_get_for_screen ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pango_context_set_colormap ##### -->
|
||||
<para>
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Pixbufs
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Functions for rendering pixbufs on drawables
|
||||
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Bitmaps and Pixmaps
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Offscreen drawables
|
||||
Offscreen drawables.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -27,22 +27,21 @@ The type #GdkDrawable refers generically to any of
|
||||
these types.
|
||||
</para>
|
||||
|
||||
@user_data:
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixmap_new ##### -->
|
||||
<para>
|
||||
Create a new pixmap with a given size and depth.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@window: a #GdkWindow, used to determine default values for the
|
||||
new pixmap. Can be %NULL if @depth is specified,
|
||||
@width: The width of the new pixmap in pixels.
|
||||
@height: The height of the new pixmap in pixels.
|
||||
@depth: The depth (number of bits per pixel) of the new pixmap.
|
||||
If -1, and @window is not %NULL, the depth of the new
|
||||
pixmap will be equal to that of @window.
|
||||
@Returns: the #GdkPixmap
|
||||
<!-- # Unused Parameters # -->
|
||||
@window: a #GdkWindow, used to determine default values for the
|
||||
new pixmap. Can be %NULL if @depth is specified,
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_bitmap_create_from_data ##### -->
|
||||
@@ -50,15 +49,13 @@ Create a new pixmap with a given size and depth.
|
||||
Creates a new bitmap from data in XBM format.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@window: a #GdkWindow, used to determine default values for the
|
||||
new pixmap. Can be %NULL, in which case the root window is
|
||||
used.
|
||||
@data: a pointer to the XBM data.
|
||||
@width: the width of the new pixmap in pixels.
|
||||
@height: the height of the new pixmap in pixels.
|
||||
@Returns: the #GdkBitmap
|
||||
<!-- # Unused Parameters # -->
|
||||
@window: a #GdkWindow, used to determine default values for the
|
||||
new pixmap. Can be %NULL, in which case the root window is
|
||||
used.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixmap_create_from_data ##### -->
|
||||
@@ -66,7 +63,8 @@ Creates a new bitmap from data in XBM format.
|
||||
Create a two-color pixmap from data in XBM data.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@window: a #GdkWindow, used to determine default values for the
|
||||
new pixmap. Can be %NULL, if the depth is given.
|
||||
@data: a pointer to the data.
|
||||
@width: the width of the new pixmap in pixels.
|
||||
@height: the height of the new pixmap in pixels.
|
||||
@@ -74,9 +72,6 @@ Create a two-color pixmap from data in XBM data.
|
||||
@fg: the foreground color.
|
||||
@bg: the background color.
|
||||
@Returns: the #GdkPixmap
|
||||
<!-- # Unused Parameters # -->
|
||||
@window: a #GdkWindow, used to determine default values for the
|
||||
new pixmap. Can be %NULL, if the depth is given.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixmap_create_from_xpm ##### -->
|
||||
@@ -84,7 +79,8 @@ Create a two-color pixmap from data in XBM data.
|
||||
Create a pixmap from a XPM file.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@window: a #GdkWindow, used to determine default values for the
|
||||
new pixmap.
|
||||
@mask: a pointer to a place to store a bitmap representing
|
||||
the transparency mask of the XPM file. Can be %NULL,
|
||||
in which case transparency will be ignored.
|
||||
@@ -93,9 +89,6 @@ that are transparent in the input file. Can be %NULL,
|
||||
in which case a default color will be used.
|
||||
@filename: the filename of a file containing XPM data.
|
||||
@Returns: the #GdkPixmap
|
||||
<!-- # Unused Parameters # -->
|
||||
@window: a #GdkWindow, used to determine default values for the
|
||||
new pixmap.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixmap_colormap_create_from_xpm ##### -->
|
||||
@@ -103,7 +96,8 @@ in which case a default color will be used.
|
||||
Create a pixmap from a XPM file using a particular colormap.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@window: a #GdkWindow, used to determine default values for the
|
||||
new pixmap. Can be %NULL if @colormap is given.
|
||||
@colormap: the #GdkColormap that the new pixmap will be use.
|
||||
If omitted, the colormap for @window will be used.
|
||||
@mask: a pointer to a place to store a bitmap representing
|
||||
@@ -114,9 +108,6 @@ that are transparent in the input file. Can be %NULL,
|
||||
in which case a default color will be used.
|
||||
@filename: the filename of a file containing XPM data.
|
||||
@Returns: the #GdkPixmap.
|
||||
<!-- # Unused Parameters # -->
|
||||
@window: a #GdkWindow, used to determine default values for the
|
||||
new pixmap. Can be %NULL if @colormap is given.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixmap_create_from_xpm_d ##### -->
|
||||
@@ -124,7 +115,8 @@ in which case a default color will be used.
|
||||
Create a pixmap from data in XPM format.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@window: a #GdkWindow, used to determine default values for the
|
||||
new pixmap.
|
||||
@mask: Pointer to a place to store a bitmap representing
|
||||
the transparency mask of the XPM file. Can be %NULL,
|
||||
in which case transparency will be ignored.
|
||||
@@ -133,9 +125,6 @@ that are transparent in the input file. Can be %NULL
|
||||
in which case a default color will be used.
|
||||
@data: Pointer to a string containing the XPM data.
|
||||
@Returns: the #GdkPixmap
|
||||
<!-- # Unused Parameters # -->
|
||||
@window: a #GdkWindow, used to determine default values for the
|
||||
new pixmap.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixmap_colormap_create_from_xpm_d ##### -->
|
||||
@@ -144,7 +133,8 @@ Create a pixmap from data in XPM format using a particular
|
||||
colormap.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@window: a #GdkWindow, used to determine default values for the
|
||||
new pixmap. Can be %NULL if @colormap is given.
|
||||
@colormap: the #GdkColormap that the new pixmap will be use.
|
||||
If omitted, the colormap for @window will be used.
|
||||
@mask: a pointer to a place to store a bitmap representing
|
||||
@@ -155,9 +145,6 @@ that are transparent in the input file. Can be %NULL,
|
||||
in which case a default color will be used.
|
||||
@data: Pointer to a string containing the XPM data.
|
||||
@Returns: the #GdkPixmap.
|
||||
<!-- # Unused Parameters # -->
|
||||
@window: a #GdkWindow, used to determine default values for the
|
||||
new pixmap. Can be %NULL if @colormap is given.
|
||||
|
||||
|
||||
<!-- ##### MACRO gdk_pixmap_ref ##### -->
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Properties and Atoms
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Functions to manipulate properties on windows
|
||||
functions to manipulate properties on windows.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -96,20 +96,6 @@ the nul-separated elements of the original text string.)
|
||||
if the conversion failed.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_text_property_to_text_list_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@encoding:
|
||||
@format:
|
||||
@text:
|
||||
@length:
|
||||
@list:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_free_text_list ##### -->
|
||||
<para>
|
||||
Frees the array of strings created by
|
||||
@@ -133,20 +119,6 @@ gdk_text_property_to_text_list().
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_text_property_to_utf8_list_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@encoding:
|
||||
@format:
|
||||
@text:
|
||||
@length:
|
||||
@list:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_string_to_compound_text ##### -->
|
||||
<para>
|
||||
Converts a string from the encoding of the current locale
|
||||
@@ -161,20 +133,6 @@ into a form suitable for storing in a window property.
|
||||
@Returns: 0 upon sucess, non-zero upon failure.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_string_to_compound_text_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@str:
|
||||
@encoding:
|
||||
@format:
|
||||
@ctext:
|
||||
@length:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_free_compound_text ##### -->
|
||||
<para>
|
||||
Frees the data returned from gdk_string_to_compound_text().
|
||||
@@ -205,20 +163,6 @@ Frees the data returned from gdk_string_to_compound_text().
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_utf8_to_compound_text_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@str:
|
||||
@encoding:
|
||||
@format:
|
||||
@ctext:
|
||||
@length:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_atom_intern ##### -->
|
||||
<para>
|
||||
Finds or creates an atom corresponding to a given string.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Points, Rectangles and Regions
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Simple graphical data types
|
||||
simple graphical data types.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -233,44 +233,58 @@ Positive values shrink the region. Negative values expand it.
|
||||
|
||||
<!-- ##### FUNCTION gdk_region_union_with_rect ##### -->
|
||||
<para>
|
||||
Sets the area of @region to the union of the areas of @region and
|
||||
@rect. The resulting area is the set of pixels contained in
|
||||
either @region or @rect.
|
||||
|
||||
</para>
|
||||
|
||||
@region:
|
||||
@rect:
|
||||
@region: a #GdkRegion.
|
||||
@rect: a #GdkRectangle.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_region_intersect ##### -->
|
||||
<para>
|
||||
Sets the area of @source1 to the intersection of the areas of @source1
|
||||
and @source2. The resulting area is the set of pixels contained in
|
||||
both @source1 and @source2.
|
||||
</para>
|
||||
|
||||
@source1:
|
||||
@source2:
|
||||
@source1: a #GdkRegion
|
||||
@source2: a #GdkRegion
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_region_union ##### -->
|
||||
<para>
|
||||
Sets the area of @source1 to the union of the areas of @source1 and
|
||||
@source2. The resulting area is the set of pixels contained in
|
||||
either @source1 or @source2.
|
||||
|
||||
</para>
|
||||
|
||||
@source1:
|
||||
@source2:
|
||||
@source1: a #GdkRegion
|
||||
@source2: a #GdkRegion
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_region_subtract ##### -->
|
||||
<para>
|
||||
Subtracts the area of @source2 from the area @source1. The resulting
|
||||
area is the set of pixels contained in @source1 but not in @source2.
|
||||
</para>
|
||||
|
||||
@source1:
|
||||
@source2:
|
||||
@source1: a #GdkRegion
|
||||
@source2: a #GdkRegion
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_region_xor ##### -->
|
||||
<para>
|
||||
Sets the area of @source1 to the exclusive-OR of the areas of @source1
|
||||
and @source2. The resulting area is the set of pixels contained in one
|
||||
or the other of the two sources but not in both.
|
||||
</para>
|
||||
|
||||
@source1:
|
||||
@source2:
|
||||
@source1: a #GdkRegion
|
||||
@source2: a #GdkRegion
|
||||
|
||||
|
||||
<!-- ##### STRUCT GdkSpan ##### -->
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
GdkRGB
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Renders RGB, grayscale, or indexed image data to a GdkDrawable
|
||||
renders RGB, grayscale, or indexed image data to a #GdkDrawable
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
|
||||
@@ -35,12 +35,12 @@ in cases where a "better" visual than the default is available.
|
||||
</para>
|
||||
|
||||
<example>
|
||||
<title>A simple example program using GdkRGB</title>
|
||||
<title>A simple example program using GdkRGB.</title>
|
||||
<programlisting>
|
||||
#include <gtk/gtk.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#define IMAGE_WIDTH 256
|
||||
#define IMAGE_HEIGHT 256
|
||||
#define IMAGE_WIDTH 256
|
||||
#define IMAGE_HEIGHT 256
|
||||
|
||||
guchar rgbbuf[IMAGE_WIDTH * IMAGE_HEIGHT * 3];
|
||||
|
||||
@@ -58,7 +58,7 @@ main (int argc, char *argv[])
|
||||
gtk_init (&argc, &argv);
|
||||
|
||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||
darea = gtk_drawing_area_new (<!-- -->);
|
||||
darea = gtk_drawing_area_new (<!>);
|
||||
gtk_widget_set_size_request (darea, IMAGE_WIDTH, IMAGE_HEIGHT);
|
||||
gtk_container_add (GTK_CONTAINER (window), darea);
|
||||
gtk_signal_connect (GTK_OBJECT (darea), "expose-event",
|
||||
@@ -67,9 +67,9 @@ main (int argc, char *argv[])
|
||||
|
||||
/* Set up the RGB buffer. */
|
||||
pos = rgbbuf;
|
||||
for (y = 0; y < IMAGE_HEIGHT; y++)
|
||||
for (y = 0; y < IMAGE_HEIGHT; y++)
|
||||
{
|
||||
for (x = 0; x < IMAGE_WIDTH; x++)
|
||||
for (x = 0; x < IMAGE_WIDTH; x++)
|
||||
{
|
||||
*pos++ = x - x % 32; /* Red. */
|
||||
*pos++ = (x / 32) * 4 + y - y % 32; /* Green. */
|
||||
@@ -77,7 +77,7 @@ main (int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
gtk_main (<!-- -->);
|
||||
gtk_main (<!>);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -409,9 +409,14 @@ private colormap.
|
||||
|
||||
<!-- ##### FUNCTION gdk_rgb_get_visual ##### -->
|
||||
<para>
|
||||
Gets a "preferred visual" chosen by GdkRGB. In previous versions of
|
||||
GDK, this was the only visual GdkRGB could use for rendering. In
|
||||
current versions, it's simply the visual GdkRGB would have chosen as
|
||||
the optimal one in those previous versions. GdkRGB can now render to
|
||||
drawables with any visual.
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
@Returns: The #GdkVisual chosen by GdkRGB.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_rgb_get_colormap ##### -->
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Selections
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Functions for transfering data via the X selection mechanism
|
||||
functions for transfering data via the X selection mechanism.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -197,7 +197,7 @@ Sets the owner of the given selection.
|
||||
@owner: a #GdkWindow or %NULL to indicate that the
|
||||
the owner for the given should be unset.
|
||||
@selection: an atom identifying a selection.
|
||||
@time_: timestamp to use when setting the selection.
|
||||
@time: timestamp to use when setting the selection.
|
||||
If this is older than the timestamp given last
|
||||
time the owner was set for the given selection, the
|
||||
request will be ignored.
|
||||
@@ -208,19 +208,6 @@ Sets the owner of the given selection.
|
||||
changed to @owner, otherwise %FALSE.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_selection_owner_set_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@owner:
|
||||
@selection:
|
||||
@time_:
|
||||
@send_event:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_selection_owner_get ##### -->
|
||||
<para>
|
||||
Determines the owner of the given selection.
|
||||
@@ -237,16 +224,6 @@ Determines the owner of the given selection.
|
||||
this call.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_selection_owner_get_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@selection:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_selection_convert ##### -->
|
||||
<para>
|
||||
Retrieves the contents of a selection in a given
|
||||
@@ -257,7 +234,7 @@ form.
|
||||
@selection: an atom identifying the selection to get the
|
||||
contents of.
|
||||
@target: the form in which to retrieve the selection.
|
||||
@time_: the timestamp to use when retrieving the
|
||||
@time: the timestamp to use when retrieving the
|
||||
selection. The selection owner may refuse the
|
||||
request if it did not own the selection at
|
||||
the time indicated by the timestamp.
|
||||
@@ -265,13 +242,21 @@ form.
|
||||
|
||||
<!-- ##### FUNCTION gdk_selection_property_get ##### -->
|
||||
<para>
|
||||
Retrieves selection data that was stored by the selection
|
||||
data in response to a call to gdk_selection_convert().
|
||||
</para>
|
||||
|
||||
@requestor:
|
||||
@data:
|
||||
@prop_type:
|
||||
@prop_format:
|
||||
@Returns:
|
||||
@requestor: the window on which the data is stored
|
||||
@data: location to store a pointer to the retrieved data.
|
||||
If the retrieval failed, %NULL we be stored here, otherwise, it
|
||||
will be non-%NULL and the returned data should be freed with g_free()
|
||||
when you are finished using it. The length of the
|
||||
allocated memory is one more than the the length
|
||||
of the returned data, and the final byte will always
|
||||
be zero, to ensure nul-termination of strings.
|
||||
@prop_type: location to store the type of the property.
|
||||
@prop_format: location to store the format of the property.
|
||||
@Returns: the length of the retrieved data.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_selection_send_notify ##### -->
|
||||
@@ -285,19 +270,6 @@ Sends a response to SelectionRequest event.
|
||||
@property: property in which the selection owner stored the
|
||||
data, or %GDK_NONE to indicate that the request
|
||||
was rejected.
|
||||
@time_: timestamp.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_selection_send_notify_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@requestor:
|
||||
@selection:
|
||||
@target:
|
||||
@property:
|
||||
@time_:
|
||||
@time: timestamp.
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Threads
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Functions for using GDK in multi-threaded programs
|
||||
functions for using GDK in multi-threaded programs
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -43,20 +43,10 @@ As always, you must also surround any calls to GTK+ not made within
|
||||
a signal handler with a gdk_threads_enter()/gdk_threads_leave() pair.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Before calling gdk_threads_leave() from a thread other
|
||||
than your main thread, you probably want to call gdk_flush()
|
||||
to send all pending commands to the windowing system.
|
||||
(The reason you don't need to do this from the main thread
|
||||
is that GDK always automatically flushes pending commands
|
||||
when it runs out of incoming events to process and has
|
||||
to sleep while waiting for more events.)
|
||||
</para>
|
||||
|
||||
<para>A minimal main program for a threaded GTK+ application
|
||||
looks like:</para>
|
||||
|
||||
<informalexample>
|
||||
<para>
|
||||
<programlisting role="C">
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
@@ -64,20 +54,20 @@ main (int argc, char *argv[])
|
||||
GtkWidget *window;
|
||||
|
||||
g_thread_init (NULL);
|
||||
gdk_threads_init (<!-- -->);
|
||||
gdk_threads_init ();
|
||||
gtk_init (&argc, &argv);
|
||||
|
||||
window = create_window (<!-- -->);
|
||||
window = create_window ();
|
||||
gtk_widget_show (window);
|
||||
|
||||
gdk_threads_enter (<!-- -->);
|
||||
gtk_main (<!-- -->);
|
||||
gdk_threads_leave (<!-- -->);
|
||||
gdk_threads_enter ();
|
||||
gtk_main ();
|
||||
gdk_threads_leave ();
|
||||
|
||||
return 0;
|
||||
}
|
||||
</programlisting>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Callbacks require a bit of attention. Callbacks from GTK+ signals
|
||||
@@ -92,7 +82,7 @@ do.
|
||||
illustrate how to use threads within GTK+ programs.
|
||||
</para>
|
||||
|
||||
<informalexample>
|
||||
<para>
|
||||
<programlisting role="C">
|
||||
/*-------------------------------------------------------------------------
|
||||
* Filename: gtk-thread.c
|
||||
@@ -114,16 +104,16 @@ illustrate how to use threads within GTK+ programs.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <time.h>
|
||||
#include <gtk/gtk.h>
|
||||
#include <glib.h>
|
||||
#include <pthread.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <time.h>
|
||||
#include <gtk/gtk.h>
|
||||
#include <glib.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#define YES_IT_IS (1)
|
||||
#define NO_IT_IS_NOT (0)
|
||||
#define YES_IT_IS (1)
|
||||
#define NO_IT_IS_NOT (0)
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@@ -134,20 +124,20 @@ typedef struct
|
||||
G_LOCK_DEFINE_STATIC (yes_or_no);
|
||||
static volatile int yes_or_no = YES_IT_IS;
|
||||
|
||||
void destroy (GtkWidget *widget, gpointer data)
|
||||
void destroy(GtkWidget *widget, gpointer data)
|
||||
{
|
||||
gtk_main_quit (<!-- -->);
|
||||
gtk_main_quit();
|
||||
}
|
||||
|
||||
void *argument_thread (void *args)
|
||||
void *argument_thread(void *args)
|
||||
{
|
||||
yes_or_no_args *data = (yes_or_no_args *)args;
|
||||
gboolean say_something;
|
||||
|
||||
for (;;)
|
||||
for(;;)
|
||||
{
|
||||
/* sleep a while */
|
||||
sleep(rand(<!-- -->) / (RAND_MAX / 3) + 1);
|
||||
sleep(rand() / (RAND_MAX / 3) + 1);
|
||||
|
||||
/* lock the yes_or_no_variable */
|
||||
G_LOCK(yes_or_no);
|
||||
@@ -162,28 +152,28 @@ void *argument_thread (void *args)
|
||||
}
|
||||
|
||||
/* Unlock the yes_or_no variable */
|
||||
G_UNLOCK (yes_or_no);
|
||||
G_UNLOCK(yes_or_no);
|
||||
|
||||
if (say_something)
|
||||
if(say_something)
|
||||
{
|
||||
/* get GTK thread lock */
|
||||
gdk_threads_enter (<!-- -->);
|
||||
gdk_threads_enter();
|
||||
|
||||
/* set label text */
|
||||
if(data->what == YES_IT_IS)
|
||||
gtk_label_set_text (GTK_LABEL (data->label), "O yes, it is!");
|
||||
gtk_label_set_text(GTK_LABEL(data->label), "O yes, it is!");
|
||||
else
|
||||
gtk_label_set_text (GTK_LABEL (data->label), "O no, it isn't!");
|
||||
gtk_label_set_text(GTK_LABEL(data->label), "O no, it isn't!");
|
||||
|
||||
/* release GTK thread lock */
|
||||
gdk_threads_leave (<!-- -->);
|
||||
gdk_threads_leave();
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
int main (int argc, char *argv[])
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
GtkWidget *window;
|
||||
GtkWidget *label;
|
||||
@@ -191,49 +181,49 @@ int main (int argc, char *argv[])
|
||||
pthread_t no_tid, yes_tid;
|
||||
|
||||
/* init threads */
|
||||
g_thread_init (NULL);
|
||||
gdk_threads_init (<!-- -->);
|
||||
g_thread_init(NULL);
|
||||
gdk_threads_init ();
|
||||
|
||||
/* init gtk */
|
||||
gtk_init(&argc, &argv);
|
||||
|
||||
/* init random number generator */
|
||||
srand ((unsigned int) time (NULL));
|
||||
srand((unsigned int)time(NULL));
|
||||
|
||||
/* create a window */
|
||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (window), "destroy",
|
||||
GTK_SIGNAL_FUNC (destroy), NULL);
|
||||
gtk_signal_connect(GTK_OBJECT (window), "destroy",
|
||||
GTK_SIGNAL_FUNC(destroy), NULL);
|
||||
|
||||
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
|
||||
gtk_container_set_border_width(GTK_CONTAINER (window), 10);
|
||||
|
||||
/* create a label */
|
||||
label = gtk_label_new ("And now for something completely different ...");
|
||||
gtk_container_add (GTK_CONTAINER (window), label);
|
||||
label = gtk_label_new("And now for something completely different ...");
|
||||
gtk_container_add(GTK_CONTAINER(window), label);
|
||||
|
||||
/* show everything */
|
||||
gtk_widget_show (label);
|
||||
gtk_widget_show(label);
|
||||
gtk_widget_show (window);
|
||||
|
||||
/* create the threads */
|
||||
yes_args.label = label;
|
||||
yes_args.what = YES_IT_IS;
|
||||
pthread_create (&yes_tid, NULL, argument_thread, &yes_args);
|
||||
pthread_create(&yes_tid, NULL, argument_thread, &yes_args);
|
||||
|
||||
no_args.label = label;
|
||||
no_args.what = NO_IT_IS_NOT;
|
||||
pthread_create (&no_tid, NULL, argument_thread, &no_args);
|
||||
pthread_create(&no_tid, NULL, argument_thread, &no_args);
|
||||
|
||||
/* enter the GTK main loop */
|
||||
gdk_threads_enter (<!-- -->);
|
||||
gtk_main (<!-- -->);
|
||||
gdk_threads_leave (<!-- -->);
|
||||
gdk_threads_enter();
|
||||
gtk_main();
|
||||
gdk_threads_leave();
|
||||
|
||||
return 0;
|
||||
return(0);
|
||||
}
|
||||
</programlisting>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
@@ -64,9 +64,9 @@ guint
|
||||
pixel_from_rgb (GdkVisual *visual,
|
||||
guchar r, guchar b, guchar g)
|
||||
{
|
||||
return ((r >> (16 - visual->red_prec)) << visual->red_shift) |
|
||||
((g >> (16 - visual->green_prec)) << visual->green_shift) |
|
||||
((r >> (16 - visual->blue_prec)) << visual->blue_shift);
|
||||
return ((r >> (16 - visual->red_prec)) << visual->red_shift) |
|
||||
((g >> (16 - visual->green_prec)) << visual->green_shift) |
|
||||
((r >> (16 - visual->blue_prec)) << visual->blue_shift);
|
||||
}
|
||||
</programlisting>
|
||||
</example>
|
||||
@@ -93,7 +93,7 @@ pixel_from_rgb (GdkVisual *visual,
|
||||
<structfield>red_mask</structfield> is a contiguous sequence
|
||||
of <structfield>red_prec</structfield> bits starting at bit
|
||||
number <structfield>red_shift</structfield>. For example,
|
||||
<xref linkend="rgbmask"/> shows constructing a pixel value
|
||||
<xref linkend="rgbmask"> shows constructing a pixel value
|
||||
out of three 16 bit color values.
|
||||
@red_prec: See above.
|
||||
@green_mask: A mask giving the bits in a pixel value that
|
||||
@@ -248,12 +248,3 @@ Deprecated equivalent of g_object_unref().
|
||||
@v:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_visual_get_screen ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@visual:
|
||||
@Returns:
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
Windows
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Onscreen display areas in the target window system
|
||||
|
||||
onscreen display areas in the target window system
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -27,6 +28,7 @@ The type #GdkDrawable refers generically to any of
|
||||
these types.
|
||||
</para>
|
||||
|
||||
@user_data: used to store the #GtkWidget associated with this window
|
||||
|
||||
<!-- ##### ENUM GdkWindowType ##### -->
|
||||
<para>
|
||||
@@ -196,10 +198,6 @@ and behaviour of the window. The hint must be set before mapping the window.
|
||||
@GDK_WINDOW_TYPE_HINT_DIALOG: Dialog window.
|
||||
@GDK_WINDOW_TYPE_HINT_MENU: Window used to implement a menu.
|
||||
@GDK_WINDOW_TYPE_HINT_TOOLBAR: Window used to implement toolbars.
|
||||
@GDK_WINDOW_TYPE_HINT_SPLASHSCREEN:
|
||||
@GDK_WINDOW_TYPE_HINT_UTILITY:
|
||||
@GDK_WINDOW_TYPE_HINT_DOCK:
|
||||
@GDK_WINDOW_TYPE_HINT_DESKTOP:
|
||||
|
||||
<!-- ##### STRUCT GdkWindowAttr ##### -->
|
||||
<para>
|
||||
@@ -240,6 +238,14 @@ corresponding flag in #GdkWindowAttributesType.
|
||||
@GDK_WA_WMCLASS: Honor the wmclass_class and wmclass_name fields
|
||||
@GDK_WA_NOREDIR: Honor the override_redirect field
|
||||
|
||||
<!-- ##### STRUCT GdkScreen ##### -->
|
||||
<para>
|
||||
This is a currently just a placeholder typedef for the first argument of
|
||||
the @window_at_pointer function in #GdkPointerHooks. It will be used
|
||||
when GDK gets multihead support.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_new ##### -->
|
||||
<para>
|
||||
|
||||
@@ -400,22 +406,6 @@ Deprecated equivalent of g_object_unref()
|
||||
@window:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_fullscreen ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@window:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_unfullscreen ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@window:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_move ##### -->
|
||||
<para>
|
||||
|
||||
@@ -947,24 +937,6 @@ Deprecated equivalent to gdk_drawable_set_colormap()
|
||||
@hint:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_set_skip_taskbar_hint ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@window:
|
||||
@skips_taskbar:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_set_skip_pager_hint ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@window:
|
||||
@skips_pager:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_get_position ##### -->
|
||||
<para>
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
X Window System Interaction
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
X backend-specific functions
|
||||
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -59,10 +59,8 @@ Returns the X window belonging to a #GdkWindow.
|
||||
Returns the display of a #GdkPixmap.
|
||||
</para>
|
||||
|
||||
@pix:
|
||||
@Returns: an Xlib <type>Display*</type>.
|
||||
<!-- # Unused Parameters # -->
|
||||
@win: a #GdkPixmap.
|
||||
@Returns: an Xlib <type>Display*</type>.
|
||||
|
||||
|
||||
<!-- ##### MACRO GDK_PIXMAP_XID ##### -->
|
||||
@@ -70,18 +68,8 @@ Returns the display of a #GdkPixmap.
|
||||
Returns the X pixmap belonging to a #GdkPixmap.
|
||||
</para>
|
||||
|
||||
@pix:
|
||||
@Returns: the Xlib <type>XPixmap</type> of @win.
|
||||
<!-- # Unused Parameters # -->
|
||||
@win: a #GdkPixmap.
|
||||
|
||||
|
||||
<!-- ##### MACRO GDK_DISPLAY_XDISPLAY ##### -->
|
||||
<para>
|
||||
Returns the display of a #GdkDisplay.
|
||||
</para>
|
||||
|
||||
@display: a #GdkDisplay.
|
||||
@Returns: the Xlib <type>XPixmap</type> of @win.
|
||||
|
||||
|
||||
<!-- ##### MACRO GDK_DRAWABLE_XDISPLAY ##### -->
|
||||
@@ -147,34 +135,6 @@ Returns the X colormap belonging to a #GdkColormap.
|
||||
@Returns: an Xlib <type>Colormap</type>.
|
||||
|
||||
|
||||
<!-- ##### MACRO GDK_SCREEN_XDISPLAY ##### -->
|
||||
<para>
|
||||
Returns the display of a #GdkScreen.
|
||||
</para>
|
||||
|
||||
@screen: a #GdkScreen.
|
||||
@Returns: an Xlib <type>Display*</type>.
|
||||
|
||||
|
||||
<!-- ##### MACRO GDK_SCREEN_XNUMBER ##### -->
|
||||
<para>
|
||||
Returns the index of a #GdkScreen.
|
||||
</para>
|
||||
|
||||
@screen: a #GdkScreen
|
||||
@Returns: the position of @screen among the screens of
|
||||
its display.
|
||||
|
||||
|
||||
<!-- ##### MACRO GDK_SCREEN_XSCREEN ##### -->
|
||||
<para>
|
||||
Returns the screen of a #GdkScreen.
|
||||
</para>
|
||||
|
||||
@screen: a #GdkScreen
|
||||
@Returns: an Xlib <type>Screen*</type>.
|
||||
|
||||
|
||||
<!-- ##### MACRO GDK_VISUAL_XVISUAL ##### -->
|
||||
<para>
|
||||
Returns the X visual belonging to a #GdkVisual.
|
||||
@@ -252,19 +212,20 @@ Another name for GDK_DRAWABLE_XID().
|
||||
|
||||
<!-- ##### FUNCTION gdkx_visual_get ##### -->
|
||||
<para>
|
||||
|
||||
Returns a #GdkVisual corresponding to a X visual.
|
||||
</para>
|
||||
|
||||
@xvisualid:
|
||||
@Returns:
|
||||
@xvisualid: a X visual id.
|
||||
@Returns: the #GdkVisual.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdkx_colormap_get ##### -->
|
||||
<para>
|
||||
Returns a #GdkColormap corresponding to a X colormap.
|
||||
</para>
|
||||
|
||||
@xcolormap:
|
||||
@Returns:
|
||||
@xcolormap: a X colormap.
|
||||
@Returns: the #GdkColormap.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixmap_foreign_new ##### -->
|
||||
@@ -276,16 +237,6 @@ Another name for GDK_DRAWABLE_XID().
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixmap_foreign_new_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@anid:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_foreign_new ##### -->
|
||||
<para>
|
||||
|
||||
@@ -295,100 +246,49 @@ Another name for GDK_DRAWABLE_XID().
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_foreign_new_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@anid:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_xid_table_lookup ##### -->
|
||||
<para>
|
||||
|
||||
Returns the Gdk object associated with the given X id.
|
||||
</para>
|
||||
|
||||
@xid:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_xid_table_lookup_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@xid:
|
||||
@Returns:
|
||||
@xid: an X id.
|
||||
@Returns: the associated Gdk object, which may be a #GdkPixmap,
|
||||
a #GdkWindow or a #GdkFont.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_lookup ##### -->
|
||||
<para>
|
||||
Obtains the #GdkWindow for the given Xlib window ID, or %NULL if no #GdkWindow has
|
||||
been created for @xid.
|
||||
</para>
|
||||
|
||||
@anid:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_lookup_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@anid:
|
||||
@Returns:
|
||||
<!-- # Unused Parameters # -->
|
||||
@xid: Xlib window ID
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixmap_lookup ##### -->
|
||||
<para>
|
||||
Obtains the #GdkPixmap for the given Xlib pixmap ID, or %NULL if no #GdkPixmap has
|
||||
been created for @xid.
|
||||
</para>
|
||||
|
||||
@anid:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixmap_lookup_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@anid:
|
||||
@Returns:
|
||||
<!-- # Unused Parameters # -->
|
||||
@xid: Xlib pixmap ID
|
||||
|
||||
|
||||
<!-- ##### MACRO gdk_font_lookup ##### -->
|
||||
<para>
|
||||
Obtains the #GdkFont for the given Xlib font ID, or %NULL if no #GdkFont has
|
||||
Obtains the #GdkFont for the given Xlib pixmap ID, or %NULL if no #GdkPixmap has
|
||||
been created for @xid.
|
||||
</para>
|
||||
|
||||
@xid:
|
||||
|
||||
|
||||
<!-- ##### MACRO gdk_font_lookup_for_display ##### -->
|
||||
<para>
|
||||
Obtains the #GdkFont for the given Xlib font ID on @display, or %NULL if no
|
||||
#GdkFont has been created for @xid.
|
||||
</para>
|
||||
|
||||
@display: a #GdkDisplay
|
||||
@xid: an Xlib font ID
|
||||
Since: 2.2
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_lookup_xdisplay ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@xdisplay:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_get_server_time ##### -->
|
||||
<para>
|
||||
|
||||
@@ -407,122 +307,60 @@ Since: 2.2
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_screen_supports_net_wm_hint ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@property:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_screen_get_window_manager_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_screen_lookup_visual ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@xvisualid:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_colormap_foreign_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@visual:
|
||||
@xcolormap:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_colormap_get_xcolormap ##### -->
|
||||
<para>
|
||||
|
||||
Returns the X colormap belonging to a #GdkColormap.
|
||||
</para>
|
||||
|
||||
@colormap:
|
||||
@Returns:
|
||||
@colormap: a #GdkColormap.
|
||||
@Returns: an Xlib <type>Colormap</type>.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_colormap_get_xdisplay ##### -->
|
||||
<para>
|
||||
|
||||
Returns the display of a #GdkColormap.
|
||||
</para>
|
||||
|
||||
@colormap:
|
||||
@Returns:
|
||||
@colormap: a #GdkColormap.
|
||||
@Returns: an Xlib <type>Display*</type>.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_cursor_get_xcursor ##### -->
|
||||
<para>
|
||||
|
||||
Returns the X cursor belonging to a #GdkCursor.
|
||||
</para>
|
||||
|
||||
@cursor:
|
||||
@cursor: a #GdkCursor.
|
||||
@Returns:
|
||||
<!-- # Unused Parameters # -->
|
||||
@Retursn: an Xlib <type>Cursor</type.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_cursor_get_xdisplay ##### -->
|
||||
<para>
|
||||
|
||||
Returns the display of a #GdkCursor.
|
||||
</para>
|
||||
|
||||
@cursor:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_display_get_xdisplay ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_display_grab ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_display_ungrab ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@cursor: a #GdkCursor.
|
||||
@Returns: an Xlib <type>Display*</type>.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_drawable_get_xdisplay ##### -->
|
||||
<para>
|
||||
|
||||
Returns the display of a #GdkDrawable.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@Returns:
|
||||
@drawable: a #GdkDrawable.
|
||||
@Returns: an Xlib <type>Display*</type>.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_drawable_get_xid ##### -->
|
||||
<para>
|
||||
|
||||
Returns the X resource (window or pixmap) belonging to a #GdkDrawable.
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@Returns:
|
||||
@drawable: a #GdkDrawable.
|
||||
@Returns: the ID of @win's X resource.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_font_get_name ##### -->
|
||||
@@ -536,46 +374,47 @@ Since: 2.2
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_font_get_xdisplay ##### -->
|
||||
<para>
|
||||
|
||||
Returns the display of a #GdkFont.
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@Returns:
|
||||
@font: a #GdkFont.
|
||||
@Returns: an Xlib <type>Display*</type>.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_font_get_xfont ##### -->
|
||||
<para>
|
||||
|
||||
Returns the X font belonging to a #GdkFont.
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@Returns:
|
||||
@font: a #GdkFont.
|
||||
@Returns: an Xlib <type>XFontStruct*</type> or an <type>XFontSet</type>.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_gc_get_xdisplay ##### -->
|
||||
<para>
|
||||
|
||||
Returns the display of a #GdkGC.
|
||||
</para>
|
||||
|
||||
@gc:
|
||||
@Returns:
|
||||
@gc: a #GdkGC.
|
||||
@Returns: an Xlib <type>Display*</type>.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_gc_get_xgc ##### -->
|
||||
<para>
|
||||
|
||||
Returns the X GC of a #GdkGC.
|
||||
</para>
|
||||
|
||||
@gc:
|
||||
@Returns:
|
||||
@gc: a #GdkGC.
|
||||
@Returns: an Xlib <type>GC</type>.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_get_default_root_xwindow ##### -->
|
||||
<para>
|
||||
|
||||
Gets the root window of the default screen
|
||||
(see gdk_x11_get_default_screen()).
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
@Returns: an Xlib <type>Window</type>.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_get_default_screen ##### -->
|
||||
@@ -588,69 +427,60 @@ Since: 2.2
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_get_default_xdisplay ##### -->
|
||||
<para>
|
||||
|
||||
Gets the default GTK+ display.
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
@Returns: the Xlib <type>Display*</type> for the display
|
||||
specified in the <option>--display</option> command line option
|
||||
or the <envar>DISPLAY</envar> environment variable.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_grab_server ##### -->
|
||||
<para>
|
||||
|
||||
Call <function>XGrabServer()</function> on the default display.
|
||||
To ungrab the server again, use gdk_x11_ungrab_server().
|
||||
</para>
|
||||
<para>
|
||||
gdk_x11_grab_server()/gdk_x11_ungrab_server() calls can be nested.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_image_get_xdisplay ##### -->
|
||||
<para>
|
||||
|
||||
Returns the display of a #GdkImage.
|
||||
</para>
|
||||
|
||||
@image:
|
||||
@Returns:
|
||||
@Returns: an Xlib <type>Display*</type>.
|
||||
<!-- # Unused Parameters # -->
|
||||
@drawable: a #GdkImage.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_image_get_ximage ##### -->
|
||||
<para>
|
||||
|
||||
Returns the X image belonging to a #GdkImage.
|
||||
</para>
|
||||
|
||||
@image:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_screen_get_screen_number ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_screen_get_xscreen ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@screen:
|
||||
@Returns:
|
||||
@image: a #GdkImage.
|
||||
@Returns: an <type>XImage*</type>.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_ungrab_server ##### -->
|
||||
<para>
|
||||
|
||||
Ungrab the default display after it has been grabbed with
|
||||
gdk_x11_grab_server().
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_visual_get_xvisual ##### -->
|
||||
<para>
|
||||
|
||||
Returns the X visual belonging to a #GdkVisual.
|
||||
</para>
|
||||
|
||||
@visual:
|
||||
@Returns:
|
||||
@visual: a #GdkVisual.
|
||||
@Returns: an Xlib <type>Visual*</type>.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_atom_to_xatom ##### -->
|
||||
@@ -662,16 +492,6 @@ Since: 2.2
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_atom_to_xatom_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@atom:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_xatom_to_atom ##### -->
|
||||
<para>
|
||||
|
||||
@@ -681,16 +501,6 @@ Since: 2.2
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_xatom_to_atom_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@xatom:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_get_xatom_by_name ##### -->
|
||||
<para>
|
||||
|
||||
@@ -700,16 +510,6 @@ Since: 2.2
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_get_xatom_by_name_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@atom_name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_get_xatom_name ##### -->
|
||||
<para>
|
||||
|
||||
@@ -719,13 +519,3 @@ Since: 2.2
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_get_xatom_name_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@xatom:
|
||||
@Returns:
|
||||
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
@GTK_VERSION@
|
||||
@@ -1,18 +1,16 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
gtk-decl-list.txt
|
||||
gtk-decl.txt
|
||||
gtk-scan.lo
|
||||
gtk-undocumented.txt
|
||||
gtk-unused.txt
|
||||
sgml
|
||||
html
|
||||
.libs
|
||||
gtk.args
|
||||
gtk.hierarchy
|
||||
gtk.interfaces
|
||||
gtk.prerequisites
|
||||
gtk.signals
|
||||
html
|
||||
xml
|
||||
gtk-decl.txt
|
||||
gtk-decl-list.txt
|
||||
gtk-undocumented.txt
|
||||
gtk-unused.txt
|
||||
gtk-scan.lo
|
||||
*.stamp
|
||||
*.lo
|
||||
.libs
|
||||
version.xml
|
||||
|
||||
@@ -16,7 +16,7 @@ SCANGOBJ_OPTIONS=--type-init-func="gtk_type_init(0)"
|
||||
SCAN_OPTIONS=--deprecated-guards="GTK_ENABLE_BROKEN|GTK_DISABLE_DEPRECATED"
|
||||
|
||||
# Extra options to supply to gtkdoc-mkdb
|
||||
MKDB_OPTIONS=--sgml-mode --output-format=xml
|
||||
MKDB_OPTIONS=--sgml-mode
|
||||
|
||||
# Extra options to supply to gtkdoc-fixref
|
||||
FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
|
||||
@@ -91,7 +91,6 @@ HTML_IMAGES = \
|
||||
$(top_srcdir)/gtk/stock-icons/stock_align_justify_24.png \
|
||||
$(top_srcdir)/gtk/stock-icons/stock_align_left_24.png \
|
||||
$(top_srcdir)/gtk/stock-icons/stock_align_right_24.png \
|
||||
$(top_srcdir)/gtk/stock-icons/stock_broken_image_24.png \
|
||||
$(top_srcdir)/gtk/stock-icons/stock_new_24.png \
|
||||
$(top_srcdir)/gtk/stock-icons/stock_no_20.png \
|
||||
$(top_srcdir)/gtk/stock-icons/stock_ok_20.png \
|
||||
@@ -126,7 +125,6 @@ HTML_IMAGES = \
|
||||
|
||||
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
|
||||
content_files = \
|
||||
version.xml \
|
||||
running.sgml \
|
||||
building.sgml \
|
||||
changes-1.2.sgml \
|
||||
@@ -142,7 +140,7 @@ content_files = \
|
||||
x11.sgml
|
||||
|
||||
# Other files to distribute
|
||||
extra_files = version.xml.in
|
||||
extra_files =
|
||||
|
||||
# CFLAGS and LDFLAGS for compiling scan program. Only needed
|
||||
# if $(DOC_MODULE).types is non-empty.
|
||||
@@ -191,11 +189,9 @@ EXTRA_DIST = \
|
||||
DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
|
||||
$(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
|
||||
|
||||
SCANOBJ_FILES = \
|
||||
$(DOC_MODULE).args \
|
||||
$(DOC_MODULE).hierarchy \
|
||||
$(DOC_MODULE).interfaces \
|
||||
$(DOC_MODULE).prerequisites \
|
||||
SCANOBJ_FILES = \
|
||||
$(DOC_MODULE).args \
|
||||
$(DOC_MODULE).hierarchy \
|
||||
$(DOC_MODULE).signals
|
||||
|
||||
if ENABLE_GTK_DOC
|
||||
@@ -289,19 +285,10 @@ endif
|
||||
|
||||
dist-hook: dist-check-gtkdoc dist-hook-local
|
||||
mkdir $(distdir)/tmpl
|
||||
mkdir $(distdir)/xml
|
||||
mkdir $(distdir)/sgml
|
||||
mkdir $(distdir)/html
|
||||
-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
|
||||
-cp $(srcdir)/xml/*.xml $(distdir)/xml
|
||||
-cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
|
||||
-cp $(srcdir)/html/* $(distdir)/html
|
||||
|
||||
.PHONY : dist-hook-local
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -142,7 +142,7 @@ How to compile GTK+ itself
|
||||
library along with version number information.) The version
|
||||
of <command>pkg-config</command> needed to build GTK+ is
|
||||
mirrored in the <filename>dependencies</filename> directory
|
||||
on the <ulink url="ftp://ftp.gtk.org/pub/gtk/v2.2/">GTK+ FTP
|
||||
on the <ulink url="ftp://ftp.gtk.org/pub/gtk/v2.0/">GTK+ FTP
|
||||
site.</ulink>
|
||||
</para>
|
||||
</listitem>
|
||||
@@ -169,17 +169,15 @@ How to compile GTK+ itself
|
||||
The GLib library provides core non-graphical functionality
|
||||
such as high level data types, Unicode manipulation, and
|
||||
a object and type system to C programs. It is available
|
||||
from the <ulink url="ftp://ftp.gtk.org/pub/gtk/v2.2/">GTK+
|
||||
from the <ulink url="ftp://ftp.gtk.org/pub/gtk/v2.0/">GTK+
|
||||
FTP site.</ulink>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<ulink url="http://www.pango.org">Pango</ulink> is a library
|
||||
for internationalized text handling. Itis available from
|
||||
the <ulink url="ftp://ftp.gtk.org/pub/gtk/v2.2/">GTK+ FTP
|
||||
site.</ulink>. Either Pango-1.0 or Pango-1.2 can be used
|
||||
with GTK+-2.2, though Pango-1.2 is recommended.
|
||||
Pango is a library for internationalized text handling. It
|
||||
is available from the <ulink
|
||||
url="ftp://ftp.gtk.org/pub/gtk/v2.0/">GTK+ FTP site.</ulink>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@@ -188,7 +186,7 @@ How to compile GTK+ itself
|
||||
interfaces allowing accessibility technologies such as
|
||||
screen readers to interact with a graphical user interface.
|
||||
It is available from the <ulink
|
||||
url="ftp://ftp.gtk.org/pub/gtk/v2.2/">GTK+ FTP site.</ulink>
|
||||
url="ftp://ftp.gtk.org/pub/gtk/v2.0/">GTK+ FTP site.</ulink>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@@ -219,7 +217,7 @@ How to compile GTK+ itself
|
||||
compile GTK+. You probably already have these libraries
|
||||
installed, but if not, the versions you need are available in
|
||||
the <filename>dependencies</filename> directory on the the
|
||||
<ulink url="ftp://ftp.gtk.org/pub/gtk/v2.2/dependencies/">GTK+
|
||||
<ulink url="ftp://ftp.gtk.org/pub/gtk/v2.0/dependencies/">GTK+
|
||||
FTP site.</ulink>. (Before installing these libraries
|
||||
from source, you should check if your operating system
|
||||
vendor has prebuilt packages of these libraries that you
|
||||
@@ -228,26 +226,26 @@ How to compile GTK+ itself
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The libraries from the X window system are needed to build
|
||||
Pango and GTK+. You should already have these installed on
|
||||
your system, but it's possible that you'll need to install
|
||||
the development environment for these libraries that your
|
||||
operating system vendor provides.
|
||||
While not required for running GTK+ on X, you may want install the
|
||||
<ulink url="http://www.freetype.org">FreeType
|
||||
library</ulink> so that the PangoFT2 backend for Pango will
|
||||
be built. This backend is used by the linux-fb backend for
|
||||
GTK+ and applications that want to render independently
|
||||
of the X display. You'll need at least version 2.0.1.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <ulink url="http://www.fontconfig.org">fontconfig</ulink>
|
||||
library provides Pango with a standard way of locating
|
||||
fonts and matching them against font names. The Xft2
|
||||
library, distributed with fontconfig, provide support for
|
||||
scaleable and antialiased fonts on X. Pango includes two
|
||||
backends that work on top of fontconfig: an Xft2 backend
|
||||
and a backend that uses fontconfig and the underlying
|
||||
<ulink url="http://www.freetype.org">FreeType
|
||||
library</ulink> directly. Neither backend is mandatory, but the
|
||||
Xft2 backend is the preferred backend for X and the FreeType
|
||||
backend is needed by many applications.
|
||||
The libraries from the X window system are needed to build
|
||||
Pango and GTK+. You should already have these installed on
|
||||
your system, but it's possible that you'll need to install
|
||||
the development environment for these libraries that your
|
||||
operating system vendor provides. If you have a recent
|
||||
version of the XFree86 system, such as 4.2.0, then Pango
|
||||
and GTK+ will take advantage of the Xft and Xrender
|
||||
libraries to provide anti-aliased and scaleable fonts in
|
||||
a much more sophisticated fashion then the support for
|
||||
core X fonts.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
@@ -273,8 +271,13 @@ How to compile GTK+ itself
|
||||
<link linkend="gtk-compiling">start compiling your own GTK+
|
||||
applications</link>. You can test your GTK+ installation
|
||||
by running the <command>gtk-demo</command> program that
|
||||
GTK+ installs.
|
||||
GTK+ installs. If you have the Xft library, you can turn on
|
||||
anti-aliased fonts by setting the <envar>GDK_USE_XFT</envar>
|
||||
environment variable.
|
||||
</para>
|
||||
<programlisting>
|
||||
GDK_USE_XFT=1 gtk-demo
|
||||
</programlisting>
|
||||
<para>
|
||||
If one of the <filename>configure</filename> scripts fails or running
|
||||
<command>make</command> fails, look closely at the error
|
||||
@@ -285,7 +288,7 @@ How to compile GTK+ itself
|
||||
Looking at the last couple of hundred lines in this file will
|
||||
frequently make clear what went wrong. If all else fails, you
|
||||
can ask for help on the gtk-list mailing list.
|
||||
See <xref linkend="gtk-resources"/> for more information.
|
||||
See <xref linkend="gtk-resources"> for more information.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 id="extra-configuration-options">
|
||||
@@ -332,7 +335,7 @@ How to compile GTK+ itself
|
||||
<arg>--enable-gtk-doc</arg>
|
||||
</group>
|
||||
<group>
|
||||
<arg>--with-xinput=[no|yes]</arg>
|
||||
<arg>--with-xinput=[no|gxi|xfree]</arg>
|
||||
</group>
|
||||
<group>
|
||||
<arg>--with-gdktarget=[x11|linux-fb|win32]</arg>
|
||||
@@ -494,6 +497,9 @@ How to compile GTK+ itself
|
||||
provided by the device such as pressure and tilt
|
||||
information. This is only known to work well on XFree86
|
||||
systems, though other systems do have this extension.
|
||||
(If <systemitem>--with-xinput=gxi</systemitem>
|
||||
is supplied, support for an obsolete and unsupported
|
||||
way of interacting with XInput is compiled.)
|
||||
</para>
|
||||
</formalpara>
|
||||
<formalpara>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user