wxWidgets 3.2.0 ๊ทธ๋ž˜ํ”ฝ ํˆดํ‚ท ์ถœ์‹œ

9 ๋ธŒ๋žœ์น˜๊ฐ€ ์ถœ์‹œ๋œ ์ง€ 3.0๋…„ ํ›„, Linux, Windows, macOS, UNIX ๋ฐ ๋ชจ๋ฐ”์ผ ํ”Œ๋žซํผ์šฉ ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํˆดํ‚ท wxWidgets 3.2.0์˜ ์ƒˆ๋กœ์šด ์•ˆ์ • ๋ธŒ๋žœ์น˜์˜ ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค๊ฐ€ ๋ฐœํ‘œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 3.0 ๋ธŒ๋žœ์น˜์— ๋น„ํ•ด API ์ˆ˜์ค€์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋น„ํ˜ธํ™˜์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํˆดํ‚ท์€ C++๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ Open Source Foundation ๋ฐ OSI ์กฐ์ง์˜ ์Šน์ธ์„ ๋ฐ›์€ ๋ฌด๋ฃŒ wxWindows ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ๋ผ์ด์„ ์Šค๋Š” LGPL์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ ์ž์ฒด ์กฐ๊ฑด์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ƒ ์ €์ž‘๋ฌผ์„ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•์‹์œผ๋กœ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ๊ตฌ๋ณ„๋ฉ๋‹ˆ๋‹ค.

C++๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ wxWidgets๋Š” PHP, Python, Perl ๋ฐ Ruby๋ฅผ ํฌํ•จํ•˜์—ฌ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋Œ€ํ•œ ๋ฐ”์ธ๋”ฉ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํˆดํ‚ท๊ณผ ๋‹ฌ๋ฆฌ wxWidgets๋Š” GUI๋ฅผ ๋ชจ๋ฐฉํ•˜๋Š” ๋Œ€์‹  ์‹œ์Šคํ…œ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€์ƒ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ง„์ •ํ•œ ๊ธฐ๋ณธ ๋ชจ์–‘๊ณผ ๋Š๋‚Œ์„ ๊ฐ–์ถ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ํ˜์‹ :

  • wxQt์˜ ์ƒˆ๋กœ์šด ์‹คํ—˜์  ํฌํŠธ๊ฐ€ ๊ตฌํ˜„๋˜์–ด wxWidget์ด Qt ํ”„๋ ˆ์ž„์›Œํฌ ์œ„์—์„œ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • wxGTK ํฌํŠธ๋Š” Wayland ํ”„๋กœํ† ์ฝœ์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๋†’์€ ํ”ฝ์…€ ๋ฐ€๋„(High DPI) ํ™”๋ฉด์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๋ชจ๋‹ˆํ„ฐ์— ๋‹ค์–‘ํ•œ DPI๋ฅผ ํ• ๋‹นํ•˜๊ณ  DPI๋ฅผ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ํ•ด์ƒ๋„๋กœ ํ‘œ์‹œ๋˜๋Š” ๋น„ํŠธ๋งต ์ด๋ฏธ์ง€์˜ ์—ฌ๋Ÿฌ ๋ฒ„์ „์„ ์ „์ฒด์ ์œผ๋กœ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด wxBitmapBundle API๊ฐ€ ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • CMake๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ƒˆ๋กœ์šด ๋นŒ๋“œ ์‹œ์Šคํ…œ์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์ปดํŒŒ์ผ๋Ÿฌ(MSVS 2022, g++ 12 ๋ฐ clang 14 ํฌํ•จ) ๋ฐ ์šด์˜ ์ฒด์ œ์— ๋Œ€ํ•œ ์ง€์›์ด ์–ด์…ˆ๋ธ”๋ฆฌ ์‹œ์Šคํ…œ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • OpenGL ์ง€์›์ด ์žฌ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ ์ƒˆ๋กœ์šด OpenGL ๋ฒ„์ „(3.2+)์˜ ์‚ฌ์šฉ์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • LZMA ์••์ถ• ๋ฐ ZIP 64 ํŒŒ์ผ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • wxString ๋ฐ "char*" ์œ ํ˜•์˜ ๋ฌธ์ž์—ด ๊ฐ„์˜ ์œ„ํ—˜ํ•œ ์•”์‹œ์  ๋ณ€ํ™˜์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ธฐ๋Šฅ ๋•๋ถ„์— ์ปดํŒŒ์ผ ์‹œ๊ฐ„ ๋ณดํ˜ธ๊ฐ€ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋งˆ์šฐ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์žฌ์ƒ๋˜๋Š” ์ œ์–ด ์ œ์Šค์ฒ˜์— ๋Œ€ํ•œ ์ด๋ฒคํŠธ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • wxFont ๋ฐ wxGraphicsContext ํด๋ž˜์Šค์—๋Š” ์ด์ œ ๊ธ€๊ผด ํฌ๊ธฐ์™€ ํŽœ ๋„ˆ๋น„๋ฅผ ์ •์˜ํ•  ๋•Œ ์ •์ˆ˜๊ฐ€ ์•„๋‹Œ ๊ฐ’์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • wxStaticBox ํด๋ž˜์Šค๋Š” ์ฐฝ์— ์ž„์˜์˜ ๋ ˆ์ด๋ธ”์„ ํ• ๋‹นํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • wxWebRequest API๋Š” ์ด์ œ HTTPS ๋ฐ HTTP/2๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • wxGrid ํด๋ž˜์Šค์— ์—ด๊ณผ ํ–‰ ๊ณ ์ •์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ํด๋ž˜์Šค ๋„์ž…: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPerciousComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile ๋ฐ wxUILocale.
  • ๋ชจ๋“  ์ƒˆ๋กœ์šด ํด๋ž˜์Šค์™€ ์ผ๋ถ€ ๊ธฐ์กด ํด๋ž˜์Šค์— ๋Œ€ํ•ด ์ƒˆ๋กœ์šด XRC ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ๋ฉ”์„œ๋“œ ๋„์ž…: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPromptMode(), wxJoystickEvent::GetButtonOrdinal(), wxListBox::GetTop ํ•ญ๋ชฉ(), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
  • wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl ๋ฐ wxUIActionSimulator ํด๋ž˜์Šค๊ฐ€ ํฌ๊ฒŒ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์–ด๋‘์šด ํ…Œ๋งˆ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ๊ณผ ARM ํ”„๋กœ์„ธ์„œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์žฅ์น˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜๋Š” ๋“ฑ macOS ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ์ง€์›์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • C++11 ํ‘œ์ค€์„ ์ง€์›ํ•˜๋„๋ก ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. C++20 ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•œ ๋นŒ๋“œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํฌํ•จ๋œ ๋ชจ๋“  ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. WebKit 2 ๋ฐ GStreamer 1.7์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€