if (rEvent.xclient.data.l[0] = pnProtocol[0]) then
writeln('Receiving the input focus.')
else
if (rEvent.xclient.data.l[0] = pnProtocol[1]) then
begin
XCloseDisplay (prDisplay);
halt(0);
end;
end;
end;
β¦
end;
end;
β¦
ΠΠ°ΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅Π°ΠΊΡΠΈΡ Π½Π° Π΄Π²Π° ΡΠΎΠ±ΡΡΠΈΡ: ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΊΡΡΠ° Π²Π²ΠΎΠ΄Π° (WM_TAKE_FOCUS) ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (WM_SAVE_YOURSELF). ΠΠΎΠ³Π΄Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π·Π°Π΄Π°ΡΠ° ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π²ΡΠ²ΠΎΠ΄Π°. ΠΡΠΈ ΠΏΡΠΈΡ ΠΎΠ΄Π΅ ΡΠΎΠ±ΡΡΠΈΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΡΠ²ΡΠ·Ρ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ.
1.5.3 ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° #5 "ΠΠ΅ΠΆΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅"
1. Π‘ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΠΊΡΡΠ° Π²Π²ΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅ΠΊΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠ²Π΅Ρ.
2. Π‘ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΡΡ Π΄Π²Π° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΡΠ΄ΠΎΠΌ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΎΠΊΠ½Π°, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π³ΡΠ°ΡΠΈΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ sin(x) Π½Π° ΠΎΡΡΠ΅Π·ΠΊΠ΅ [0; 2?] ΠΈ exp(x) Π½Π° ΠΎΡΡΠ΅Π·ΠΊΠ΅ [-2; 2]. ΠΡΠ°ΡΠΈΠΊΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠΎΠ½.
3. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠ΅Π΅ ΡΠ²ΠΎΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΌΡΡΡ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»Π° Π² Π΅Π³ΠΎ ΡΠ΅Π½ΡΡΠ΅.
4. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΎΠΊΠ½ΠΎ, "ΡΠ±Π΅Π³Π°ΡΡΠ΅Π΅" ΠΎΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ.
5. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΠΌΡΡΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ (Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 100 ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ), Π° ΠΏΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΠΌΡΡΠΈ Π² Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΌ ΠΎΠΊΠ½Π΅ ΡΠ΄Π°Π»ΡΠ΅Ρ Π΅Π³ΠΎ. ΠΡΠ»ΠΈ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π΅ ΠΎΠΊΠ½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠΈΠ½ΡΡΡ, ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ°ΠΌΠΎΡΠ΄Π°Π»ΡΡΡΡΡ.
6. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠ»ΡΡΠΈΠΈ ΠΊΠ»Π΅ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠ° "ΠΠΈΠ·Π½Ρ", ΡΡΠ΅ΠΉΠΊΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠΌΠ΅Ρ Π΄Π²Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ: ΠΏΡΡΡΠΎ ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ. ΠΡΠ»ΠΈ ΡΡΠ΄ΠΎΠΌ Ρ ΠΏΡΡΡΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΎΠΉ ΡΡΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ , ΠΎΠ½Π° Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ. ΠΡΠ»ΠΈ ΡΡΠ΄ΠΎΠΌ Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΎΠΉ ΠΌΠ΅Π½ΡΡΠ΅ Π΄Π²ΡΡ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ΅Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ , ΡΡΠ΅ΠΉΠΊΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΡΡΠΎΠΉ. Π Π°Π·ΠΌΠ΅ΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ - 64Γ64 ΡΡΠ΅ΠΉΠΊΠΈ, Π²Π½Π°ΡΠ°Π»Π΅ ΠΏΠΎΠ»Π΅ ΠΏΡΡΡΠΎΠ΅. ΠΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ Π»ΡΠ±ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡΡΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ΅, ΠΏΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΏΡΠΎΠ±Π΅Π»Π° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³ ΡΠ²ΠΎΠ»ΡΡΠΈΠΈ, Π° ΠΏΠΎ Π½Π°ΠΆΠ°ΡΠΈΠΈ Escape - Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
ΠΠΎΠ»ΠΈΡΡΠΊ Π.Π., Π‘Π΅ΠΌΠ΅ΡΠΈΠΊΠΎΠ² Π‘.Π. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² X Window. - ΠΡΠΈΠ²ΠΎΠΉ Π ΠΎΠ³: ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΎΡΠ΄Π΅Π» ΠΠΠΠ£, 2003. - 192 Ρ.
ΠΠΎΠ»ΠΈΡΡΠΊ Π.Π., Π‘Π΅ΠΌΠ΅ΡΠΈΠΊΠΎΠ² Π‘.Π. Π‘ΠΎΠ±ΡΡΠΈΠΉΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. - ΠΡΠΈΠ²ΠΎΠΉ Π ΠΎΠ³: ΠΠΠΠ£, 2001. - 336 Ρ.
Π ΠΎΠ±Π°ΡΠ΅Π²ΡΠΊΠΈΠΉ Π.Π. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° UNIX. - Π.: ΠΠ₯Π, 2000. - 518 Ρ.
Adrian Nye. Volume 0: X Protocol Reference Manual, 4rd Edition. - O'Reilly & Associates, 1990. - 446 p.
Adrian Nye. Volume 1: Xlib Programming Manual, 3rd Edition. - O'Reilly & Associates, 1992. - 821 p.
Adrian Nye. Volume 2: Xlib Reference Manual. - O'Reilly & Associates, 1992. - 935 p.
Robert W. Scheifler & James Gettys. X Window System: The Complete Reference to Xlib, X Protocol, ICCCM, XLFD. X Version 11, Release 4. - Digital Press, 1992. - 711 p.