플로피 디스크

FLTK
플로피 디스크
FLTK shadow.svg
초기 릴리즈1998년; 24년 전(1998년)
안정된 릴리스1.3.8(2021년 11월 20일, 8개월(2021-11-20))[1] [±]
프리뷰 릴리즈1.4.x-20200821-4c012bd7(2020년 8월 21일, 23개월 전(2020-08-21)) [±]
저장소
기입처C++
운영 체제X11, macOS, Microsoft Windows, AmigaOS 4를 탑재한 Unix급
유형사용자 인터페이스 라이브러리
면허증.GNU Lesser General Public License 버전 2(스태틱[2] 링크 허용 제외)
웹 사이트www.fltk.org

FTK(Fast Light Toolkit, Fulltick)[3]는 Bill Spitzak 등이 개발한 그래픽 사용자 인터페이스(GUI)용 크로스 플랫폼 위젯(그래픽 제어 요소) 라이브러리입니다.3D 그래픽스 프로그래밍에 대응하여 OpenGL에 대한 인터페이스를 갖추고 있지만 일반적인 GUI 프로그래밍에도 적합합니다.

기본 시스템 의존 코드에서 추상화된 자체 위젯, 도면 및 이벤트 시스템을 사용하여 지원되는 모든 운영 체제에서 동일한 프로그램을 작성할 수 있습니다.

FLTK는 GNU Lesser General Public License(LGPL)에 따라 라이선스가 부여된 무료 오픈 소스 소프트웨어입니다.호환성이 없는 라이선스를 가진 애플리케이션으로부터의 스태틱 링크를 허용하는 조항이 추가되었습니다.

GTK, QtwxWidgets와 같은 사용자 인터페이스 라이브러리와 달리 FLTK는 보다 가벼운 디자인을 사용하며 GUI 기능으로 제한됩니다.이 때문에 라이브러리는 매우 작고(FLTK "Hello World" 프로그램은 약 100KiB), 일반적으로 정적으로 링크되어 있습니다.또한 복잡한 매크로, 개별 코드 프리프로세서 및 일부 고급 C++ 기능(템플릿, 예외런타임 유형 정보(RTTI), FLTK 1.x의 경우 네임스페이스)의 사용을 방지합니다.패키지의 크기가 작기 때문에 새로운 사용자가 [4]비교적 쉽게 배울 수 있습니다.

이러한 장점에는 그에 상응하는 단점이 있습니다.FLTK는 대부분의 GUI 툴킷보다 적은 수의 위젯을 제공하며 비네이티브 위젯을 사용하기 때문에 어떤 플랫폼에서도 네이티브 룩앤필을 지원하지 않습니다.

이름의 의미

FLTK는 원래 SGI(Silicon Graphics) 머신용으로 작성된 Forms Library와 호환되도록 설계되었습니다(XForms라고 하는 라이브러리의 파생형은 지금도 자주 사용됩니다).그 라이브러리에서는 모든 기능과 구조가fl_이 이름은 C++ 라이브러리의 모든 새로운 메서드 및 위젯으로 확장되었으며 이 접두사는FL도서관의 이름으로 채택되었습니다.FL이 오픈 소스로 출시된 후, 인터넷에서 "FL"을 검색하는 것은 플로리다의 약자이기 때문에 문제가 있다는 것을 알게 되었습니다.여러 사람이 이미 사용하고 있는 툴킷에 대한 새로운 이름을 찾고 많은 토론을 한 후, 빌 스피작(Bill Spitzak)은 FTK([5]Fast Light Tool Kit)를 생각해냈다.

아키텍처

FLTK는 C++ 프로그래밍 언어로 작성된 객체 지향 위젯 툴킷입니다.GTK는 주로 X Window 시스템용이지만 FLTK는 Microsoft Windows(Windows API와 인터페이스), OS X(Quartz와 인터페이스) 등 다른 플랫폼에서 작동합니다.Wayland 백엔드가 [6]논의되고 있다.FLTK2는 카이로 그래픽스 라이브러리를 선택적으로 사용할 수 있도록 실험적인 지원을 받았습니다.

언어 바인딩

언어 바인딩이 작성되면 한 프로그래밍 언어로 작성된 라이브러리를 다른 언어로 사용할 수 있습니다.FLTK에는 다양한 [7]언어에 대한 바인딩 범위가 있습니다.

FLTK는 주로 C++ 프로그래밍 언어용으로 설계되어 작성되었습니다.그러나 바인딩은 다른 언어([8]:[9] Lua,[10] Perl, [11]Python[12], Ruby,[13] Rust 및 Tcl)에도 존재합니다.

FLTK 1.x의 경우 다음 예제에서는 [OK]버튼이 있는 창을 만듭니다.

#실패하다 <FL/FL.H> #실패하다 <FL/Fl_윈도>H> #실패하다 <FL/FL_버튼>H>  인트 주된(인트 argc,  *argv[]) {    플_윈도* w = 신규 플_윈도(330, 190);    신규 플_버튼(110, 130, 100, 35, "알겠습니다");    w->끝.();    w->표시하다(argc, argv);    돌아가다 ::달려.(); } 

GUI 설계자

FLTK에는 C++ 소스 파일과 헤더 파일을 생성하는 그래픽 GUI 디자이너인 Fast Light User Interface Designer(FLUID)포함되어 있습니다.

사용하다

다음을 포함한 많은 프로그램 및 프로젝트에서 FLTK를 사용합니다.

  • Nanolinux, 14 MB Linux[14][15][16][17][18][19] 디스트리뷰션
  • XFDOS(GUI를 갖춘 FreeDOS 기반 배포판), Nano-X 및 FLTK[20][21][22][23] 포팅
  • Agenda VR3는 FLTK 기반의 소프트웨어를 탑재한 Linux 기반의 퍼스널 디지털 어시스턴트입니다.
    • 서드파티제의 의제 VR3 소프트웨어
  • 기억상실: 마찰게임즈다크 디센트는 FLTK를 런처 어플리케이션으로 사용합니다.
  • MwendanoWD, YPH[24]PC용 논리 퍼즐.
  • 오디오:
    • 아마추어 무선 소프트웨어인 Fldigi는 PSK31과 같은 디지털 모드를 통한 데이터 전송 및 텍스트 채팅이 가능합니다.
    • Giada, looper, 마이크로시퀀서, 샘플플레이어 소프트웨어, 오픈소스[25]
    • 신시사이저 프리셋 에디터인 Prodatum은 실제와 같은 인터페이스[26] 디자인을 사용합니다.
    • 오픈 소스 소프트웨어 신시사이저인 ZynAddSubFX
  • DiSTI GL Studio, 휴먼 머신 인터페이스 개발[27] 도구
  • 엔지니어링:
    • ForcePAD, 하중 및 경계[28] 조건의 영향을 받는 구조물의 동작을 시각화하는 직관적인 도구
    • Gmsh, 오픈 소스 유한 요소 메쉬 생성기
    • RoboCIM, 서보 로봇 시스템 및 외부[29] 장치의 작동을 시뮬레이션 및 제어하는 소프트웨어
  • Equinox 데스크톱 환경(EDE)
  • Linux용[30] FlBurn 옵티컬(광학식) 디스크 쓰기 소프트웨어
  • 그래픽스:
    • Avimator, 바이오비전 계층(BVH) 에디터
    • CinePaint, 딥페인트 소프트웨어, GTK에서 FLTK로 이행, 오픈소스
    • ITK-SNAP, 의료 이미지 세그멘테이션용 소프트웨어 애플리케이션, 오픈 소스
    • 디지털 컴포지팅 프로그램인 Nuke.버전 5까지는 Qt로 대체되었습니다.
    • 동영상[31] 편집기 열기
    • OpenVSP, NASA 파라메트릭 항공기 스케치, 최근 오픈소스[32]
    • PosteRazor, Windows, OS X, Linux용[33] 오픈 소스 포스터 인쇄 소프트웨어
    • Tilemap Studio - 게임보이, 컬러, 어드밴스, DS 및 SNES[34] 프로젝트용 오픈 소스 타일맵 편집기
  • Small BASIC, Windows 포트
  • 웹 브라우저:
    • Dillo, Dillo-2는 FLTK-2에 기반하고 있으며, FLTK 지사를 공식 출시 없이 포기한 것이 FLTK1.3을 사용하여 Dillo-3가 시작된 주요 원인입니다.
    • 다섯째, 초기[35] 오페라의 기능을 복제합니다.
    • 넷라이더[36]
  • Brain Visualizer:대규모 3D 뇌 모델을 위한 오픈 소스 인터랙티브 비주얼라이저입니다.Stony Brook[37] University에서 개발된 뇌조직 시뮬레이션 시스템(BOSS)의 일부
  • X관리자:

버전

이 버전의 역사는 오픈 소스 [38]개발의 때때로 시끄러운 성질의 한 예입니다.

1.0.x

이것은 이전의 안정된 버전이며, 현재는 유지보수가 되지 않습니다.

1.1.x

이것은 이전의 안정된 버전이며, 현재는 유지보수가 되지 않습니다.

2.0 브랜치

이는 많은 새로운 기능과 보다 깔끔한 프로그래밍 스타일을 갖춘 FLTK의 진화의 다음 단계로 오랫동안 여겨졌던 개발 부문이었습니다.그것은 결코 안정을 얻지 못했고, 개발은 거의 중단되었다.브런치는 현재 비활성화되어 있습니다.

1.2.x

이는 2.0의 가장 뛰어난 기능 중 일부를 가져와 보다 인기 있는 1.1 브랜치에 다시 통합하려는 시도입니다.그것은 더 이상 개발되지 않았다.

1.3.x

현재 안정적인 릴리스.[39]UTF-8을 지원합니다.

1.4.x

현재의 개발 브랜치.1.[40]3에 기능을 추가합니다.

3.0 브랜치

이 지부는 주로 미래 작업에 대한 개념적 모델이다.비활성화 되었습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ https://www.fltk.org/articles.php?L1782+I0+T+P1+Q
  2. ^ "FLTK License Agreement".
  3. ^ "FLTK home".
  4. ^ "Archived copy". Archived from the original on 2015-05-18. Retrieved 2015-05-13.{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크)
  5. ^ "Article #363: What does "FLTK" mean? - Fast Light Toolkit (FLTK)".
  6. ^ "STR #3371: Wayland Display Server Protocol support - Fast Light Toolkit (FLTK)". www.fltk.org. Retrieved 2020-08-06.
  7. ^ "GTK Language Bindings".
  8. ^ "murgaLua homepage".
  9. ^ "Links: By Category - Links - Fast Light Toolkit (FLTK)".
  10. ^ "pyFLTK homepage".
  11. ^ "Ruby/FLTK homepage".
  12. ^ "crate FLTK's documentation".
  13. ^ "Tcl/Fltk homepage".
  14. ^ "Nanolinux Official Website".
  15. ^ "Tiny to the extreme: Nanolinux". 30 November 2014.
  16. ^ "An interview with the Nanolinux developer". 30 December 2014.
  17. ^ "Archived copy". Archived from the original on 1999-04-20. Retrieved 2019-08-15.{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크)
  18. ^ "PC HTML Editors".
  19. ^ http://www.georgpotthast.de/
  20. ^ "An extraordinary TK example!". 12 October 2012.
  21. ^ "An interview with the Nanolinux developer". 30 December 2014.
  22. ^ "Archived copy". Archived from the original on 1999-04-20. Retrieved 2019-08-15.{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크)
  23. ^ http://www.georgpotthast.de/
  24. ^ YPH
  25. ^ "Giada, hardcore loopmachine". Archived from the original on 2011-09-25. Retrieved 2011-09-29.
  26. ^ 프로데이텀
  27. ^ DiSTI GL 스튜디오
  28. ^ Force PAD
  29. ^ RoboCIM - 로보틱스 소프트웨어
  30. ^ 플번
  31. ^ 동영상 편집기 열기
  32. ^ 오픈 VSP
  33. ^ 포스테라조르
  34. ^ "Tilemap Studio". GitHub. 18 October 2021.
  35. ^ 다섯 번째 브라우저
  36. ^ 넷라이더
  37. ^ "Viz (Brain Visualizer)". GitHub. 25 August 2021.
  38. ^ "What are the Versions of FLTK?". Retrieved 2010-07-23.
  39. ^ https://www.fltk.org/articles.php?L825 2017년 3월 5일 촬영.
  40. ^ https://www.fltk.org/articles.php?L825 2017년 3월 5일 촬영.

외부 링크