10 áá¡ááŒá¬
á¡ááá
- API ááœááº
GSK OpenGL ááŸáá·áº Vulkan ááŸáá áºááá·áº ááááºáá áºááŒááºááœááºážáá»á¬ážááᯠáááºáááºáá±ážááá·áº (GTK Scene Kit)á áááºážááẠá¡ááŸá¬ážá¡ááœááºážáá»á¬ážááŒáá·áº áá¯ááºáá±á¬ááºáá²á·ááŒá®ážá áááºá¡á¬áž áááºá ááŒáááá¯ááºááá·áº á¡ááŸá¬ážááŸá¬áá°ážááºá¡áá Ạgtk4-node-editor ááŒá±á¬áá·áº ááŸá¬ááœá±áá±á¬áºáá¯ááºááẠááá¯ááá¯ááœááºáá°áá¬áá²á·áááºá rendering node ááᯠá¡ááŸááºá ááºááá¯ááºáá±á¬áºáááºááŒáá·áº (á á áºáá±ážáá±ážáá¯áẠGTK á á áºáá±ážáá±ážááŸá°ážááœáẠááááºážáááºážáá¬ážááá¯ááºáááº) ááŸáá·áº ááá°áá®áá±á¬ áá±á¬ááºáá¶áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááá·áºá¡áá« áááºáááºááŸá¯ááááºáá»á¬ážááᯠááŸáá¯ááºážááŸááºáá«á - 3D á¡ááœááºááŒá±á¬ááºážááá¯ááºááŸá¯á
áœááºážáááºáá»á¬ážááẠááŸáá·áºáááºáá±áá±á¬ cube áá²á·ááá¯á·áá±á¬ áá¬ááœááºážá¡áá»áá¯ážáááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáááºáá®ážááá¯ááºá
á±ááá·áº á¡ááá·áºáá
áºáá¯ááá¯á· ááá¯á·áá±á¬ááºáá¬ážáááºá
- á¡ááŒááºá·á¡á
ááŒááºáá±ážáááºá áááºááá±á¬ááºáá¬áááºážááá¯ážááœáẠGTK áá áºáá»á áºáááºá¡ááœááºááá¯ááŒáááẠáá®ááá¯ááºážáá¯ááºáá¬ážáá±á¬ Broadway GDK áá±á¬ááºáá¶ááá¯ááºá Broadway á¡áá±á¬ááºážá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááẠGTK 4 ááœááºáááºááŒáá¬ážáá±á¬ rendering method ááŸáá·áº áááá¯ááºáá®áá« (ááᯠbuffer ááá¯á· output á¡á á¬ážá output ááẠhigh-level operations ááá áºáááºáá¯á¶á á¶ááŒáá·áºááœá²á·á ááºážáá¬ážááá·áº render node áá»á¬ážá¡áá±á«áºá¡ááŒá±áá¶ááá·áº model ááá¯á¡áá¯á¶ážááŒá¯áá¬ážááŒá®ážá OpenGL ááŸáá·áº Vulkan ááᯠá¡áá¯á¶ážááŒá¯á GPU á០áááá±á¬ááºá áœá¬ áá¯ááºáá±á¬ááºááá¯ááºáááº)á
Broadway ááœá±ážáá»ááºááŸá¯á¡áá áºááẠááá±á¬ááºáá¬ááŸá á¡ááºáá¬áá±á·á áºááᯠáááºáááºáááºá¡ááœáẠCSS á ááá¯ááºáá»á¬ážááŒáá·áº render node áá»á¬ážááᯠDOM node á¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá±ážáááºá áá»ááºááŸá¬ááŒááºá¡ááŒá±á¡áá±á¡áá áºáá áºáá¯á á®ááᯠDOM áá áºáááºááœáẠááááºá¡ááŒá±á¡áá±ááŸáá·áº áááºá ááºááŒá±á¬ááºážáá²ááŸá¯á¡ááŒá Ạáá¯ááºáá±á¬ááºááŒá®áž á¡áá±ážááááºážáááá¯ááºážááá·áºáᶠáá±ážááá¯á·ááá·áºáá±áá¬á¡ááœááºá¡á á¬ážááᯠáá»áŸá±á¬á·áá»áá±ážáááºá CSS á¡ááœááºááŒá±á¬ááºážááŸá¯ ááá¯ááºááá¯ááºááŸá¯ááŸáááá·áº 3D á¡ááœááºááŒá±á¬ááºážááŒááºážááŸáá·áº ááááºáá áºáááºáá±á¬ááºááŸá¯áá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáááºá - GDK ááẠWayland áááá¯ááá¯áá±á¬ááŒáá·áº áá®ááá¯ááºážáá¯ááºáá¬ážáá±á¬ API áá»á¬ážááᯠáááºáááºá¡áá±á¬ááºá¡áááºáá±á¬áºáá±ááŒá®áž X11-based APIs áá»á¬ážááᯠááŸááºážáááºážáá« ááá¯á·ááá¯áẠáááºážááá¯á·á¡á¬áž áá®ážááŒá¬áž X11 áá±á¬ááºáá¶ááá¯á· ááœáŸá±á·áá¬ážáááºá ááá±ážáá»ááºááŸá¬ááŒááºáá»á¬ážááŸáá·áº ááá¹áá¬áá¯á¶ážááá¯ááºáᬠááŒááááááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá០áá±ážáá¬ááá¯á·ááœáŸá±á·ááẠá¡áá¯ááºááœáẠááá¯ážáááºááŸá¯ááŸááá«áááºá GDK_SURFACE_SUBSURFACE á¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠGDK á០áááºááŸá¬ážááá¯ááºáá«ááŒá®á
- á¡ááá¯ááŒá¯áá¬ážáá±á¬ áá®ážááŒá¬áž GdkDrag ááŸáá·áº GdkDrop á¡áá¬ááá¹áá¯áá»á¬áž á¡áá«á¡ááẠDrag-and-Drop áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááŸáá·áº áááºá ááºáá±áá±á¬ áá¯ááºááᯠááŒááºáááºááŒááºáááºááŒááºážá
- ááœá²ááá¯ááºááœááºááŸá¯ááᯠááá¯ážááŸááºážááŒá®áž ááá¯ááá·áºááœááºážáááºá¡ááœááºáᬠá¡áá¯á¶ážááŒá¯áá¬ážáááºá áá»ááºááŸááá±á¬ááŒá áºáááºáá»á¬ážááᯠáá®ážááŒá¬ážá¡áá»ááºááŒááŸá¯áá»á¬ážááŒáá·áº á¡á á¬ážááá¯ážáá«áááºá á¥ááá¬á á¡ááœááºááŒá áºáááºáá»á¬ážá¡á á¬ážá "GdkSurface::render" ááẠáá¯á¶áá±á¬áºááŒááºážá¡á á®á¡á ááºáá»á¬ážá¡á á¬áž - "GdkSurface::size-changed"á ááŒá±áá¯á¶ááœá²ááŒááºážááŒá áºáááºáá»á¬ážá¡á á¬áž - "GdkSurface-" gdk_event_handler_set() - "GdkSurface::event" á¡á á¬áž :mapped";
- Wayland á¡ááœáẠGDK áá±á¬ááºáá¶ááẠGtkSettings áááºáááºáá»á¬ážááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯áááºá¡ááœáẠáá±á«áºáááºá¡ááºáá¬áá±á·á áºá¡ááœáẠá¡áá±á¬ááºá¡áá¶á·ááᯠáá±á«ááºážááá·áºáá¬ážáááºá ááá·áºááœááºážáááºážáá»á¬ážááŒáá·áº áá¯ááºáá±á¬ááºáááºá text-input-unstable-v3 áááá¯ááá¯áá±á¬ ááá¯ážáá»á²á·ááŸá¯á¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠá¡ááá¯ááŒá¯áá¬ážáááºá
- áá áºáá»ááºáá»á¬áž ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á¡ááœááºá ááŒááºááá¯ááºáá±á¬á§áááá¬á á¡ááŒááºá¡áááºáá±á«áº áá°áááºá ááŒááºá ááºáá»á¬ážá á¡ááŒááºá¡áááºááᯠááááºážáá»á¯ááºáááºá¡ááœáẠá áá áºáá áºáá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážááŒáá·áº GtkLayoutManager á¡áá¬ááá¹áá¯á¡áá áºááᯠááááºáááºáá±ážáá²á·áááºá GtkLayoutManager ááẠGtkBox ááŸáá·áº GtkGrid áá²á·ááá¯á·áá±á¬ GTK ááœááºááááºáá¬áá»á¬ážááœáẠááá±ážáá¯ááºááá¹áááá»á¬ážááᯠá¡á á¬ážááá¯ážáááºá á¡áááºááá·áºáá¯ááºáá¬ážáá±á¬ á¡ááŒááºá¡áááºáááºáá±áá»á¬á¡áá»á¬ážá¡ááŒá¬ážááᯠá¡ááá¯ááŒá¯áá¬ážáááº- ááá±ážááŒááºá ááºáá áºáá¯áá«ááŸááá±á¬ ááá¯ážááŸááºážáá±á¬ááœááºááááºáá¬áá»á¬ážá¡ááœáẠGtkBinLayoutá ááá¯ááºážááá¯ááºáá®áá±á¬ ááá±ážááŒááºá ááºáá»á¬ážá¡ááœáẠGtkBoxLayoutá ááá±ážááŒááºá ááºáá»á¬ážááᯠááá¬ážááœááºáá áºáá¯ááá¯á· áá»áááºááŸááááºá¡ááœáẠGtkGridLayoutá ááá±ážááŒááºá ááºáá»á¬ážá áááá¬ážáá±áá¬áá»áá¬ážááŸá¯á¡ááœáẠGtkFixedLayoutá ááá¯ážáá¬ááŒááºá ááºáá»á¬ážááᯠá¡ááœááºá¡á á¬ážááŒá±á¬ááºážáá²áááºááŸááºááŒááºážá¡ááœáẠGtklatingallo ááá¯ááºááœááºáá°áá»á¬áž;
- á€áá áºáá»ááºáá»á¬ážá á¡áááºá¡ááŒááºááá¯ááºáá±á¬ ááá±ážáá¯ááºááá¹áááá»á¬ážááᯠááœáŸá²ááŒá±á¬ááºážáá±ážááá·áº GtkAssistantá GtkStack ááŸáá·áº GtkNotebook áá áºáá»ááºáá»á¬ážááá¯á· á á¬áá»ááºááŸá¬ááŒáááŸá¯áá»á¬ážá¡ááœáẠá¡áá»á¬ážáá°ááŸá¬ áááºáá±á¬ááºááá¯ááºáá±á¬ á¡áá¬ááá¹áá¯áá»á¬ážááᯠááá·áºááœááºážáá¬ážáá«áááºá ááŸáááŒá®ážáá¬áž ááá±ážáá¯ááºááá¹ááá¡á¬ážáá¯á¶ážááᯠáá¯á¶ááŸááºáá¯ááºááá¹áááá»á¬ážá á¡ááŒááºá¡áááºáá¯ááºááá¹áááá»á¬áž ááá¯á·ááá¯áẠá á¬áá»ááºááŸá¬á¡áá¬ááá¹áá¯áá»á¬ážááá¯á· ááœáŸá±á·áá¬ážáá±á¬ááŒá±á¬áá·áºá ááá±ážáá¯ááºááá¹áááá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á¡á¬áž GtkContainer á០áá¯á¶ážááááºááŸá¬ážááá¯ááºáá«áááºá
- áááºá GtkEntry áá¯ááºáá±á¬ááºááá¯ááºá áœááºážááᯠá¡ááá·áºááŒáŸáá·áºáá¬ážáá±á¬ GtkEditable áááºážááŒááºááá¯ááºáá±á¬ á¡ááºáá¬áá±á·á áºáá áºáá¯áááºáž áá«áááºááá·áº GtkText widget á¡áá áºáá áºáá¯ááá¯á· ááœáŸá±á·áá¬ážáááºá GtkText widget á¡áá áºááᯠá¡ááŒá±áá¶á áááºááŸááá±áá¬ááá·áºááœááºážááŸá¯ á¡áááºážááœá²á¡á¬ážáá¯á¶ážááᯠGtkEditable á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá»á¬ážá¡ááŒá ẠááŒááºáááºááŒá¯áá¯ááºáá¬ážáá«áááºá
- á áá¬ážááŸááºááá·áºááœááºážááŸá¯áá¯á¶á á¶áá»á¬ážá¡ááœáẠGtkPasswordEntry áá áºáá»ááºá¡áá áºáá áºáá¯ááᯠáá±á«ááºážááá·áºáá²á·áááºá
- GtkWidgets ááẠCSS ááá¯á·ááá¯áẠgtk_widget_allocate argument ááᯠGskTransform ááŸáááá·áº áááºááŸááºáá¬ážáá±á¬ linear á¡ááœááºááŒá±á¬ááºážáááºážáááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á ááá±ážááŒááºá ááºáá»á¬ážááᯠááŒá±á¬ááºážáá²ááá¯ááºááá·áº á áœááºážáááºááᯠáá±á«ááºážááá·áºáá¬ážáá«áááºá áááºááŸááºáá¬ážáá±á¬á¡ááºá¹áá«áááºááᯠGtkFixed áá áºáá»ááºááœáẠá¡áá¯á¶ážááŒá¯áá¬ážááŒá®ážááŒá áºáááºá
- á á¬áááºážáá»áá¯ážáááºáá±á¬áºáááºá¡áá áºáá»á¬áž ááá·áºááœááºážáá¬ážáááº- GtkMapListModelá GtkSliceListModelá GtkSortListModelá GtkSelectionModel ááŸáá·áº GtkSingleSelectioná á¡áá¬áááºááœáẠGtkListView ááœáẠá á¬áááºážáá±á¬áºáááºáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ááá·áºááẠá á®á ááºáá¬ážáá«áááºá
- GtkBuilder ááẠidentifier ááŒáá·áº ááá·áºááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááá·áºá¡á á¬áž á¡áá¬ááá¹áá¯áá¯ááºááá¹áááá»á¬ážááᯠá ááºááœááºáž (inline) áááºááŸááºááẠá áœááºážáááºááᯠááá·áºááœááºážáá¬ážáááºá
- UI ááá¯ááºáá»á¬ážááᯠGTK 4 á០GTK 3 ááá¯á·ááŒá±á¬ááºážááẠgtk4-builder-tool ááœáẠááœááºáááºážááá·áºáá¬ážáááºá
- á¡ááá á¡ááŒááºá¡áááºáá»á¬ážá ááá¬ážáá®áá°ážáá»á¬ážááŸáá·áº áá±á«ááºážá
ááºáá±áá¹áá¬áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠáááºááá¯ááºážááá¯ááºáá«ááŒá®á GtkInvisible áá
áºáá»ááºááᯠáááºááŸá¬ážááá¯ááºáá«ááŒá®á
source: opennet.ru