end;
KeyPress:
begin
(* ΠΠ°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ *)
XCloseDisplay(prDisplay);
halt(0);
end;
end;
end;
end.
ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°:
fpc hello.pas
ΠΠ΄Π΅ΡΡ fpc - ΠΈΠΌΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ppc386).
Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡΡ UNIX Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π½ΠΎ ΠΈ ΡΠ°ΠΌΡΠ΅ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΡ , ΠΏΠΎ Π½Π°ΡΠ΅ΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠ½ΡΡΠ° (Anjuta). ΠΠ΅ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ - ΠΈΠ½Π΄ΠΈΠΉΡΠΊΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΠ°Π±Π° ΠΡΠΌΠ°Ρ - ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΠ»ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΌΡ ΡΡΠ²ΡΡΠ²ΠΎΠ²Π°Π»ΠΈ ΡΠ΅Π±Ρ Π² Π½Π΅ΠΉ ΠΊΠΎΠΌΡΠΎΡΡΠ½ΠΎ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π² ΠΠ½ΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠ°ΠΉΠ» ΡΠ²ΠΎΠΉΡΡΠ² ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (~/.anjuta/session.properties) ΡΡΡΠΎΠΊΡ
character.set=204
ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° FreePascal Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ "ΠΠΎΠΌΠ°Π½Π΄Ρ" ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ:
ΠΠ° ΡΠΈΡ. 1.3 ΠΏΠΎΠΊΠ°Π·Π°Π½ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ Π΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°.
Π ΠΈΡ. 1.3. ΠΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ xhello Π² ΡΡΠ΅Π΄Π΅ KDE
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ΄ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Xlib: XOpenDisplay(), XCreateSimpleWindow() ΠΈ Π΄Ρ. ΠΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΡ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΌΠ°ΠΊΡΠΎΡΡ ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ -ΠΌΠΎΠ΄ΡΠ»ΡΡ : Xlib, Xutil, X, X11.
ΠΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ½Π° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ²ΡΠ·ΠΈ Ρ Π₯-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. ΠΠ΅Π»Π°Π΅Ρ ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ XOpenDisplay(). ΠΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅Ρ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π½Π°Π΄ΠΎ ΡΠ²ΡΠ·Π°ΡΡΡΡ. ΠΡΠ»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° XOpenDisplay () ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ nil, ΡΠΎ ΠΎΠ½Π° ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π΄Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ (environment) DISPLAY. Π Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ: host:server.screen, Π³Π΄Π΅ host - ΠΈΠΌΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ²Π΅Ρ, server - Π½ΠΎΠΌΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° (ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΎ 0), Π° screen - ΡΡΠΎ Π½ΠΎΠΌΠ΅Ρ ΡΠΊΡΠ°Π½Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΏΠΈΡΡ kiev:0.0 Π·Π°Π΄Π°Π΅Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ kiev, Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΡΠΊΡΠ°Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ 0. ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π½ΠΎΠΌΠ΅Ρ ΡΠΊΡΠ°Π½Π° ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ.
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° XOpenDisplay() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ ΡΠΈΠΏΠ° TDisplay. ΠΡΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ , ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈ ΡΠΊΡΠ°Π½Π°Ρ . Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ, Ρ.ΠΊ. ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°Ρ Xlib.
XOpenDisplay() ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ X ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ TCP ΠΈΠ»ΠΈ DECnet, ΠΈΠ»ΠΈ ΠΆΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΡΠ»ΠΈ ΠΈΠΌΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈ Π½ΠΎΠΌΠ΅Ρ Π΄ΠΈΡΠΏΠ»Π΅Ρ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ Π·Π½Π°ΠΊΠΎΠΌ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΡ (:), ΡΠΎ XOpenDisplay() ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° TCP. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΈΠΌΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΎ ΠΎΡ Π½ΠΎΠΌΠ΅ΡΠ° Π΄ΠΈΡΠΏΠ»Π΅Ρ Π΄Π²ΠΎΠΉΠ½ΡΠΌ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ΠΌ (::), ΡΠΎ Π΄Π»Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» DECnet. ΠΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΏΠΎΠ»Ρ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ°ΡΠΈΠ½Ρ Π² ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΈΡΠΏΠ»Π΅Ρ, ΡΠΎ Π΄Π»Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΠ΅ ΠΈΠ· Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ². ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ X ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π²ΡΠ΅, ΡΠ°ΠΊ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΡΠ²ΡΠ·ΠΈ. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Xlib ΠΌΠΎΠ³ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ.
ΠΡΠ»ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΎ ΡΠ΄Π°ΡΠ½ΠΎ, XOpenDisplay() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ TDisplay, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π² Xlib.pp. ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ, ΡΠΎ XOpenDisplay() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ NIL. ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° XOpenDisplay() ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΡΠ΅ ΡΠΊΡΠ°Π½Ρ Π΄ΠΈΡΠΏΠ»Π΅Ρ. ΠΠΎΠΌΠ΅Ρ ΡΠΊΡΠ°Π½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ XDefaultScreen(). ΠΠΎΡΡΡΠΏ ΠΊ ΠΏΠΎΠ»ΡΠΌ ΡΡΡΡΠΊΡΡΡ TDisplay ΠΈ TScreen Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ²ΡΠ·Ρ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° "Hello" ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½ΠΎΠΌΠ΅Ρ ΡΠΊΡΠ°Π½Π°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ XDefaultScreen(), Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π°. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ nScreenNum ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ 0 Π΄ΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ (ScreenCount(prDisplay)-1). ΠΠ°ΠΊΡΠΎΡ XScreenCount() ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΡΠ»ΠΎ ΡΠΊΡΠ°Π½ΠΎΠ², ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π³ - ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° ΠΈ ΠΏΠΎΠΊΠ°Π· Π΅Π³ΠΎ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ XCreateWindow() ΠΈΠ»ΠΈ XCreateSimpleWindow(). ΠΠ»Ρ ΠΏΡΠΎΡΡΠΎΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π²ΡΠΎΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°Π΄Π°ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΎΠΊΠ½Π°.
PrWind:= XCreateSimpleWindow (
prDisplay, (* ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ TDisplay, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠ²Π΅Ρ *)
XRootWindow(prDisplay, nScreenNum), (* ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ *)
WND_X, WND_Y, (* Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ x ΠΈ y ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠ³Π»Π° ΠΎΠΊΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ *)
WND_WIDTH, WND_HEIGHT, (* ΡΠΈΡΠΈΠ½Π° ΠΎΠΊΠ½Π° ΠΈ Π²ΡΡΠΎΡΠ° ΠΎΠΊΠ½Π° *)
WND_BORDER_WIDTH, (* ΡΠΈΡΠΈΠ½Π° ΠΊΡΠ°Ρ ΠΎΠΊΠ½Π° *)
XBlackPixel(prDisplay, nScreenNum), (* ΡΠ²Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π½Π΅Π³ΠΎ ΠΏΠ»Π°Π½Π° ΠΎΠΊΠ½Π° *)
XWhitePixel(prDisplay, nScreenNum) (* ΡΠ²Π΅Ρ ΡΠΎΠ½Π° ΠΎΠΊΠ½Π° *)
);
ΠΠ»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ² ΠΎΠΊΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ XBlackPixel() ΠΈ XWhitePixel(). ΠΠ½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΈΡΠ°ΡΡΡΡ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΈΡΠΏΠ»Π΅Π΅ ΠΈ ΡΠΊΡΠ°Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ "ΡΠ΅ΡΠ½ΠΎΠΌΡ" ΠΈ "Π±Π΅Π»ΠΎΠΌΡ" ΡΠ²Π΅ΡΠ°ΠΌ. Π€ΡΠ½ΠΊΡΠΈΡ XCreateSimpleWindow() (XCreateWindow()) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° TWindow. ΠΡΠΎ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΠ΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.
Π‘ΡΠ΅Π΄ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠΎΠ·Π΄Π°ΡΡΠΈΡ ΠΎΠΊΠ½Π°, Π΅ΡΡΡ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° ΠΈ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ. ΠΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ X Window. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ "ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ΅" ΠΎΠΊΠ½ΠΎ ΡΠΊΡΠ°Π½Π°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° ΠΈ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΎΠΊΠΎΠ½. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΎΠΊΠΎΠ½, ΡΠΎΠΎΠ±ΡΠΈΠ² Π΅ΠΌΡ ΡΠ²ΠΎΠΈ "ΠΏΠΎΠΆΠ΅Π»Π°Π½ΠΈΡ" Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ XSetWMProperties().
ΠΠ· Π»ΠΈΡΡΠΈΠ½Π³Π° Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
β’ ΠΈΠΌΡ (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ) ΠΎΠΊΠ½Π°;
β’ ΠΈΠΌΡ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠΊΠ½Π°;
β’ ΡΠ°ΠΌΡ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ;
β’ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ argc ΠΈ argv, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΠΎΡ UNIX ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅;
β’ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°, Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ, Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΎ Π΅Π³ΠΎ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΠΈ.
ΠΠΌΡ ΠΎΠΊΠ½Π° ΠΈ ΠΈΠΌΡ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Ρ Π² "ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°", ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΠ΅ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ ΡΠΈΠΏΠ° TXTextProperty. ΠΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ XStringListToTextProperty().
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΠΈ ΠΎΠΊΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΡΡΠΊΡΡΡΠ° TXSizeHints.
X Window ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
β’ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠΊΠ½Π°: Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅;
β’ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π»ΠΈ ΠΎΠΊΠ½ΠΎ Π²Π²ΠΎΠ΄ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ;
β’ ΠΊΠ»Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π΅Π΅ ΠΈΠΌΡ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ².
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ "ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ" ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΎΠΊΠΎΠ½ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ XSelectInput(). ΠΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π±ΠΈΡΠΎΠ²ΡΡ ΠΌΠ°ΡΠΎΠΊ (ΡΠ»Π°Π³ΠΎΠ²). Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ (ExposureMask or KeyPressMask). ExposureMask ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ X Window, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ Expose. ΠΠ½ΠΎ ΠΏΠΎΡΡΠ»Π°Π΅ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠΊΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΎ. KeyPressMask Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ KeyPress - Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΎ, Π½ΠΎ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅. Π§ΡΠΎΠ±Ρ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ, Π½Π°Π΄ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ XMapWindow(). ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΈΠ·-Π·Π° Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Xlib, ΠΎΠΊΠ½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎ Π½Π°ΡΠΈΡΠΎΠ²Π°Π½ΠΎ, ΠΏΠΎΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡ ΠΊ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° XNextEvent().
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ X ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΡΡΠΈ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ. ΠΠΎΡΡΠΎΠΌΡ, ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠΊΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΎ, Π·Π°Π΄Π°Π½Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΎΠΊΠΎΠ½, ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π΅Π΅ ΡΠ°Π±ΠΎΡΠ° - ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ°ΡΡΡΡ Π½Π° Π½ΠΈΡ . ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠΎ Π² Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅. ΠΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ "Π²ΡΠ½ΠΈΠΌΠ°Π΅ΡΡΡ" ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ XNextEvent(). Π‘Π°ΠΌΠΎ ΠΎΠ½ΠΎ Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ° XEvent, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ (Expose, KeyPress ΠΈ Ρ.Π΄.) ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ Π΄Π°Π½Π½ΡΠ΅ (ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π² ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ XEvent).
ΠΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Expose ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅Ρ ΠΎΠΊΠ½ΠΎ. ΠΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ. ΠΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ»Π°Π½ΠΎ Π½Π°ΡΠ΅ΠΌΡ ΠΎΠΊΠ½Ρ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ»ΡΡΠ°Π΅Π²:
β’ Π΄ΡΡΠ³ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ»ΠΎ ΡΠ°ΡΡΡ Π½Π°ΡΠ΅Π³ΠΎ;
β’ Π½Π°ΡΠ΅ ΠΎΠΊΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ ΠΏΠΎΠ²Π΅ΡΡ Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ ΠΎΠΊΠΎΠ½;
β’ Π½Π°ΡΠ΅ ΠΎΠΊΠ½ΠΎ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅;
β’ Π½Π°ΡΠ΅ ΠΎΠΊΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ.
ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΎΠ±ΡΡΠΈΠ΅ Expose, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π·ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΈΠ· ΡΠ»Π΅Π½Π° xexpose ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ XEvent. ΠΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ:
β’ count - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ Expose, ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΠ΅ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΊΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ΡΡΠ΄ - ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡ ΠΎΠΊΠ½ΠΎ, ΠΏΠΎΠΊΠ° ΠΌΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΈΠ· ΠΈΡ (ΡΠΎ Π΅ΡΡΡ ΠΏΠΎΠΊΠ° count Π½Π΅ ΡΠ°Π²Π½ΠΎ 0).
β’ window - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΎΠΊΠ½Π°, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π±ΡΠ»ΠΎ ΠΏΠΎΡΠ»Π°Π½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Expose (Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π»ΠΎ ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠΊΠ½Π°Ρ ).
β’ x, y - ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠ³Π»Π° ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΠΊΠ½Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π°.
β’ width, height - ΡΠΈΡΠΈΠ½Π° ΠΈ Π²ΡΡΠΎΡΠ° ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΠΊΠ½Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π°.