/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*/
#include <ChartColorPalettes.hxx>
#include <ChartColorPaletteHelper.hxx>
#include <vcl/event.hxx>
namespace chart
{
constexpr tools::Long BORDER = ChartColorPaletteLayout::ItemBorder;
constexpr tools::Long SIZE = ChartColorPaletteLayout::ItemSize;
void ChartColorPalettes::insert(ChartColorPalette const & rColorSet)
{
maColorSets.push_back(rColorSet);
InsertItem(maColorSets.size());
}
const ChartColorPalette* ChartColorPalettes::getPalette(const sal_uInt32 nItem) const
{
if (maColorSets.size() > nItem)
{
return &maColorSets[nItem];
}
return nullptr;
}
void ChartColorPalettes::SetDrawingArea(weld::DrawingArea* pDrawingArea)
{
ValueSet::SetDrawingArea(pDrawingArea);
SetStyle(WB_TABSTOP | WB_DOUBLEBORDER);
SetItemWidth(BORDER * 6 + SIZE * ChartColorPaletteSize / 2 );
SetItemHeight(BORDER * 5 + SIZE * 2 );
}
void ChartColorPalettes::UserDraw(const UserDrawEvent& rUserDrawEvent)
{
vcl::RenderContext* pDev = rUserDrawEvent.GetRenderContext();
const tools::Rectangle aDrawArea = rUserDrawEvent.GetRect();
const sal_uInt16 nItemId = rUserDrawEvent.GetItemId();
ChartColorPalette const & rColorSet = maColorSets[nItemId - 1 ];
ChartColorPaletteHelper::renderColorPalette(pDev, aDrawArea, rColorSet, false );
}
void ChartColorPalettes::StyleUpdated()
{
SetFormat();
Invalidate();
ValueSet::StyleUpdated();
}
} // end namespace chart
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=91 H=100 G=95
¤ Dauer der Verarbeitung: 0.2 Sekunden
¤
*© Formatika GbR, Deutschland