ΠΠΎΡΡΡΠΏΠ΅Π½ Π΅ Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π»ΠΈΠ· Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Louvre 1.2.0, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΏΠΎΠ΅ΠΌΠ° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π½ΠΈΡΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡΠ΅ Π±ΡΡΠ΅ΡΠΈ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π²Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡΠ΅ API Π² Linux, ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π³ΠΎΡΠΎΠ²ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland. ΠΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΈΡΡ ΡΡΡΠ²ΡΡ, ΡΡΠ·Π΄Π°Π΄Π΅Π½ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Louvre, ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΠ΅ΡΡΡΡΠΈ ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ° ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Weston ΠΈ Sway. ΠΠΎΠ΄ΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C++ ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ GPLv3. ΠΡΠ΅Π³Π»Π΅Π΄ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Louvre ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ Π² Π°Π½ΠΎΠ½ΡΠ° Π½Π° ΠΏΡΡΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½Π΅ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° ΠΌΠ°ΡΠ°Π±Π° (fractional scale) ΠΈ Π·Π° ΠΏΡΠ΅ΠΎΡΠ΅ΠΌΠΏΠ»ΠΈΡΠ°Π½Π΅ (oversampling) Ρ ΡΠ΅Π» Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ΅ ΠΎΡ ΡΠ³Π»Π°ΠΆΠ΄Π°Π½Π΅ ΠΏΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΌΠ°ΡΠ°Π±Π°. ΠΠ° Π΄ΡΠΎΠ±Π½ΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Wayland-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΡΡ fractional-scale.
- Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° tearing-control Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π²Π΅ΡΡΠΈΠΊΠ°Π»Π½Π°ΡΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ (VSync) Ρ ΠΊΠ°Π΄ΡΠΎΠ²ΠΈ Π³Π°ΡΠ΅Ρ ΠΈΠΌΠΏΡΠ»Ρ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° ΡΠ°Π·ΡΠΈΠ²Π° (tearing) ΠΏΡΠΈ Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΡΠ» Π΅ΠΊΡΠ°Π½. Π ΠΌΡΠ»ΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ°Π·ΠΊΡΡΠ²Π°Π½ΠΈΡ Π΅ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»Π΅Π½ Π΅ΡΠ΅ΠΊΡ, Π½ΠΎ Π² ΠΈΠ³ΡΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Ρ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΎΠ»Π΅ΡΠΈΡΠ°, Π°ΠΊΠΎ Π±ΠΎΡΠ±Π°ΡΠ° Ρ ΡΡΡ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π·Π°Π±Π°Π²ΡΠ½ΠΈΡ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π½Π° Π³Π°ΠΌΠ°ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Wayland-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° wlr-gamma-control.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Wayland-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Β«viewporterΒ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ΅Π·Π°Π½ΠΈΡ ΠΊΡΠ°ΡΠ² ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΡΡΠ²ΡΡ.
- Π ΠΊΠ»Π°ΡΠ° LPainter ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΡ ΡΠ΅ΠΊΡΡΡΡΠΈ Ρ Π²ΠΈΡΠΎΠΊΠ° ΡΠΎΡΠ½ΠΎΡΡ ΠΈ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
- Π ΠΊΠ»Π°ΡΡΠ΅ LTextureView ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² (Β«source rectΒ», ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ) ΠΈ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΊΠ»Π°Ρ LBitset Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΏΡΠΈ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ»Π°Π³ΠΎΠ²Π΅ ΠΈ ΡΡΡΡΠΎΡΠ½ΠΈΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
