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 හි GSK සමාගම (GTK Scene Kit), OpenGL සහ Vulkan හරහා ග්‍රැෆික් දර්ශන විදැහුම්කරණය සපයන, දෝෂ මත වැඩ කර ඇති අතර, නව නිදොස් කිරීමේ මෙවලමක් වන gtk4-node-editor මඟින් ඔබට පූරණය කිරීමට සහ ප්‍රදර්ශනය කිරීමට ඉඩ සලසන දෝෂ හඳුනාගැනීම පහසු වී ඇත. අනුක්‍රමික ආකෘතියකින් විදැහුම් නෝඩය (පරීක්‍ෂණ මාදිලියේ GTK පරීක්ෂකයේ සුරැකිය හැක), සහ විවිධ පසුබිම් භාවිතා කරන විට විදැහුම්කරණ ප්‍රතිඵල සංසන්දනය කරන්න;

    GTK 3.96, GTK 4 හි පර්යේෂණාත්මක නිකුතුව, ප්‍රකාශයට පත් කරන ලදී

  • ත්‍රිමාණ පරිවර්තන හැකියාවන් ඔබට භ්‍රමණය වන ඝනකයක් වැනි සජීවිකරණ ප්‍රයෝග නිර්මාණය කිරීමට ඉඩ සලසන මට්ටමකට ගෙනැවිත් ඇත;

    GTK 3.96, GTK 4 හි පර්යේෂණාත්මක නිකුතුව, ප්‍රකාශයට පත් කරන ලදී

  • සම්පූර්ණයෙන්ම නැවත ලියා ඇත බ්‍රෝඩ්වේ GDK පසුබිම් වෙබ් බ්‍රවුසර කවුළුවක GTK පුස්තකාල ප්‍රතිදානය ලබා දීමට නිර්මාණය කර ඇත. පැරණි බ්‍රෝඩ්වේ ක්‍රියාත්මක කිරීම GTK 4 හි යෝජනා කර ඇති විදැහුම්කරණ ක්‍රමවලට නොගැලපේ (බෆරයකට ප්‍රතිදානය කිරීම වෙනුවට, එය දැන් රෙන්ඩර් නෝඩ් මත පදනම් වූ ආකෘතියක් භාවිතා කරයි, එහිදී ප්‍රතිදානය ඉහළ මට්ටමේ ක්‍රියාකාරිත්වයේ ගසක ස්වරූපයෙන් සෑදී ඇත, OpenGL සහ Vulkan භාවිතයෙන් GPU මඟින් කාර්යක්ෂමව සකසනු ලැබේ).
    නව බ්‍රෝඩ්වේ විකල්පය මඟින් බ්‍රවුසරයේ අතුරු මුහුණත විදැහුම්කරණය සඳහා CSS විලාසයන් සමඟින් render nodes DOM නෝඩ් බවට පරිවර්තනය කරයි. සෑම නව තිර තත්වයක්ම පෙර තත්වයට සාපේක්ෂව DOM ගසෙහි වෙනසක් ලෙස සකසනු ලැබේ, එය දුරස්ථ සේවාලාභියා වෙත සම්ප්‍රේෂණය වන දත්ත ප්‍රමාණය අඩු කරයි. ත්‍රිමාණ පරිවර්තන සහ ග්‍රැෆික් ප්‍රයෝග CSS පරිවර්තන ගුණය හරහා ක්‍රියාත්මක වේ;

  • GDK දිගටම වේලන්ඩ් ප්‍රොටෝකෝලය මනසේ තබාගෙන නිර්මාණය කර ඇති API ක්‍රියාත්මක කරයි, සහ X11-පාදක API පිරිසිදු කිරීම හෝ වෙනම X11 පසුබිමකට ගෙන යයි. ළමා පෘෂ්ඨයන් සහ ගෝලීය ඛණ්ඩාංක භාවිතයෙන් ඉවත් වීමට වැඩ කටයුතු වල ප්රගතියක් ඇත. GDK_SURFACE_SUBSURFACE සඳහා සහය GDK වෙතින් ඉවත් කර ඇත;
  • යෝජිත වෙනම GdkDrag සහ GdkDrop වස්තු ඇතුළුව, Drag-and-Drop මෙහෙයුම් සිදු කිරීම හා සම්බන්ධ කේතය නැවත සකස් කිරීම දිගටම කරගෙන ගියේය;
  • සිදුවීම් හැසිරවීම සරල කර ඇති අතර දැන් ආදානය සඳහා පමණක් භාවිතා වේ. ඉතිරි සිදුවීම් වෙනම සංඥා මගින් ප්‍රතිස්ථාපනය වේ, උදාහරණයක් ලෙස, ප්‍රතිදාන සිදුවීම් වෙනුවට, “GdkSurface::render” යන සංඥාව යෝජනා කරනු ලැබේ, වින්‍යාස සිදුවීම් වෙනුවට - “GdkSurface::size-changed”, සිදුවීම් සිතියම්ගත කිරීම වෙනුවට - “GdkSurface: :mapped”, gdk_event_handler_set() වෙනුවට - "GdkSurface:: event";
  • Wayland සඳහා GDK පසුබිම GtkSettings සැකසීම් වෙත පිවිසීම සඳහා ද්වාර අතුරු මුහුණතක් සඳහා සහය එක් කර ඇත. ආදාන ක්‍රම සමඟ වැඩ කිරීමට, text-input-unstable-v3 ප්‍රොටෝකෝලය දිගුව සඳහා සහය යෝජනා කර ඇත;
  • විජට් සංවර්ධනය සඳහා, දෘශ්‍ය ප්‍රදේශයේ පිරිසැලසුම මත පදනම්ව මූලද්‍රව්‍යවල පිරිසැලසුම පාලනය කිරීමේ පද්ධතියක් ක්‍රියාත්මක කිරීමත් සමඟ නව GtkLayoutManager වස්තුවක් හඳුන්වා දෙනු ලැබේ. GtkLayoutManager GtkBox සහ GtkGrid වැනි GTK බහාලුම්වල ළමා දේපල ප්‍රතිස්ථාපනය කරයි. සූදානම් කළ පිරිසැලසුම් කළමනාකරුවන් කිහිපයක් යෝජනා කර ඇත: එක් ළමා මූලද්‍රව්‍යයක් සහිත සරල බහාලුම් සඳහා GtkBinLayout, රේඛීයව පෙළගස්වන ලද ළමා මූලද්‍රව්‍ය සඳහා GtkBoxLayout, GtkGridLayout ළමා මූලද්‍රව්‍ය ජාලකයකට පෙළගැස්වීම සඳහා, GtkFixedLayout ළමා මූලද්‍රව්‍ය අත්තනෝමතික ලෙස ස්ථානගත කිරීම සඳහා, සම්ප්‍රදායික ප්‍රමාණය මත පදනම් වූ සම්ප්‍රදායික අංගයන් සඳහා GtkCustomLay. හසුරුවන්නන්;
  • ළමා මූලද්‍රව්‍යවල පිටු සංදර්ශනය සඳහා ප්‍රසිද්ධියේ ප්‍රවේශ විය හැකි වස්තු GtkAssistant, GtkStack සහ GtkNotebook විජට් වෙත එක් කර ඇති අතර, මෙම විජට් වල පිරිසැලසුම් නොවන ළමා ගුණාංග මාරු කරනු ලැබේ. පවතින සියලුම ළමා දේපල නිත්‍ය දේපල, පිරිසැලසුම් ගුණාංග හෝ පිටු වස්තු වෙත මාරු කර ඇති බැවින්, GtkContainer වෙතින් ළමා දේපල සඳහා සහය සම්පූර්ණයෙන්ම ඉවත් කර ඇත;
  • මූලික GtkEntry ක්‍රියාකාරිත්වය නව GtkText විජට් එකකට ගෙන ගොස් ඇත, එයට වැඩි දියුණු කළ GtkEditable සංස්කරණ අතුරු මුහුණතක් ද ඇතුළත් වේ. නව GtkText විජට් මත පදනම්ව දැනට පවතින සියලුම දත්ත ඇතුළත් උපපංති GtkEditable ක්‍රියාත්මක කිරීම් ලෙස ප්‍රතිනිර්මාණය කර ඇත;
  • මුරපද ඇතුළත් කිරීමේ පෝරම සඳහා නව GtkPasswordEntry විජට් එකක් එක් කරන ලදී;
  • GtkWidgets විසින් CSS හෝ gtk_widget_alocate තර්කය හරහා නිශ්චිතව දක්වා ඇති රේඛීය පරිවර්තන ක්‍රම භාවිතයෙන් ළමා මූලද්‍රව්‍ය පරිවර්තනය කිරීමේ හැකියාව GskTransform වෙත එක් කර ඇත. නිශ්චිත විශේෂාංගය දැනටමත් GtkFixed විජට් තුළ යෙදී ඇත;
  • නව ලැයිස්තු උත්පාදන ආකෘති එකතු කර ඇත: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel සහ GtkSingleSelection. අනාගතයේදී අපි GtkListView වෙත ලැයිස්තු ආකෘති සඳහා සහය එක් කිරීමට සැලසුම් කරමු;
  • GtkBuilder විසින් හැඳුනුම්කාරකය මගින් සබැඳි භාවිතා කිරීම වෙනුවට, වස්තු ගුණාංග ස්ථානීයව (පේළිගතව) සැකසීමේ හැකියාව එක් කර ඇත;
  • UI ගොනු GTK 4 සිට GTK 3 දක්වා පරිවර්තනය කිරීම සඳහා gtk4-builder-tool වෙත විධානය එක් කරන ලදී.
  • ප්‍රධාන තේමාවන්, වගු මෙනු සහ සංයුක්ත පෙට්ටි සඳහා සහය නවත්වා ඇත. GtkInvisible විජට් ඉවත් කර ඇත.

    මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න