TXLSXChartLayout uchovává ruční rozvržení zachovávající jednotlivá pole, určené pro oblasti vykreslení, názvy grafu či os a legendy
Deklarace
type
TXLSXChartLayoutTarget = (xlsxChartLayoutOuter, xlsxChartLayoutInner);
TXLSXChartLayoutMode = (xlsxChartLayoutFactor, xlsxChartLayoutEdge);
TXLSXChartLayout = class
property Enabled: Boolean;
property HasTarget: Boolean;
property HasXMode, HasYMode, HasWidthMode, HasHeightMode: Boolean;
property HasX, HasY, HasWidth, HasHeight: Boolean;
property Target: TXLSXChartLayoutTarget;
property XMode, YMode, WidthMode, HeightMode: TXLSXChartLayoutMode;
property X, Y, Width, Height: Double;
procedure ClearTarget;
procedure ClearXMode;
procedure ClearYMode;
procedure ClearWidthMode;
procedure ClearHeightMode;
procedure ClearX;
procedure ClearY;
procedure ClearWidth;
procedure ClearHeight;
procedure SetPositionAndSize(AX, AY, AWidth, AHeight: Double);
procedure Assign(Source: TXLSXChartLayout);
procedure Clear;
end;
Model souřadnic
X, Y, Width a Height jsou normalizované vůči obdélníku grafu. Edge X a Y jsou souřadnice levého horního rohu, edge width a height jsou souřadnice pravého dolního rohu, factor X a Y posouvají automatickou pozici a factor width a height jsou velikosti relativní vůči grafu
Model uchovává každé pole a režim nezávisle. Při importu vynechané hodnoty zůstávají vynechané a neplatné číselné tokeny přežijí zápis beze změny, zatímco vykreslení se vrátí k automatické geometrii
Rozvržení názvů může obsahovat jen X a Y a zachovává automaticky změřenou velikost. Rozvržení oblasti vykreslení a legendy vyžadují všechny čtyři souřadnice
SetPositionAndSize přiřadí všechny čtyři hodnoty, označí jejich režimy za přítomné a zapne rozvržení jedním voláním. Rozvržení zapnou také jednotlivé settery souřadnic
Režimy a cíl
| xlsxChartLayoutEdge | Pozice od hrany grafu, výchozí pro X a Y |
| xlsxChartLayoutFactor | Faktor velikosti nebo posunu, výchozí pro width a height |
| Target | Vnitřní nebo vnější obdélník oblasti vykreslení, smysluplné jen pro PlotAreaLayout |
Resolution a konverze
TXLSXChartLayoutResolver vypočítá obdélníky názvu, legendy, vnitřní i vnější oblasti vykreslení a názvů os jednorázově pro pagination, SVG, PDF, obrázky, preview, tisk, viewer i HTML výstup. Neplatná nebo neúplná geometrie ponechá automatický obdélník, zatímco platný obdélník mimo graf se posune na nejbližší pozici v grafu beze změny velikosti
Konverze do ODF mapuje vypočtenou geometrii na absolutní vzdálenosti v grafu. Název a legenda používají svg:x a svg:y, oblast vykreslení navíc svg:width a svg:height. Ruční ODF legenda vynechává chart:legend-position, protože tento atribut přepisuje absolutní souřadnice
Příklad
Chart.PlotAreaLayout.Target := xlsxChartLayoutInner;
Chart.PlotAreaLayout.SetPositionAndSize(0.12, 0.18, 0.72, 0.64);
Chart.TitleLayout.SetPositionAndSize(0.1, 0.02, 0.6, 0.12);
Chart.LegendLayout.SetPositionAndSize(0.2, 0.84, 0.6, 0.1);
Viz také