LibreOffice Module vcl (master)
1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
include
vcl
pngwrite.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
* This file incorporates work covered by the following license notice:
10
*
11
* Licensed to the Apache Software Foundation (ASF) under one or more
12
* contributor license agreements. See the NOTICE file distributed
13
* with this work for additional information regarding copyright
14
* ownership. The ASF licenses this file to you under the Apache
15
* License, Version 2.0 (the "License"); you may not use this file
16
* except in compliance with the License. You may obtain a copy of
17
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
18
*/
19
20
#ifndef INCLUDED_VCL_PNGWRITE_HXX
21
#define INCLUDED_VCL_PNGWRITE_HXX
22
23
#include <
vcl/dllapi.h
>
24
#include <memory>
25
#include <vector>
26
27
namespace
com::sun::star::beans
{
struct
PropertyValue; }
28
namespace
com::sun::star::uno
{
template
<
typename
>
class
Sequence
; }
29
30
class
BitmapEx
;
31
class
SvStream
;
32
33
namespace
vcl
34
{
35
class
PNGWriterImpl;
36
37
class
VCL_DLLPUBLIC
PNGWriter
38
{
39
const
std::unique_ptr<PNGWriterImpl>
mpImpl
;
40
41
public
:
42
43
explicit
PNGWriter
(
const
BitmapEx
&,
const
css::uno::Sequence<css::beans::PropertyValue>* pFilterData =
nullptr
);
44
~
PNGWriter
();
45
46
bool
Write
(
SvStream
& rStream);
47
48
// additional method to be able to modify all chunk before they are stored
49
struct
ChunkData
50
{
51
sal_uInt32
nType
;
52
std::vector<sal_uInt8>
aData
;
53
};
54
std::vector<vcl::PNGWriter::ChunkData>& GetChunks();
55
};
56
}
57
58
#endif // INCLUDED_VCL_PNGWRITE_HXX
59
60
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
VCL_DLLPUBLIC
#define VCL_DLLPUBLIC
Definition:
dllapi.h:29
vcl
SvXMLEmbeddedObjectHelperMode::Write
com::sun::star::uno
vcl::PNGWriter
Definition:
pngwrite.hxx:37
vcl::PNGWriter::mpImpl
const std::unique_ptr< PNGWriterImpl > mpImpl
Definition:
pngwrite.hxx:39
BitmapEx
Definition:
bitmapex.hxx:44
dllapi.h
SwFieldTypesEnum::Sequence
com::sun::star::beans
vcl::PNGWriter::ChunkData::nType
sal_uInt32 nType
Definition:
pngwrite.hxx:51
vcl::PNGWriter::ChunkData::aData
std::vector< sal_uInt8 > aData
Definition:
pngwrite.hxx:52
vcl::PNGWriter::ChunkData
Definition:
pngwrite.hxx:49
SvStream
Generated on Thu Jan 14 2021 06:21:02 for LibreOffice Module vcl (master) by
1.8.10