EHS
PNG.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
ehs/EHS.h
"
4
#include "
ehs/Serializer.h
"
5
#include "
PNG_Chunk.h
"
6
#include "
Img.h
"
7
8
namespace
ehs
9
{
10
class
EHS_LIB_IO
PNG
11
{
12
private
:
13
Str_8
id;
14
UInt_64 hashId;
15
Array<PNG_Chunk>
chunks;
16
17
public
:
18
PNG
();
19
20
PNG
(
const
Str_8
& filePath);
21
22
PNG
(
const
Str_8
&
id
,
Serializer<UInt_64>
& data);
23
24
PNG
(
const
PNG
& png);
25
26
PNG
& operator=(
const
PNG
& png);
27
28
bool
HasChunk(
const
UInt_64 hashId)
const
;
29
30
bool
HasChunk(
const
Str_8
&
id
)
const
;
31
32
PNG_Chunk
* GetChunk(
const
UInt_64 hashId);
33
34
PNG_Chunk
* GetChunk(
const
Str_8
&
id
);
35
36
static
bool
IsPNG(
Serializer<UInt_32>
& data);
37
38
static
void
FilterNone(
const
Byte
*
const
in,
Byte
*
const
out,
const
UInt_8
bitDepth,
const
UInt_8
channels,
const
UInt_32
scanline);
39
40
static
void
FilterSub(
const
Byte
*
const
in,
Byte
*
const
out,
const
UInt_8
bitDepth,
const
UInt_8
channels,
const
UInt_32
scanline);
41
42
static
void
FilterUp(
const
Byte
*
const
in,
Byte
*
const
out,
const
UInt_8
bitDepth,
const
UInt_8
channels,
const
UInt_32
scanline);
43
44
static
void
FilterAverage(
const
Byte
*
const
in,
Byte
*
const
out,
const
UInt_8
bitDepth,
const
UInt_8
channels,
const
UInt_32
scanline);
45
46
static
void
FilterPaeth(
const
Byte
*
const
in,
Byte
*
const
out,
const
UInt_8
bitDepth,
const
UInt_8
channels,
const
UInt_32
scanline);
47
48
private
:
49
static
Byte
PaethPredictor(
const
Byte
a,
const
Byte
b,
const
Byte
c);
50
};
51
}
EHS.h
Img.h
PNG_Chunk.h
Serializer.h
ehs::Array
Definition:
Array.h:16
ehs::PNG_Chunk
Definition:
PNG_Chunk.h:10
ehs::PNG
Definition:
PNG.h:11
ehs::Serializer< UInt_64 >
ehs::Str< Char_8, UInt_64 >
ehs
Definition:
Anchor.h:6
ehs::UInt_32
unsigned int UInt_32
Definition:
Types.h:49
ehs::UInt_8
unsigned char UInt_8
Definition:
Types.h:43
ehs::Byte
unsigned char Byte
Definition:
Types.h:39
include
ehs
io
img
PNG.h
Generated by
1.9.4