Plátno (GUI)
Plátno, plocha, pozadí je prvek grafického uživatelského rozhraní sloužící jako kontejner, který může obsahovat různé grafické prvky (čáry, obrazce, text, ovládací prvky GUI, obrázky atd.). Pro nejednoznačnost názvu se i v češtině často používá původní anglický název canvas odkazující na Malířské plátno používané pro výtvarná díla. Někdy se díky požití tohoto prvku pro aranžování logických reprezentací uživatelského rozhraní nebo grafických scén používá název scene-graph. Některé implementace definují také prostorové reprezentace a umožňují uživateli interagovat s prvky pomocí grafického uživatelského rozhraní.
Podpora v knihovnách
[editovat | editovat zdroj]Implementace plátna je dostupná v různých knihovnách a widget toolkitech pro vytváření grafických uživatelských rozhraní a jejich prvků v počítačových programech.
K volně použitelným implementacím a implementacím s otevřeným zdrojovým textem scene-graph canvas patří:
- pro jazyk C: Evas z projektu Enlightenment
- pro jazyk C: Clutter, začleněné do projektu GNOME
- pro jazyk C: GTK+ Scene Graph Kit (GSK)
- pro jazyk C: Pigment
- pro C++ nebo QML (značkovací jazyk pro Qt): Qt Quick poskytující scenegraph Archivováno 29. 10. 2013 na Wayback Machine. začleněný do projektu Qt
- pro C++: OpenSceneGraph, 3D grafické API používající OpenGL
- pro C++: OGRE engine založená na scene-graph, podporuje různé scene manažery
- pro C++: OpenSG, scene-graph systém pro grafiku pracující v reálném čase, s podporou clusteringu a vícevláknové bezpečnosti
- pro C++: FlightGear Flight Simulátor používá canvas systém FlightGear Canvas (vydaný díky SimGear[1] pod licencí LGPL) hardwarově akcelerovaný pomocí OpenSceneGraph/OpenGL, OpenVG/ShivaVG[2]
- pro Javu: Java FX scene-graph s 2D a 3D funkčností
- pro Tcl a další jazyky jako Perl, Python (Tkinter[3]) a Ruby používající Tk toolkit: widget
canvas
pro 2D grafiku[4][5] - pro Tcl[6] a další jazyky jako Perl[7] a Python[8]: TkZinc Archivováno 7. 12. 2017 na Wayback Machine., náhrada za Tk canvas, která přidává podporu pro hierarchické seskupování, clipping, afinní transformace, antialiasing a speciální prvky pro podporu řízení letového provozu.
Některé knihovny neposkytují plnohodnotný modul canvas scene-graph – fungují na nižší úrovni, která vyžaduje, aby programátor dodal například kód pro mapování kliknutí myší na objekty na plátně. Ke knihovnám, které obsahují takovéto moduly canvas, patří:
- pro C++ KDE Plasma Workspaces Corona canvas
- Prvek canvas v HTML5
- pro Javu knihovna AWT Canvas
- pro Javu knihovna Java FX Canvas[nedostupný zdroj]
- pro Javu knihovna Swing Canvas
- pro Javu knihovna SWT Canvas[nedostupný zdroj], začleněné do Eclipse
- pro javovský JavaScript knihovna GWT Canvas[nedostupný zdroj]
- pro C++ knihovna papyrus Canvas knihovna[nedostupný zdroj] používající pro vykreslování knihovnu Cairo (grafická knihovna)
- pro jazyk C, crcanvas, GTK+ canvas widget používající pro vykreslování knihovnu Cairo (grafická knihovna)
- pro jazyk C GTK+ canvas widget GooCanvas[nedostupný zdroj] používající pro vykreslování knihovnu Cairo (grafická knihovna)
K proprietárním knihovnám, které implementují plátno patří:
Odkazy
[editovat | editovat zdroj]Reference
[editovat | editovat zdroj]V tomto článku byl použit překlad textu z článku Canvas (GUI) na anglické Wikipedii.
- ↑ Archivovaná kopie. gitorious.org [online]. [cit. 2017-12-07]. Dostupné v archivu pořízeném dne 2017-12-07.
- ↑ http://wiki.flightgear.org/Canvas_Development
- ↑ http://python-course.eu/tkinter_canvas.php
- ↑ http://www.tkdocs.com/tutorial/canvas.html
- ↑ http://tcl.tk/man/tcl8.6/TkCmd/canvas.htm
- ↑ http://wiki.tcl.tk/2798
- ↑ http://vyhledá.cpan.org/~zincdev/tk-zinc-3.303/[nedostupný zdroj]
- ↑ https://wiki.python.org/moin/TkZinc