Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

vdevicex11.h

Go to the documentation of this file.
00001 #ifndef VDEVICEX11_H
00002 #define VDEVICEX11_H
00003 
00004 #include "canvas.inc"
00005 #include "edl.inc"
00006 #include "guicast.h"
00007 #include "thread.h"
00008 #include "vdevicebase.h"
00009 
00010 // output_frame is the same one written to device
00011 #define BITMAP_PRIMARY 0
00012 // output_frame is a temporary converted to the device format
00013 #define BITMAP_TEMP    1
00014 
00015 class VDeviceX11 : public VDeviceBase
00016 {
00017 public:
00018         VDeviceX11(VideoDevice *device, Canvas *output);
00019         ~VDeviceX11();
00020 
00021         int open_input();
00022         int close_all();
00023         int read_buffer(VFrame *frame);
00024         int reset_parameters();
00025 // User always gets the colormodel requested
00026         void new_output_buffer(VFrame **output_frames, int colormodel);
00027 
00028         int open_output();
00029         int start_playback();
00030         int stop_playback();
00031         int output_visible();
00032 // After loading the bitmap with a picture, write it
00033         int write_buffer(VFrame **outputs, EDL *edl);
00034 
00035 private:
00036 // Closest colormodel the hardware can do for playback
00037         int get_best_colormodel(int colormodel);
00038 // Get best colormodel for recording
00039         int get_best_colormodel(Asset *asset);
00040 
00041         BC_Bitmap *bitmap;        // Bitmap to be written to device
00042         VFrame *output_frame;     // Wrapper for bitmap or intermediate frame
00043         int bitmap_type;           // Type of output_frame
00044         int bitmap_w, bitmap_h;   // dimensions of buffers written to window
00045         ArrayList<int> render_strategies;
00046 // Canvas for output
00047         Canvas *output;
00048         int color_model;
00049         int color_model_selected;
00050 // Transfers for last frame rendered.
00051 // These stick the last frame to the display.
00052         int in_x, in_y, in_w, in_h, out_x, out_y, out_w, out_h;
00053 // Screen capture
00054         BC_Capture *capture_bitmap;
00055 };
00056 
00057 #endif

Generated on Sun Jan 8 13:39:02 2006 for Cinelerra-svn by  doxygen 1.4.4