GTK 4.0 มาพร้อมกับการปรับปรุงเพื่อใช้งานอินเทอร์เฟซแบบกราฟิกการถ่ายโอนข้อมูลและอื่น ๆ

บางวันที่ผ่านมา มีการประกาศเปิดตัว GTK 4.0 เวอร์ชันใหม่ เวอร์ชันที่อยู่ระหว่างการพัฒนาเป็นเวลาหลายเดือนและกลายเป็นสาขาใหม่ที่มีเสถียรภาพของโครงการ เวอร์ชันใหม่นี้นำเสนอคุณสมบัติที่น่าสนใจมากซึ่งเราสามารถเน้นการปรับปรุงในการเล่นสื่อได้

GTK คือชุดของไลบรารีซอฟต์แวร์สำหรับสร้างอินเทอร์เฟซแบบกราฟิกGTK ได้รับการพัฒนาขึ้นเพื่อตอบสนองความต้องการของซอฟต์แวร์ประมวลผลภาพ GIMP ปัจจุบันขอบเขตไม่ได้ จำกัด อยู่แค่ GIMP อีกต่อไป แต่ใช้ในโครงการอื่น ๆ ตัวอย่างเช่น GTK เป็นหัวใจสำคัญของสภาพแวดล้อมแบบจำลองอ็อบเจ็กต์เครือข่าย GNU (GNOME) แต่ยังสามารถใช้เพื่อเขียนแอปพลิเคชันสำหรับสภาพแวดล้อม Linux อื่น ๆ รวมถึงแอปพลิเคชันสำหรับ Microsoft Windows และ Apple macOS

“ GTK 4.0 เป็นผลมาจากการทำงานหนักของทีมนักพัฒนาที่มีความทุ่มเทเพียงเล็กน้อย เราจะมีบทความแยกต่างหากเพื่อพูดคุยเกี่ยวกับสถิติ แต่สรุปสั้น ๆ คือตั้งแต่เดือนพฤศจิกายน 3.89.1 เวอร์ชัน 2016 เราได้เพิ่มคำมั่นสัญญามากกว่า 18,000 รายการและเผยแพร่การพัฒนามากกว่า 20 ฉบับ

“ ขอแสดงความยินดีและขอขอบคุณทุกคนที่มีส่วนร่วมในความพยายามนี้โดยเฉพาะอย่างยิ่งเบนจามินเอ็มมานูเอเลทิมม์คาร์ลอสโจนาสและคริสเตียน! «

เกี่ยวกับ GTK 4.0 เวอร์ชันใหม่

GTK 4.0 แนะนำวิดเจ็ตใหม่และการเปลี่ยนแปลงองค์ประกอบที่มีอยู่ การสนับสนุนในตัวสำหรับการเล่นสื่อการปรับปรุงการเร่งความเร็วของ GPU เช่นการทำงานกับไฟล์ เอ็นจิ้นการเรนเดอร์ Vulkan ใหม่และเข้ากันได้กับ macOS. นอกจากนี้เรายังสามารถสังเกตเห็นการปรับปรุงในการถ่ายโอนข้อมูลเฉดสีที่ออกแบบใหม่การเลื่อนแบบเร่งของ GPU การปรับปรุงการแสดงผล OpenGL นอกเหนือจากงาน Vulkan การกู้คืนงานใน HTMl5 Broadway การสนับสนุน Windows ที่ดีขึ้นเป็นต้น

มาดูบางจุดในเชิงลึกกันดีกว่า

การจัดการสื่อใน GT4

  • GTK 4 จะช่วยให้แอปพลิเคชัน GTK แสดงภาพเคลื่อนไหวได้ง่ายขึ้น ไม่ว่าจะเป็นแอนิเมชันแบบเป็นโปรแกรมไฟล์เก็บถาวรของ Webm หรือการถ่ายทอดสด
  • GTK 4 นำเสนอ API ใหม่ชื่อ GdkPaintable ซึ่งได้รับแรงบันดาลใจจากความพยายามของ CSS Houdini มีความยืดหยุ่นมาก (สิ่งที่คุณวาดได้อาจเป็น GdkPaintable) เนื้อหาสามารถปรับขนาดได้ (เช่น svg) หรือเปลี่ยนแปลงเมื่อเวลาผ่านไป (เช่น webm)
  • หากคุณมีความต้องการเฉพาะทางมากขึ้นสิ่งใดก็ตามที่สามารถจับได้ใน GtkSnapshot สามารถแปลงเป็นภาพวาดได้ด้วย หากคุณกำลังสร้างวิดเจ็ตแบบกำหนดเองที่ต้องการวาดวัตถุเพื่อระบายสีมันง่ายมาก เพียงโทรไปที่ gdk_paintable_snapshot ()
  • คุณสามารถควบคุมมัลติมีเดียได้โดยใช้วิดเจ็ต GtkVideo

การถ่ายโอนข้อมูลใน GTK4

วิธีการถ่ายโอนข้อมูลแบบดั้งเดิม ผู้ใช้เริ่มต้นระหว่างแอปพลิเคชันเดสก์ท็อปคือคลิปบอร์ดหรือลากแล้วปล่อย GTK + รองรับวิธีการเหล่านี้ แต่จนถึง GTK3 API ที่ชุดเครื่องมือมีสำหรับการถ่ายโอนข้อมูลประเภทนี้จะถูกปลอมแปลงสำเนาอย่างประณีตของ X11 API ที่เกี่ยวข้อง ไม่น่าแปลกใจเลยเนื่องจาก GDK API ทั้งหมดได้รับการจำลองแบบใน X11 น่าเสียดายที่การใช้งานมีผลลัพธ์เช่นการถ่ายโอนส่วนเพิ่มและการแปลงรูปแบบสตริง

สำหรับ GTK4 ทีมงานตัดสินใจที่จะละทิ้งแนวทางนี้การเลือกใช้ความทันสมัย นี่คือแนวคิดของแนวทางใหม่:

“ หากข้อมูลที่แอปพลิเคชันของคุณต้องการส่งไม่ใช่สตริงอาจเป็นวัตถุเช่น GFile, GdkTexture หรือ GdkRGBA แอปพลิเคชันฝั่งผู้รับต้องไม่ใช้ GTK หรือ GLib ดังนั้นจึงไม่ทราบถึงประเภทเหล่านี้ และแม้ว่าคุณจะทำเช่นนั้นก็ไม่มีทางที่จะย้ายวัตถุจากกระบวนการหนึ่งไปยังอีกกระบวนการหนึ่งในชิ้นเดียว

“ ข้างในนั้นการถ่ายโอนข้อมูลทำงานโดยการส่งไฟล์อธิบายจากแอปพลิเคชันต้นทางและแอปพลิเคชันปลายทางโดยการอ่านสตรีมไบต์ โปรโตคอลสำหรับคลิปบอร์ดและ DND ใช้ประเภท mime เช่น text / uri-list, image / png หรือ application / x-color เพื่อระบุรูปแบบไบต์สตรีม

การส่งวัตถุเกี่ยวข้องกับการเจรจาต่อรองรูปแบบข้อมูลที่เข้ากันได้สองด้านการจัดลำดับวัตถุทางฝั่งต้นทางให้เป็นไบต์สตรีมของรูปแบบนั้นการถ่ายโอนข้อมูลและการกำหนดค่าสถานะของวัตถุทางฝั่งปลายทาง «

นอกจากนี้ GTK4 มาพร้อมกับ API ใหม่.

“ API แรกที่เราแนะนำเพื่อจัดการกับประเภทเหล่านี้คือออบเจ็กต์ GdkContentFormats สามารถมีรายการรูปแบบซึ่งอาจเป็น GTypes หรือ mime เราใช้ออบเจ็กต์ GdkContentFormats เพื่ออธิบายรูปแบบที่แอปพลิเคชันสามารถนำเสนอข้อมูลตลอดจนรูปแบบที่แอปพลิเคชันสามารถรับข้อมูลได้”

Fuente: https://blog.gtk.org/


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา