มีชุดเครื่องมือกราฟิก GTK 4.6

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

การปรับปรุงที่โดดเด่นที่สุดใน GTK 4.6 ได้แก่:

  • เอ็นจิ้นการเรนเดอร์ที่ใช้ OpenGL เก่าได้ถูกลบออก และแทนที่ด้วยเอ็นจิ้นการเรนเดอร์ NGL ใหม่ ซึ่งมีให้ตามค่าเริ่มต้นตั้งแต่ GTK 4.2 ซึ่งให้ประสิทธิภาพที่ดีกว่า NGL เปลี่ยนชื่อเป็น GL รหัสการโหลดพื้นผิวได้รับการเขียนใหม่ การรองรับรูปแบบรูปภาพและปริภูมิสีได้รับการปรับปรุง
  • รหัสที่เกี่ยวข้องกับการคำนวณขนาดองค์ประกอบและเค้าโครงวิดเจ็ตได้รับการแก้ไขใหม่อย่างมาก ก่อนหน้านี้ คุณสมบัติ GtkWidget::halign และ GtkWidget::valign จะขึ้นอยู่กับขนาดวิดเจ็ตเริ่มต้นเมื่อวางองค์ประกอบ ซึ่งเมื่อระบุเพียงขนาดเดียวในโหมดเติมพื้นที่ อาจส่งผลให้องค์ประกอบใช้พื้นที่เพิ่มเติม GTK 4.6 นำเสนอความสามารถในการวัดขนาดที่ขาดหายไปโดยสัมพันธ์กัน (เช่น หากระบุความกว้าง ตำแหน่งอาจคำนึงถึงความสูงที่มีอยู่ด้วย) ทำให้วิดเจ็ตบางลงโดยไม่ต้องใช้พื้นที่โดยไม่จำเป็น
    มีชุดเครื่องมือกราฟิก GTK 4.6
    มีชุดเครื่องมือกราฟิก GTK 4.6
  • วิดเจ็ต GtkBox มีความสามารถในการคำนวณขนาดขององค์ประกอบย่อยแต่ละขนาด ในขณะที่ก่อนหน้านี้พื้นที่มีการกระจายอย่างเท่าเทียมกันระหว่างวิดเจ็ตลูกตามขนาดเริ่มต้น GTK 4.6 ตอนนี้จะคำนึงถึงขนาดจริงของเด็กเมื่อส่งออก
  • วิดเจ็ต GtkLabel รองรับการตัดข้อความบนบรรทัดจำนวนเท่าใดก็ได้ ช่วยให้คุณสร้างป้ายกำกับแคบๆ ที่ใช้พื้นที่แนวตั้งที่มีอยู่ได้
  • คลาส GtkWindow ได้เพิ่มความสามารถในการปรับขนาดขั้นต่ำให้เป็นอัตราส่วนภาพ ซึ่งช่วยให้คุณสามารถปรับขนาดหน้าต่างได้ตามใจชอบโดยไม่ต้องกลัวว่าหน้าต่างจะเล็กเกินไป เพิ่มคุณสมบัติ "Window.titlebar"
  • เพิ่มคำเตือนใหม่เกี่ยวกับขนาดที่ไม่ตรงกันหากวิดเจ็ตส่งคืนขนาดที่ไม่ถูกต้อง Gtk-CRITICAL **: 00:48:33.319: gtk_widget_measure: การยืนยัน 'for_size >= ขนาดตรงข้ามขั้นต่ำ' ล้มเหลว: 23 >= 42
  • ขณะนี้วิดเจ็ต GtkTextView รองรับแท็บที่จัดชิดขวาหรือจัดกึ่งกลาง เพิ่มการรองรับสำหรับการแปลงข้อความและการพิจารณาความสูงของบรรทัด ปรับปรุงการเลื่อนไปยังการทำงานของป้ายกำกับที่ระบุ ปรับปรุงการจัดการการเลิกทำการเปลี่ยนแปลง แก้ไขปัญหาเมื่อวางข้อความจากคลิปบอร์ดและเลือกตำแหน่งที่จะแสดงอินเทอร์เฟซการวาง Emoji
  • วิดเจ็ต GtkMenuButton ให้ความสามารถในการกำหนดองค์ประกอบลูกของตัวเอง
  • การคอมไพล์เทมเพลตล่วงหน้าได้รับการเร่งใน GtkBuilder
  • เพิ่มสัญญาณเปิดใช้งานเพื่อเปิดใช้งานวิดเจ็ต GtkComboBox และ GtkDropDown
  • เพิ่มคุณสมบัติ show-arrow ให้กับวิดเจ็ต GtkDropDown เพื่อควบคุมว่าจะแสดงลูกศรหรือไม่
    มีชุดเครื่องมือกราฟิก GTK 4.6
  • เพิ่มแอตทริบิวต์ use-markup ให้กับ GtkPopoverMenu เพื่อใช้มาร์กอัป Pango ในข้อความเมนู
  • ระบบสไตล์รองรับคุณสมบัติ CSS Font-Variant-Caps สำหรับการแสดงตัวพิมพ์ใหญ่ขนาดเล็กและการแปลงข้อความสำหรับการแปลงข้อความ
  • เพิ่มอินเทอร์เฟซ GtkSymbolicPaintable เพื่อควบคุมสีของไอคอนสัญลักษณ์
  • เพิ่มการรองรับการติดตามการดำเนินการลากแล้ววางลงในอินเทอร์เฟซการตรวจสอบ โมดูลอินพุตปัจจุบันได้แสดงแล้ว เพิ่มโปรแกรมดูเนื้อหาคลิปบอร์ดแล้ว ใช้กราฟสำหรับการแสดงภาพ gtk_widget_measure() และความสามารถในการบันทึกเหตุการณ์ ได้รับการจัดเตรียมไว้แล้ว เพิ่มการรองรับโหมด Drag-and-Drop ให้กับยูทิลิตี้ gtk4-node-editor
  • สำหรับ Wayland มีการนำการตั้งค่าเพื่อเปิดใช้งานโหมดคอนทราสต์สูง เพิ่มการรองรับโปรโตคอล wl_seat v7
  • เพิ่มการตั้งค่า gtk-hint-font-metrics เพื่อให้การแสดงข้อความใกล้เคียงกับพฤติกรรมของ GTK3 มากขึ้น
  • สำหรับระบบที่ใช้ X11 เพิ่มการรองรับท่าทางควบคุมทัชแพด (เมื่อใช้ XInput 2.4) และปรับปรุงพฤติกรรมการลากชื่อหน้าต่าง
  • ไลบรารี GDK ซึ่งมีเลเยอร์ระหว่าง GTK และระบบย่อยกราฟิก ได้ปรับปรุงการตรวจสอบเวอร์ชัน OpenGL และ OpenGL ES เพิ่มการรองรับพื้นที่สี HSL เมื่อโหลดพื้นผิวและประมวลผลรูปแบบภาพ ไลบรารี libpng, libjpeg และ libtiff จะเกี่ยวข้องโดยตรง รหัสเริ่มต้น EGL ถูกย้ายไปยังส่วนหน้า เพิ่ม API ใหม่: gdk_texture_new_from_bytes, gdk_texture_new_from_filename, gdk_texture_download_float, gdk_texture_save_to_png_bytes, gdk_texture_save_to_tiff, gdk_texture_save_to_tiff_bytes และ gdk_display_create_gl_context
  • สาขา "หลัก" ในพื้นที่เก็บข้อมูล Git ถูกเปลี่ยนชื่อเป็น "หลัก"

ที่มา: opennet.ru

เพิ่มความคิดเห็น