GTK 3.96,GTK 4 的實驗版本,已發布

10個月後 過去的 測試發布 提出了 GTK 3.96是即將推出的 GTK 4 穩定版本的新實驗版本。GTK 4 分支是作為新開發流程的一部分而開發的,該流程試圖為應用程式開發人員提供穩定且受支援的 API,可以使用多年而無需擔心由於下一個GTK 分支中的API 發生變化,必須每六個月重寫一次應用程式。 在 GTK 4 完全穩定之前,建議繼續使用該分支建立提供給用戶的應用程式 GTK 3.24.

主要的 變化 在 GTK 3.96 中:

  • 在API中 葛蘭素史克公司 (GTK 場景套件),它透過 OpenGL 和 Vulkan 提供圖形場景的渲染,已經完成了錯誤處理工作,由於新的調試工具 gtk4-node-editor,這些錯誤變得更容易識別,該工具允許您加載和顯示序列化格式的渲染節點(可以在檢查模式GTK檢查器中儲存),並且還可以比較使用不同後端時的渲染結果;

    GTK 3.96,GTK 4 的實驗版本,已發布

  • 3D 變換功能已達到允許您創建旋轉立方體等動畫效果的水平;

    GTK 3.96,GTK 4 的實驗版本,已發布

  • 充分 重寫 Broadway GDK 後端設計用於在 Web 瀏覽器視窗中呈現 GTK 庫輸出。 舊的 Broadway 實作不適合 GTK 4 中提出的渲染方法(它現在使用基於渲染節點的模型,而不是輸出到緩衝區,其中輸出以高級操作樹的形式組成, GPU 使用 OpenGL 和 Vulkan 進行有效處理)。
    新的 Broadway 選項將渲染節點轉換為具有 CSS 樣式的 DOM 節點,以便在瀏覽器中渲染介面。 每個新的螢幕狀態都被處理為 DOM 樹相對於先前狀態的更改,這減少了傳輸到遠端客戶端的資料大小。 3D變換和圖形效果是透過CSS的transform屬性實現的;

  • GDK 繼續實作以 Wayland 協定設計的 API,並清理基於 X11 的 API 或將它們移至單獨的 X11 後端。 不再使用子曲面和全局座標的工作取得了進展。 GDK 中刪除了對 GDK_SURFACE_SUBSURFACE 的支援;
  • 繼續重構與執行拖放操作相關的程式碼,包括建議單獨的 GdkDrag 和 GdkDrop 物件;
  • 事件處理已簡化,現在僅用於輸入。 其餘事件被替換為單獨的訊號,例如,建議使用訊號“GdkSurface::render”代替輸出事件,而不是配置事件 - “GdkSurface::size-changed”,而不是映射事件 - “GdkSurface: :mapped”,而不是gdk_event_handler_set() - “GdkSurface::event”;
  • Wayland 的 GDK 後端新增了對用於存取 GtkSettings 設定的入口網站介面的支援。 為了與輸入法配合使用,已提議支援 text-input-unstable-v3 協議擴展;
  • 為了開發小部件,引入了一個新的 GtkLayoutManager 對象,並實作了一個系統,用於根據可見區域的佈局來控制元素的佈局。 GtkLayoutManager 取代 GTK 容器(例如 GtkBox 和 GtkGrid)中的子屬性。 提出了幾種現成的佈局管理器:GtkBinLayout 用於具有一個子元素的簡單容器,GtkBoxLayout 用於線性對齊子元素,GtkGridLayout 用於將子元素與網格對齊,GtkFixedLayout 用於任意定位子元素,GtkCustomLayout 用於基於size_allocate 轉換傳統元素處理程序;
  • 用於子元素頁面顯示的公共可存取物件已新增至 GtkAssistant、GtkStack 和 GtkNotebook 小工具中,這些小工具的非佈局相關子屬性將傳輸到這些小工具。 由於所有現有的子屬性都已轉換為常規屬性、佈局屬性或移至頁面對象,因此已從 GtkContainer 中完全刪除了對子屬性的支援;
  • 核心 GtkEntry 功能已移至新的 GtkText 小部件,其中還包括增強的 GtkEditable 編輯介面。 所有現有的資料輸入子類別都已基於新的 GtkText 小部件重新製作為 GtkEditable 實作;
  • 為密碼輸入表單新增了新的 GtkPasswordEntry 小工具;
  • GtkWidgets 新增了使用透過 CSS 或 GskTransform 的 gtk_widget_allocate 參數指定的線性變換方法來變換子元素的功能。 指定的功能已經應用在 GtkFixed 小工具中;
  • 新增了新的清單產生模型:GtkMapListModel、GtkSliceListModel、GtkSortListModel、GtkSelectionModel 和 GtkSingleSelection。 未來我們計劃在 GtkListView 中加入對清單模型的支援;
  • GtkBuilder 增加了在本機(內聯)設定物件屬性的功能,而不是透過識別碼使用連結;
  • 向 gtk4-builder-tool 添加了命令,用於將 UI 檔案從 GTK 3 轉換為 GTK 4;
  • 關鍵主題、表格選單和組合框的支援已停止。 GtkInvisible 小工具已被刪除。

    來源: opennet.ru

添加評論