X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbcbitmap.h;h=95b586842f53ec7e4c7815946d76264dd313109f;hb=ba9e9e32512994d5bccdd782bce844b2338992b7;hp=221248b9107046a65fe73adef1f857c7ad97c9d4;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/guicast/bcbitmap.h b/cinelerra-5.1/guicast/bcbitmap.h index 221248b9..95b58684 100644 --- a/cinelerra-5.1/guicast/bcbitmap.h +++ b/cinelerra-5.1/guicast/bcbitmap.h @@ -27,7 +27,11 @@ #include #include #include +#ifdef HAVE_XV #include +#else +typedef struct _XvImage XvImage; +#endif #include "bcwindowbase.inc" #include "bcbitmap.inc" @@ -58,8 +62,10 @@ class BC_BitmapImage : public ListItem { friend class BC_Bitmap; friend class BC_XImage; friend class BC_XShmImage; +#ifdef HAVE_XV friend class BC_XvImage; friend class BC_XvShmImage; +#endif friend class BC_ActiveBitmaps; protected: int read_frame_rgb(VFrame* frame); @@ -122,6 +128,7 @@ public: int read_drawable(Drawable &pixmap, int source_x, int source_y); }; +#ifdef HAVE_XV class BC_XvImage : public BC_BitmapImage { long xv_offset(int i) { return xv_image->offsets[i]; } unsigned char* xv_plane(int i) { return get_data() + xv_offset(i); } @@ -151,15 +158,17 @@ public: int source_x, int source_y, int source_w, int source_h, int dest_x, int dest_y, int dest_w, int dest_h); }; - +#endif class BC_Bitmap { friend class BC_XImage; friend class BC_XShmImage; +#ifdef HAVE_XV friend class BC_XvImage; friend class BC_XvShmImage; +#endif friend class BC_BitmapImage; friend class BC_ActiveBitmaps; int buffer_count, max_buffer_count; @@ -178,8 +187,6 @@ class BC_Bitmap long best_buffer_size(); int need_shm(); -// Background color for using pngs - int bg_color; // Override top_level for small bitmaps int use_shm; BC_WindowBase *top_level; @@ -203,10 +210,13 @@ public: // transfer VFrame int read_frame(VFrame *frame, int in_x, int in_y, int in_w, int in_h, - int out_x, int out_y, int out_w, int out_h); + int out_x, int out_y, int out_w, int out_h, + int bg_color); // x1, y1, x2, y2 dimensions of output area int read_frame(VFrame *frame, int x1, int y1, int x2, int y2); + int read_frame(VFrame *frame, + int x1, int y1, int x2, int y2, int bg_color); // Reset bitmap to match the new parameters int match_params(int w, int h, int color_model, int use_shm); // Test if bitmap already matches parameters @@ -258,7 +268,6 @@ public: int is_unshared() { return type==bmXvImage || type==bmXImage; } int is_zombie() { return cur_bfr()->is_zombie(); } - int set_bg_color(int color); int invert(); };