แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž”แžŽแŸ’แžŽแžถแž›แŸแž™แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž•แŸ’แžŸแž–แŸ’แžœแž•แŸ’แžŸแžถแž™ SDL 2.26.0

แž”แžŽแŸ’แžŽแžถแž›แŸแž™ SDL 2.26.0 (Simple DirectMedia Layer) แžแŸ’แžšแžผแžœแž”แžถแž“แž…แŸแž‰แž•แŸ’แžŸแžถแž™ แžŠแŸ‚แž›แž˜แžถแž“แž”แŸ†แžŽแž„แž’แŸ’แžœแžพแžฑแŸ’แž™แž€แžถแžšแžŸแžšแžŸแŸแžšแž แŸ’แž‚แŸแž˜ แž“แžทแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž–แž แžปแž˜แŸแžŒแŸ€แž˜แžถแž“แž—แžถแž–แžŸแžถแž˜แž‰แŸ’แž‰แŸ” แž”แžŽแŸ’แžŽแžถแž›แŸแž™ SDL แž•แŸ’แžแž›แŸ‹แžงแž”แž€แžšแžŽแŸแžŠแžผแž…แž‡แžถ แž›แž‘แŸ’แž’แž•แž›แž€แŸ’แžšแžถแž แŸ’แžœแžทแž€ 2D แž“แžทแž„ 3D แžŠแŸ‚แž›แž”แž„แŸ’แž€แžพแž“แž›แŸ’แž”แžฟแž“แž•แŸ’แž“แŸ‚แž€แžšแžนแž„ แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž”แž‰แŸ’แž…แžผแž› แž€แžถแžšแž…แžถแž€แŸ‹แžŸแžถแžšแžแŸ’แž˜แžธ แž›แž‘แŸ’แž’แž•แž› 3D แžแžถแž˜แžšแž™แŸˆ OpenGL/OpenGL ES/Vulkan แž“แžทแž„แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž–แžถแž€แŸ‹แž–แŸแž“แŸ’แž’แž‡แžถแž…แŸ’แžšแžพแž“แž‘แŸ€แžแŸ” แž”แžŽแŸ’แžŽแžถแž›แŸแž™แžแŸ’แžšแžผแžœแž”แžถแž“แžŸแžšแžŸแŸแžšแž‡แžถ C แž แžพแž™แžแŸ’แžšแžผแžœแž”แžถแž“แž…แŸ‚แž€แž…แžถแž™แž€แŸ’แžšแŸ„แž˜แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽ Zlib แŸ” แžŠแžพแž˜แŸ’แž”แžธแž”แŸ’แžšแžพแžŸแž˜แžแŸ’แžแž—แžถแž–แžšแž”แžŸแŸ‹ SDL แž“แŸ…แž€แŸ’แž“แžปแž„แž‚แž˜แŸ’แžšแŸ„แž„แž€แŸ’แž“แžปแž„แž—แžถแžŸแžถแžŸแžšแžŸแŸแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž•แŸ’แžŸแŸแž„แŸ— แž€แžถแžšแž…แž„แž…แžถแŸ†แž”แžถแž…แŸ‹แžแŸ’แžšแžผแžœแž”แžถแž“แž•แŸ’แžแž›แŸ‹แž‡แžผแž“แŸ”

แž“แŸ…แž€แŸ’แž“แžปแž„แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แžแŸ’แž˜แžธ:

  • แžฏแž€แžŸแžถแžšแž”แž‹แž˜แž€แžแžถแžŸแž˜แŸ’แžšแžถแž”แŸ‹ OpenGL แžแŸ’แžšแžผแžœแž”แžถแž“แžแž˜แŸ’แžšแžนแž˜แžแžถแž˜แž›แž€แŸ’แžแžŽแŸˆแž”แž…แŸ’แž…แŸแž€แž‘แŸแžŸแžšแž”แžŸแŸ‹แžŸแž˜แŸ’แž–แŸแž“แŸ’แž’ Khronos แž…แžปแž„แž€แŸ’แžšแŸ„แž™แž”แž„แŸ’แžขแžŸแŸ‹แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž˜แžปแžแž„แžถแžš SDL_GetWindowSizeInPixels() แžŠแžพแž˜แŸ’แž”แžธแž‘แž‘แžฝแž›แž”แžถแž“แž‘แŸ†แž แŸ†แž—แžธแž€แžŸแŸ‚แž›แž“แŸƒแž”แž„แŸ’แžขแžฝแž… แžŠแŸ‚แž›แžขแžถแž…แžแžปแžŸแž‚แŸ’แž“แžถแž–แžธแž‘แŸ†แž แŸ†แžกแžผแž‡แžธแžแž›แž“แŸ…แž›แžพแžขแŸแž€แŸ’แžšแž„แŸ‹ DPI แžแŸ’แž–แžŸแŸ‹ แžŠแŸ„แž™แžŸแžถแžšแž€แžถแžšแž’แŸ’แžœแžพแž˜แžถแžแŸ’แžšแžŠแŸ’แž‹แžถแž“แžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž€แŸ’แž›แŸ‚แž„แž’แŸ’แžœแžพแžŸแž˜แž€แžถแž›แž€แž˜แŸ’แž˜แž”แž‰แŸ’แžˆแžš (vsync) แž‘แŸ…แž€แžผแžŠแž”แž„แŸ’แž แžถแž‰แž€แž˜แŸ’แž˜แžœแžทแž’แžธแŸ”
  • แž”แžถแž“แž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž•แŸ’แž‘แŸแžšแž‘แžธแžแžถแŸ†แž„แž€แžŽแŸ’แžแžปแžšแž‘แŸ… SDL_MouseWheelEvent แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž˜แžปแžแž„แžถแžš SDL_ResetHints() แžŠแžพแž˜แŸ’แž”แžธแž€แŸ†แžŽแžแŸ‹แž–แŸแžแŸŒแž˜แžถแž“แž‡แŸ†แž“แžฝแž™แž‘แžถแŸ†แž„แžขแžŸแŸ‹แžกแžพแž„แžœแžทแž‰แž‘แŸ…แžแž˜แŸ’แž›แŸƒแž›แŸ†แž“แžถแŸ†แžŠแžพแž˜แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž˜แžปแžแž„แžถแžš SDL_GetJoystickGUIDInfo() แžŠแžพแž˜แŸ’แž”แžธแž‘แž‘แžฝแž›แž”แžถแž“แž–แŸแžแŸŒแž˜แžถแž“แž™แŸ‰แž™แžŸแŸ’แž‘แžธแž€แžŠแŸ‚แž›แž”แžถแž“แžขแŸŠแžทแž“แž€แžผแžŠ GUIDแŸ”
  • แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžงแž”แž€แžšแžŽแŸแž”แž‰แŸ’แž‡แžถ PS3 แž“แžทแž„ Nintendo Wii แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž‘แŸ…แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž‰แŸ’แž‡แžถ HIDAPI แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž‚แžปแžŽแž›แž€แŸ’แžแžŽแŸˆแžแŸ’แž˜แžธแŸ– SDL_HINT_JOYSTICK_HIDAPI_PS3, SDL_HINT_JOYSTICK_HIDAPI_WII, SDL_HINT_JOYSTICK_HIDAPI_XBOX_360, SDL_HINT_JOYSTICK_HIDAPI_XBOX_JIDLEK_360_HIDALY X_ ONE, HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED, SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED, SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS แž“แžทแž„แž€แžถแžšแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„ SDL_HINT_WIX360BoxPI360 3 แž“แžทแž„ PSXNUMX แžแžถแž˜แžšแž™แŸˆแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž‰แŸ’แž‡แžถ HIDAPI แŸ”
  • แž•แŸ’แžแž›แŸ‹แž“แžผแžœแž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžŠแžถแž…แŸ‹แžŠแŸ„แž™แžกแŸ‚แž€แž–แžธแž‚แŸ’แž“แžถแž‘แŸ…แž“แžนแž„ gyroscopes แž†แŸ’แžœแŸแž„ แž“แžทแž„แžŸแŸ’แžแžถแŸ†แž“แŸ…แž€แŸ’แž“แžปแž„แžงแž”แž€แžšแžŽแŸแž”แž‰แŸ’แž‡แžถแž”แž“แŸ’แžŸแŸ† Nintendo Switch Joy-Cons แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž…แž“แŸ’แž›แŸ„แŸ‡แž–แŸแž›แž˜แžธแž€แŸ’แžšแžผแžœแžทแž“แžถแž‘แžธแž‘แŸ… SDL_SensorEvent, SDL_ControllerSensorEvent, DL_SensorGetDataWithTimestamp() แž“แžทแž„ SDL_GameControllerGetSensorDataWithTimestamp() แŸ”
  • แžขแž“แžปแž‚แž˜แž“แŸ SDL_GetRevision() แž”แžถแž“แž–แž„แŸ’แžšแžธแž€แž–แŸแžแŸŒแž˜แžถแž“แžŸแŸ’แžแžถแž”แž“แžถ SDL แž‡แžถแžงแž‘แžถแž แžšแžŽแŸ แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แžŸแž‰แŸ’แž‰แžถแžŸแž˜แŸ’แž‚แžถแž›แŸ‹ git commit แŸ”
  • แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž›แžธแž“แžปแž… แž˜แžปแžแž„แžถแžš SDL_SetPrimarySelectionText(), SDL_GetPrimarySelectionText() แž“แžทแž„ SDL_HasPrimarySelectionText() แžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแžŠแžพแž˜แŸ’แž”แžธแž’แŸ’แžœแžพแžขแž“แŸ’แžแžšแž€แž˜แŸ’แž˜แž‡แžถแž˜แžฝแž™แž€แŸ’แžŠแžถแžšแžแž˜แŸ’แž”แŸ€แžแžแŸ’แž‘แžถแžŸแŸ‹แž”แž‹แž˜แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž‘แž„แŸ‹ SDL_HINT_VIDEO_WAYLAND_EMULATE_MOUSE_WARP แžŠแžพแž˜แŸ’แž”แžธแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž€แžถแžšแž’แŸ’แžœแžพแžแŸ’แžšแžถแž”แŸ‹แžแžถแž˜แž‘แžŸแŸ’แžŸแž“แŸแž‘แŸ’แžšแž“แžทแž…แž€แžŽแŸ’แžŠแžปแžšแž“แŸ…แž€แŸ’แž“แžปแž„แž”แžšแžทแžŸแŸ’แžแžถแž“แžŠแŸ‚แž›แž˜แžถแž“แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž›แžพ Wayland แŸ”
  • แž“แŸ…แž–แŸแž›แž”แž„แŸ’แž€แžพแžแžŸแž˜แŸ’แžšแžถแž”แŸ‹ Android แž€แžถแžšแž”แž‰แŸ’แž…แžผแž›แž–แžธแž€แŸ’แžแžถแžšแž…แžปแž…แž€แž˜แŸ’แž˜แžœแžทแž’แžธ IME (Input Method Editor) แžแŸ’แžšแžผแžœแž”แžถแž“แž”แžพแž€แŸ”

แž”แŸ’แžšแž—แž–: opennet.ru

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹