Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° J2MeΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 27

Автор Автор нСизвСстСн

API Graphics Ρ‚Π°ΠΊΠΆΠ΅ опрСдСляСт Π΄Ρ€ΡƒΠ³ΡƒΡŽ константу, VCENTER, которая Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для указания Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ привязки ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Она Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π° для тСкста. VCENTER обуславливаСт Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ†Π΅Π½Ρ‚Ρ€ изобраТСния Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ Π² ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ (Ρ…, Ρƒ). Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с изобраТСниями Π΄Π°Π»Π΅Π΅ Π² этой Π³Π»Π°Π²Π΅.


Π¨Ρ€ΠΈΡ„Ρ‚Ρ‹. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚ для любого тСкста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΠ»ΠΈ Π² Canvas, ΠΊΠ°ΠΊ дСмонстрируСтся Π² листингС 6.6. Π’Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ ΡˆΡ€ΠΈΡ„Ρ‚, указывая Ρ‚Ρ€ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΡˆΡ€ΠΈΡ„Ρ‚Π°: Π³Π°Ρ€Π½ΠΈΡ‚ΡƒΡ€Π°, ΡΡ‚ΠΈΠ»ΡŒ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€. Класс javax.microedition.lcdui.Font опрСдСляСт для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ константы, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 6.6.


Π’Π°Π±Π»ΠΈΡ†Π° 6.6. ГрафичСскиС константы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ²


ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° β€” ОписаниС

static int FACE MONOSPACE β€” Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Π³Π°Ρ€Π½ΠΈΡ‚ΡƒΡ€Ρ‹

static int FACE_PROPORTIONAL β€” Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Π³Π°Ρ€Π½ΠΈΡ‚ΡƒΡ€Ρ‹

static int FACE SYSTEM β€” Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Π³Π°Ρ€Π½ΠΈΡ‚ΡƒΡ€Ρ‹

static int STYLE BOLD β€” Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° стиля

static int STYLE ITALIC β€” Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° стиля

static int STYLE PLAIN β€” Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° стиля

static int STYLE UNDERLINED β€” Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° стиля

static int SIZE SMALL β€” Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π°

static int SIZE MEDIUM β€” Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π°

static int SIZE LARGE β€” Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π°


Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ спСцификация MIDP Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ прСдоставлСния всСх этих Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², стилСй ΠΈ Π³Π°Ρ€Π½ΠΈΡ‚ΡƒΡ€. Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΡˆΡ€ΠΈΡ„Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ рСализация ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±Π»ΠΈΠΆΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΌΡƒ ΡˆΡ€ΠΈΡ„Ρ‚Ρƒ.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ AWT ΠΈ Swing, Π²Π°ΠΌ Π½Π΅ придСтся ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² ΠΈ нСсмСтноС число Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ². Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ класс Font объявлСн final ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ конструкторов public, Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ подклассы для опрСдСлСния Π½ΠΎΠ²Ρ‹Ρ… ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ². Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΠΈ MIDP Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ число доступных ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ устройства.

Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ссылку Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Font для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΡΠ»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ Graphics.setFont(). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Font, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π·Π²Π°Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² static:


Font.getFont(int face, int style, int size)

Font.get Default Font ()


Π£ΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΡˆΡ€ΠΈΡ„Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²ΠΎ всСх ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… опСрациях ΠΏΠΎ Ρ€ΠΈΡΠΎΠ²Π°Π½ΠΈΡŽ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π²Ρ‹ вновь Π΅Π³ΠΎ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅. Π’ листингС 6.6 ΡˆΡ€ΠΈΡ„Ρ‚ Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π΄ΠΎ создания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… тСкстовых строк ΠΈΠ»ΠΈ символов для достиТСния ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ эффСкта.


ΠžΡ‚ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ областСй для рисования

Когда вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Display.setCurrent(), ΠΎΠ½ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ вашСго Displayable. Для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Canvas рСализация Π΄Π΅Π»Π°Π΅Ρ‚ ваш ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΌ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ вашСго класса paint (Graphics g). РСализация Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ событиС рисования, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ пСрСсылаСтся Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΉ элСмСнт. Π’ этом кроСтся ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ paint() ΡƒΠΊΠ°Π·Π°Π½ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 6.1 ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий API, опрСдСляСмой Canvas.

Π’ΠΎ врСмя отобраТСния нСкоторая Π³Ρ€ΡƒΠΏΠΏΠ° пиксСлСй дисплСя ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½ΠΎΠΉ. ΠΠ΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½Ρ‹ΠΉ пиксСль β€” это Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΈΠ΄ΠΈΠΌ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ рисования, Π½ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ Π² качСствС части Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ рисования. ДисплСй ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ Π΄Ρ€ΡƒΠ³ΠΈΠΌ MID-Π»Π΅Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ «внСшним» ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ сообщСний, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ обновляСт дисплСй для отобраТСния получСния сообщСния SMS вашим ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠΌ.

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ самому Ρ€ΠΈΡΠΎΠ²Π°Π½ΠΈΡŽ, ваш Canvas обязан ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ всС пиксСли, появившиСся Π½Π° экранС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π΅Π³ΠΎ внСшнСго Π²ΠΈΠ΄Π°. Π’Ρ‹ восстанавливаСтС экран, обновляя Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ пиксСли.

Π’Ρ‹, нСсомнСнно, ΡƒΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ»ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° paintClipRect (Graphics g) Π² листингС 6.3. Π’ листингС 6.7 повторяСтся этот ΠΌΠ΅Ρ‚ΠΎΠ΄. Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠ΄, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ paint (Graphics g) ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ прилоТСния. Π•Π³ΠΎ Ρ†Π΅Π»ΡŒ состоит Π² ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ всСх пиксСлСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ нарисованы ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ рисования.


Листинг 6.7. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ всС Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ пиксСли, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ свой ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ отсСкаСмый ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ графичСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° вашСго ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, которая содСрТит всС ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½Ρ‹Π΅ пиксСли


protected void paintClipRect(Graphics g)

int clipX = g.getClipX (); int clipY = g.getClipY();

int clipH = g.getClipHeight(); int clipW = g.getClipWidth();

int color = g.getColor();

g. setColor(WHITE);

g. fillRect(clipX, clipY, clipW, clipH);

g. setColor(color);

}


ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ отсСкаСмый ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Graphics. ΠžΡ‚ΡΠ΅ΠΊΠ°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ являСтся ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ, которая содСрТит всС Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ пиксСли экрана. ΠžΡ‚ΡΠ΅ΠΊΠ°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ опрСдСляСтся Π΅Π³ΠΎ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ΠΌ (Ρ…, Ρƒ) ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Graphics, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅Π³ΠΎ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ ΠΈ высотой.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ отсСкаСмый ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Π²Ρ‹Π·Π²Π°Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Graphics:


int getClipHeight ()

int getClipWidth ()

int getClipX()

int getClipY()


ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° paint (Graphics g) отсСкаСмый ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ всСгда прСдставляСт ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, которая содСрТит всС ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½Ρ‹Π΅ пиксСли дисплСя. Π’ случаях, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π² этой Π³Π»Π°Π²Π΅, Π³Π΄Π΅ Π²Ρ‹ замСняСтС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ экрана Π½ΠΎΠ²Ρ‹ΠΌ, отсСкаСмый ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ прСдставляСт всю ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дисплСя устройства.

Π‘Π°ΠΌΡ‹ΠΉ Π»Π΅Π³ΠΊΠΈΠΉ способ Β«ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒΒ» Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ пиксСли β€” это ΠΏΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ пиксСль Π² отсСкаСмом ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†Π²Π΅Ρ‚Π° Ρ„ΠΎΠ½Π° экрана, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π², Ρ‡Ρ‚ΠΎ Π²Ρ‹ стСрли всС ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½Ρ‹Π΅ пиксСли. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ выполняСтС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ Ρ€ΠΈΡΠΎΠ²Π°Π½ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ вашим Canvas, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π°.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² листингС 6.7 ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΈ сохраняСт Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ†Π²Π΅Ρ‚ дисплСя, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт Ρ†Π²Π΅Ρ‚ Ρ€ΡƒΡ‡ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ рисования. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ†Π²Π΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ. Код Π·Π°Ρ‚Π΅ΠΌ устанавливаСт Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ†Π²Π΅Ρ‚ Π½Π° Π±Π΅Π»Ρ‹ΠΉ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ являСтся Ρ†Π²Π΅Ρ‚ΠΎΠΌ Ρ„ΠΎΠ½Π°) ΠΈ заполняСт отсСкаСмый ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π±Π΅Π»Ρ‹ΠΌΠΈ пиксСлями, эффСктивно «стирая» всС ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½Ρ‹Π΅ пиксСли. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ΄ восстанавливаСт ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Graphics. ΠŸΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ Ρ€ΠΈΡΠΎΠ²Π°Π½ΠΈΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ пиксСли Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π°, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΎΡ‚ Π±Π΅Π»ΠΎΠ³ΠΎ, Π½Π° Π±Π΅Π»ΠΎΠΌ Ρ„ΠΎΠ½Π΅.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях отсСкаСмый ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ дисплСя. Π’ этих случаях Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСкоторая Ρ‡Π°ΡΡ‚ΡŒ дисплСя Π±Ρ‹Π»Π° ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π°. Π’Π°ΡˆΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ пСрСрисовку всСго экрана, Π½ΠΎ Π΅ΠΌΡƒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ это. Оно ΠΌΠΎΠΆΠ΅Ρ‚ просто Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ лишь ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ.

ΠŸΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, которая нуТдаСтся Π² пСрСрисовкС, являСтся пСрСсСчСниСм области, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ вашим Canvas, ΠΈ отсСкаСмым ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· пиксСлСй вашСго дисплСя относятся ΠΊ этой области, Π½Π°Π»ΠΎΠΆΠΈΠ² отсСкаСмый ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π½Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ, ΠΊΠ°ΠΊ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ваш Canvas ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ для отобраТСния. ΠœΠ΅Ρ‚ΠΎΠ΄

void clipRect(int x, int Ρƒ, int width, int height)

устанавливаСт отсСкаСмый ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΊΠ°ΠΊ пСрСсСчСниС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ отсСкаСмого ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΈ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, β€” области, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ вашим Canvas. Π’Π°ΡˆΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· пиксСлСй относятся ΠΊ этому Π½ΠΎΠ²ΠΎΠΌΡƒ отсСкаСмому ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΡƒ, ΠΈ ΠΏΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ….

Π’Ρ‹Π·ΠΎΠ² clipRect () всСгда создаСт отсСкаСмый ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ мСньшСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ любой Ρ€Π°Π·ΠΌΠ΅Ρ€ отсСкаСмого ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°:

setClipfint x, int Ρƒ, int width, int height)

Π’Π°Ρˆ Canvas нуТдаСтся Π² пСрСрисовкС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅Ρ… пиксСлСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄ΠΏΠ°Π΄Π°ΡŽΡ‚ ΠΏΠΎΠ΄ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ пСрСсСчСния, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ отсСкаСмый ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ всСх ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½Ρ‹Ρ… пиксСлСй. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, вычислСниС этой области ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТным, Ρ‡Π΅ΠΌ простая пСрСрисовка всСго Canvas. Но Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ отсСкаСмого ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ ΠΈΠ»ΠΈ ΠΎΡ‚Π½ΠΈΠΌΠ°ΡŽΡ‰ΡƒΡŽ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΈ вычислСнии Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ пиксСли Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ.

Π”Ρ€ΡƒΠ³ΠΈΠΌ стандартным ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ отсСчСния являСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ являСтся каркасом, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ Ρ„Π°Π½Ρ‚ΠΎΠΌ, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ нСбольшим ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡ΠΊΠΎΠΌ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ отсСчСния, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² листингС 6.7, Π²Ρ‹ рисуСтС Ρ„ΠΎΠ½ области, Π³Π΄Π΅ Ρ„Π°Π½Ρ‚ΠΎΠΌ располоТСн Π² настоящСС врСмя, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ рисуСтС Ρ„Π°Π½Ρ‚ΠΎΠΌ Π² Π΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.

На самом Π΄Π΅Π»Π΅ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ устройствС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, рСализация, показанная Π² листингС 6.7, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ довольно Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠ΅ ΠΈ Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠ΅Ρ€Ρ†Π°Π½ΠΈΠ΅ экрана ΠΏΡ€ΠΈ Π΅Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ. Π’Ρ‹, вСроятно, Π½Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π²ΡΠΏΡ‹ΡˆΠΊΠΈ Π»Ρ€ΠΈ использовании эмулятора ΠΈΠ·-Π·Π° скорости вашСго ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ «Двойная буфСризация» Π΄Π°Π»Π΅Π΅ Π² этой Π³Π»Π°Π²Π΅ Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.