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

์ผ์–ด๋‚ฌ๋‹ค ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํˆดํ‚ท ์ถœ์‹œ wx์œ„์ ฏ 3.1.4๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Linux, Windows, macOS, UNIX ๋ฐ ๋ชจ๋ฐ”์ผ ํ”Œ๋žซํผ์šฉ ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. wxWidgets 3.1์€ ๋‹ค์Œ ์•ˆ์ • ๋ฆด๋ฆฌ์Šค 3.2.0์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฐœ๋ฐœ์ž ๋ธŒ๋žœ์น˜๋กœ ์ž๋ฆฌ์žก๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 3.0 ๋ธŒ๋žœ์น˜์™€ ๋น„๊ตํ•˜๋ฉด API ์ˆ˜์ค€์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋น„ํ˜ธํ™˜์„ฑ์ด ์žˆ์œผ๋ฉฐ ABI๋Š” ์ค‘๊ฐ„ 3.1.x ๋ฆด๋ฆฌ์Šค ๊ฐ„์— ๋™์ผํ•˜๊ฒŒ ์œ ์ง€๋œ๋‹ค๋Š” ๋ณด์žฅ์ด ์—†์Šต๋‹ˆ๋‹ค.

ํˆดํ‚ท์€ C++๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๋ฌด๋ฃŒ ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. wxWindows ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ผ์ด์„ผ์Šค, ์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด ์žฌ๋‹จ๊ณผ OSI ์กฐ์ง์˜ ์Šน์ธ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๋ผ์ด์„ ์Šค๋Š” LGPL์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ ์ž์ฒด ์กฐ๊ฑด์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ƒ ์ €์ž‘๋ฌผ์„ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•์‹์œผ๋กœ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ๊ตฌ๋ณ„๋ฉ๋‹ˆ๋‹ค. C/C++๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ wxWidgets๋Š” ๋‹ค์Œ์„ ํฌํ•จํ•˜์—ฌ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋Œ€ํ•œ ๋ฐ”์ธ๋”ฉ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. PHP, Python, ํŽ„ ะธ ๋ฃจ๋น„. ๋‹ค๋ฅธ ํˆดํ‚ท๊ณผ ๋‹ฌ๋ฆฌ wxWidgets๋Š” GUI๋ฅผ ๋ชจ๋ฐฉํ•˜๋Š” ๋Œ€์‹  ์‹œ์Šคํ…œ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€์ƒ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ง„์ •ํ•œ ๊ธฐ๋ณธ ๋ชจ์–‘๊ณผ ๋Š๋‚Œ์„ ๊ฐ–์ถ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

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

  • CMake๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ƒˆ๋กœ์šด ๋นŒ๋“œ ์‹œ์Šคํ…œ. ์ƒˆ๋กœ์šด ์ปดํŒŒ์ผ๋Ÿฌ(MSVC 2019, g++ 10) ๋ฐ ์šด์˜ ์ฒด์ œ(ARM์šฉ macOS 10.14 ๋ฐ macOS 11)์— ๋Œ€ํ•œ ์ง€์›์ด ์–ด์…ˆ๋ธ”๋ฆฌ ์‹œ์Šคํ…œ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • wxQt์˜ ์ƒˆ๋กœ์šด ์‹คํ—˜์  ํฌํŠธ์ž…๋‹ˆ๋‹ค.
  • OpenGL ์ง€์›์ด ์žฌ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, ์ƒˆ๋กœ์šด OpenGL ๋ฒ„์ „(3.2+)์˜ ์‚ฌ์šฉ์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋งˆ์šฐ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์žฌ์ƒ๋˜๋Š” ์ œ์–ด ์ œ์Šค์ฒ˜์— ๋Œ€ํ•œ ์ด๋ฒคํŠธ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธ€๊ผด ํฌ๊ธฐ์™€ ํŽœ ๋„ˆ๋น„๋ฅผ ์ •์˜ํ•  ๋•Œ wxFont ๋ฐ wxGraphicsContext์— ์ •์ˆ˜๊ฐ€ ์•„๋‹Œ ๊ฐ’์„ ์ง€์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • wxStaticBox๋Š” ์ฐฝ์— ์ž„์˜์˜ ๋ ˆ์ด๋ธ”์„ ํ• ๋‹นํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • ๋†’์€ ํ”ฝ์…€ ๋ฐ€๋„(High DPI)๋ฅผ ๊ฐ–์ถ˜ ํ™”๋ฉด์— ๋Œ€ํ•œ ์ง€์›์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • LZMA ์••์ถ• ๋ฐ ZIP 64 ํŒŒ์ผ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ํด๋ž˜์Šค ๋„์ž…: wxActivityIndicator, wxAddRemoveCtrl,
    wxAppProgressIndicator, wxNativeWindow, wxPowerResourceBlocker,
    wxSecretStore ๋ฐ wxTempFFile;

  • wxGrid์—์„œ ์—ด๊ณผ ํ–‰ ๊ณ ์ •์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ๋ฉ”์†Œ๋“œ ๋„์ž…: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::
    GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(),
    wxHtmlEasyPrinting::SetPromptMode(), wxJoystickEvent::GetButtonOrdinal(),
    wxListBox::GetTopItem(), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(),
    wxToolbook::EnablePage(), wxUIActionSimulator::Select();
  • wxBusyInfo, wxDataViewCtrl,
    wxNotificationMessage, wxStaticBox, wxStyledTextCtrl ๋ฐ wxUIActionSimulator;

  • wxString๊ณผ "char*" ๋ฌธ์ž์—ด ์‚ฌ์ด์˜ ์œ„ํ—˜ํ•œ ์•”์‹œ์  ๋ณ€ํ™˜์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ์ปดํŒŒ์ผ ํƒ€์ž„ ๋ณด์•ˆ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํฌํ•จ๋œ ๋ชจ๋“  ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. WebKit 2 ๋ฐ GStreamer 1.7์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • C++11 ํ‘œ์ค€์„ ์ง€์›ํ•˜๋„๋ก ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. C++20 ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•œ ๋นŒ๋“œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • wxGTK3 ๋ฐ wxOSX/Cocoa ํฌํŠธ์˜ ๋งŽ์€ ์ˆ˜์ • ์‚ฌํ•ญ.

์ถœ์ฒ˜ : opennet.ru

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