r1014: Enable horizontal scrolling with the mouse wheel by pressing Ctrl.
[cinelerra_cv/ct.git] / cinelerra / filepng.h
blob80862b1f5faab7d48eceea535db594d3b46d73d5
1 #ifndef FILEPNG_H
2 #define FILEPNG_H
5 #include "file.inc"
6 #include "filebase.h"
7 #include "filelist.h"
8 #include "vframe.inc"
10 class FilePNG : public FileList
12 public:
13 FilePNG(Asset *asset, File *file);
14 ~FilePNG();
16 static int check_sig(Asset *asset);
17 static void get_parameters(BC_WindowBase *parent_window,
18 Asset *asset,
19 BC_WindowBase* &format_window,
20 int audio_options,
21 int video_options);
22 static int get_best_colormodel(Asset *asset, int driver);
23 int colormodel_supported(int colormodel);
24 int read_frame(VFrame *frame, VFrame *data);
25 int write_frame(VFrame *frame, VFrame *data, FrameWriterUnit *unit);
26 int can_copy_from(Edit *edit, int64_t position);
27 FrameWriterUnit* new_writer_unit(FrameWriter *writer);
29 int read_frame_header(char *path);
33 int native_cmodel;
34 // For decoding only
35 VFrame *temp;
39 class PNGUnit : public FrameWriterUnit
41 public:
42 PNGUnit(FilePNG *file, FrameWriter *writer);
43 ~PNGUnit();
45 FilePNG *file;
46 VFrame *temp_frame;
49 class PNGConfigVideo : public BC_Window
51 public:
52 PNGConfigVideo(BC_WindowBase *parent_window, Asset *asset);
53 ~PNGConfigVideo();
55 int create_objects();
56 int close_event();
58 BC_WindowBase *parent_window;
59 Asset *asset;
63 class PNGUseAlpha : public BC_CheckBox
65 public:
66 PNGUseAlpha(PNGConfigVideo *gui, int x, int y);
67 int handle_event();
68 PNGConfigVideo *gui;
72 #endif