Plátno (GUI)
Author
Albert FloresPlá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 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 . 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
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: [url=https://WWW. archive. +moreorg/WWW/20131209221159/http://docs. enlightenment. org/auto/evas/]Evas[/url] 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í [url=http://qt-project. org/doc/qt-5. 1/qtquick/qtquick-visualcanvas-scenegraph. html]scenegraph[/url] 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 [url=http://wiki. flightgear. org/Canvas]FlightGear Canvas[/url] (vydaný díky SimGear pod licencí LGPL) hardwarově akcelerovaný pomocí OpenSceneGraph/OpenGL, OpenVG/ShivaVG * pro Javu: Java FX scene-graph s 2D a 3D funkčností * pro Tcl a další jazyky jako Perl, Python (Tkinter) a Ruby používající Tk toolkit: widget canvas pro 2D grafiku * pro Tcl a další jazyky jako Perl a Python: [url=https://bitbucket. org/plecoanet/tkzinc]TkZinc[/url] , 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 [url=http://techbase. +morekde. org/Projects/Plasma/Vocabulary#Corona]Corona[/url] canvas * Prvek canvas v HTML5 * pro Javu knihovna AWT [url=http://docs. oracle. com/javase/7/docs/api/java/awt/Canvas. html]Canvas[/url] * pro Javu knihovna Java FX [url=http://docs. oracle. com/javase/8/docs/api/javafx/scene/Canvas. html]Canvas[/url] * pro Javu knihovna Swing [url=https://WWW. archive. org/WWW/20130904235505/http://www. devoxx. com/displej/DV11/Z%2BJava%2BSwing%2Bto%2BHTML5%2BCanvas]Canvas[/url] * pro Javu knihovna SWT [url=http://nápověda. eclipse. org/indigo/téma/org. eclipse. platform. doc. isv/reference/api/org/eclipse/swt/widgety/Canvas. html]Canvas[/url], začleněné do Eclipse * pro javovský JavaScript knihovna GWT [url=http://www. gwtproject. org/javadoc/nejnovější/com/google/gwt/canvas/klient/Canvas. html]Canvas[/url] * pro C++ [url=http://freecode. com/projets/libpapyrus]knihovna papyrus Canvas knihovna[/url] používající pro vykreslování knihovnu Cairo (grafická knihovna) * pro jazyk C, [url=http://geocanvas. sourceforge. net/crcanvas/index. html]crcanvas[/url], GTK+ canvas widget používající pro vykreslování knihovnu Cairo (grafická knihovna) * pro jazyk C GTK+ canvas widget [url=https://wiki. gnome. org/Projets/GooCanvas]GooCanvas[/url] používající pro vykreslování knihovnu Cairo (grafická knihovna).
K proprietárním knihovnám, které implementují plátno patří: * Microsoft Windows Win32 [url=https://WWW. archive. +moreorg/WWW/20130825181720/http://www. relisoft. com/win32/canvas. html]Canvas[/url].