blob: 3022b5b11033c29cca5d5f6e3f99675a35f4f6ce (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
[CCode (cheader_filename = "jpeglib.h", cprefix = "jpeg_")]
namespace JPEG {
[CCode (cprefix = "JCS_")]
public enum ColorSpace
{
UNKNOWN,
GRAYSCALE,
RGB,
YCbCr,
CMYK,
YCCK
}
public ErrorManager std_error (out ErrorManager err);
[CCode (cname = "struct jpeg_compress_struct", cprefix = "jpeg_", destroy_function = "jpeg_destroy_compress")]
public struct Compress
{
public DestinationManager* dest;
public int image_width;
public int image_height;
public int input_components;
public ColorSpace in_color_space;
public ErrorManager* err;
public void create_compress ();
public void set_defaults ();
public void start_compress (bool write_all_tables);
public void write_scanlines ([CCode (array_length = false)] uint8*[] scanlines, int num_Lines);
public void finish_compress ();
}
[CCode (cname = "struct jpeg_error_mgr")]
public struct ErrorManager
{
[CCode (cname = "jpeg_std_error")]
public ErrorManager* std_error ();
}
[CCode (has_target = false)]
public delegate void InitDestinationFunc (Compress cinfo);
[CCode (has_target = false)]
public delegate bool EmptyOutputBufferFunc (Compress cinfo);
[CCode (has_target = false)]
public delegate void TermDestinationFunc (Compress cinfo);
[CCode (cname = "struct jpeg_destination_mgr")]
public struct DestinationManager
{
[CCode (array_length = false)]
public unowned uint8[] next_output_byte;
public int free_in_buffer;
public InitDestinationFunc init_destination;
public EmptyOutputBufferFunc empty_output_buffer;
public TermDestinationFunc term_destination;
}
}
|