LibreOffice Module vcl (master) 1
PngImageWriter.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9
10#include <vcl/dllapi.h>
11#include <com/sun/star/task/XStatusIndicator.hpp>
12#include <com/sun/star/beans/PropertyValue.hpp>
13#include <com/sun/star/uno/Sequence.hxx>
14#include <tools/stream.hxx>
15#include <vcl/bitmapex.hxx>
16#include <vector>
17
18#pragma once
19
20namespace vcl
21{
22// Similar to png_unknown_chunk
24{
25 std::array<uint8_t, 5> name;
26 std::vector<sal_uInt8> data;
27 size_t size;
28};
30{
32 css::uno::Reference<css::task::XStatusIndicator> mxStatusIndicator;
33
35 bool mbInterlaced, mbTranslucent;
36 std::vector<PngChunk> maAdditionalChunks;
37
38public:
39 PngImageWriter(SvStream& rStream);
40
41 void setParameters(css::uno::Sequence<css::beans::PropertyValue> const& rParameters);
42 bool write(const BitmapEx& rBitmap);
43};
44
45} // namespace vcl
46
47/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
std::vector< PngChunk > maAdditionalChunks
sal_Int32 mnCompressionLevel
css::uno::Reference< css::task::XStatusIndicator > mxStatusIndicator
#define VCL_DLLPUBLIC
Definition: dllapi.h:29
std::array< uint8_t, 5 > name
std::vector< sal_uInt8 > data