SDL 2.0.22 မီဒီယာစာကြည့်တိုက် ဖြန့်ချိမှု

SDL 2.0.22 (Simple DirectMedia Layer) စာကြည့်တိုက်သည် ဂိမ်းများနှင့် မာလ်တီမီဒီယာအက်ပလီကေးရှင်းများကို ရိုးရှင်းလွယ်ကူစေရန် ရည်ရွယ်၍ ထုတ်ဝေလိုက်ပါသည်။ SDL စာကြည့်တိုက်သည် ဟာ့ဒ်ဝဲ-အရှိန်မြှင့်ထားသော 2D နှင့် 3D ဂရပ်ဖစ်အထွက်၊ ထည့်သွင်းမှုလုပ်ဆောင်ခြင်း၊ အသံဖွင့်ခြင်း၊ OpenGL/OpenGL ES/Vulkan မှတစ်ဆင့် 3D အထွက်နှင့် အခြားဆက်စပ်လုပ်ဆောင်မှုများကဲ့သို့သော အထောက်အကူပစ္စည်းများကို ပံ့ပိုးပေးပါသည်။ စာကြည့်တိုက်ကို C ဘာသာစကားဖြင့် ရေးသားထားပြီး Zlib လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။ ပရောဂျက်များတွင် SDL စွမ်းရည်များကို အမျိုးမျိုးသော ပရိုဂရမ်းမင်းဘာသာစကားများဖြင့် အသုံးပြုရန်အတွက် လိုအပ်သော စည်းနှောင်မှုများကို ပေးထားသည်။

ထုတ်ဝေမှုအသစ်တွင်-

  • Wayland ပရိုတိုကောအတွက် ပိုမိုကောင်းမွန်သော ပံ့ပိုးမှု။ အစပိုင်းတွင်၊ Wayland နှင့် X11 အတွက် တစ်ပြိုင်နက် ပံ့ပိုးပေးသည့် ပတ်ဝန်းကျင်တွင် Wayland ပရိုတိုကောကို မူရင်းအတိုင်း အသုံးပြုရန် စီစဉ်ထားသော်လည်း ဂိမ်းများနှင့် NVIDIA drivers များတွင် Wayland နှင့် ဆက်စပ်နေသော ပြဿနာများကြောင့် အကူးအပြောင်းကို ရွှေ့ဆိုင်းရန် ဆုံးဖြတ်ခဲ့သည် (Wayland ပတ်ဝန်းကျင်များတွင် XWayland အစိတ်အပိုင်း၊ X11 ပရိုတိုကောကို အသုံးပြုခြင်းမှ ထွက်ရှိလာခြင်း။ Wayland ကို အသုံးပြုရန်၊ သင်သည် အပလီကေးရှင်းကို မစတင်မီ ပတ်ဝန်းကျင် ပြောင်းလဲနိုင်သော “SDL_VIDEODRIVER=wayland” ကို သတ်မှတ်နိုင်သည် သို့မဟုတ် “SDL_SetHint(SDL_HINT_VIDEODRIVER, “wayland,x11”)” လုပ်ဆောင်ချက်ကို SDL_Init() မခေါ်ဆိုမီ ကုဒ်တွင် ထည့်သွင်းနိုင်သည်။ Wayland နှင့် ပြုစုရာတွင် အနည်းဆုံး libwayland-Client ဗားရှင်း 1.18.0 လိုအပ်သည်။
  • SDL_RenderGetWindow() လုပ်ဆောင်ချက်ကို SDL Renderer နှင့် ဆက်စပ်သည့် ဝင်းဒိုးကို ရယူရန် ထည့်သွင်းထားသည်။
  • ထောင့်မှန်စတုဂံဧရိယာများ (အမှတ်များဖြစ်ပေါ်မှုကို ဆုံးဖြတ်ခြင်း၊ ရှင်းလင်းခြင်း၊ နှိုင်းယှဉ်ခြင်း၊ ပေါင်းစည်းခြင်း စသည်ဖြင့်)၊ ရေပေါ်အမှတ်နံပါတ်များပေါ်တွင် အခြေခံ၍ သြဒိနိတ်များနှင့် အရွယ်အစားများကို ပေါင်းစပ်ထည့်သွင်းထားသည်- SDL_PointInFRect(), SDL_FRectEmpty(), SDL_FRectEquals(), SDL_FRectEqualsEpsilon () , SDL_HasIntersectionF(), SDL_IntersectFRect(), SDL_UnionFRect(), SDL_EncloseFPoints() နှင့် SDL_IntersectFRectAndLine()။
  • စာသားထည့်သွင်းမှုဧရိယာကိုပြသခြင်းရှိမရှိစစ်ဆေးရန် SDL_IsTextInputShown() လုပ်ဆောင်ချက်ကို ထည့်သွင်းထားသည်။
  • ထည့်သွင်းမှုနည်းလမ်း (IME) ကို မပိတ်ဘဲ စာသားထည့်သွင်းဧရိယာကို ရှင်းလင်းရန် SDL_ClearComposition() လုပ်ဆောင်ချက်ကို ထည့်သွင်းထားသည်။
  • ဤဖြစ်ရပ်ကိုဖွင့်ရန် ရှည်လျားသော စာသားထည့်သွင်းမှုဧရိယာများနှင့် SDL_HINT_IME_SUPPORT_EXTENDED_TEXT အလံကို ကိုင်တွယ်ရန် SDL_TEXTEDITING_EXT အစီအစဉ်ကို ထည့်သွင်းခဲ့သည်။
  • နှိုင်းရမုဒ်ကိုဖွင့်ထားသောအခါ ဝင်းဒိုးတစ်ခုလုံးအစား မောက်စ်ကို ဝင်းဒိုး၏အလယ်ဗဟိုတွင်သာ ကန့်သတ်ထားရန် SDL_HINT_MOUSE_RELATIVE_MODE_CENTER အလံကို ပေါင်းထည့်ထားသည်။
  • မောက်စ်ခလုတ်များကို နှိပ်သည့်အခါ အလိုအလျောက် မောက်စ်ဖမ်းခြင်းကို ဖွင့်ထားသည်။ ၎င်းကိုပိတ်ရန် SDL_HINT_MOUSE_AUTO_CAPTURE အလံကို အဆိုပြုထားသည်။
  • ပြင်ပဝင်းဒိုးတွင် OpenGL သို့မဟုတ် Vulkan အသုံးပြုမှုနှင့်ပတ်သက်သော အချက်အလက်များကို ဖော်ပြရန်အတွက် SDL_HINT_VIDEO_FOREIGN_WINDOW_OPENGL နှင့် SDL_HINT_VIDEO_FOREIGN_WINDOW_VULKAN အလံများကို ထည့်သွင်းထားသည်။
  • နောက်ဆုံးအပလီကေးရှင်းဝင်းဒိုးကိုပိတ်သောအခါ SDL_QUIT ဖြစ်ရပ်၏ပေးပို့မှုကိုဖွင့်ရန် SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE အလံကို ထည့်ခဲ့သည်။
  • ROG Chakram mouse ကို Joystick အဖြစ် သတ်မှတ်ရန် SDL_HINT_JOYSTICK_ROG_CHAKRAM အလံကို ပေါင်းထည့်ခဲ့သည်။
  • Linux အတွက်၊ SDL_HINT_X11_WINDOW_TYPE ရည်ညွှန်းချက်အား _NET_WM_WINDOW_TYPE ဘောင်အား windows တွင် သတ်မှတ်ရန် ထည့်သွင်းထားသည်။
  • Linux အတွက်၊ SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR အလံကို xdg-အလှဆင်ခြင်းကို ပံ့ပိုးပေးသော ပေါင်းစပ်ဆာဗာများဖြင့် libdecor ကိုအသုံးပြုရန်အတွက် ပေါင်းထည့်ထားပါသည်။
  • Android အတွက်၊ SDL_AndroidSendMessage() လုပ်ဆောင်ချက်ကို SDL Java ကိုင်တွယ်သူထံ မထင်သလို ညွှန်ကြားချက်တစ်ခု ပေးပို့ရန် လုပ်ဆောင်ထားသည်။

source: opennet.ru

မှတ်ချက် Add