projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
improvements/fixes from MatN and Andrew related to AppImage and batch render
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
guicast
/
bcbitmap.h
diff --git
a/cinelerra-5.1/guicast/bcbitmap.h
b/cinelerra-5.1/guicast/bcbitmap.h
index 221248b9107046a65fe73adef1f857c7ad97c9d4..95b586842f53ec7e4c7815946d76264dd313109f 100644
(file)
--- a/
cinelerra-5.1/guicast/bcbitmap.h
+++ b/
cinelerra-5.1/guicast/bcbitmap.h
@@
-27,7
+27,11
@@
#include <sys/ipc.h>
#include <sys/shm.h>
#include <X11/extensions/XShm.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <X11/extensions/XShm.h>
+#ifdef HAVE_XV
#include <X11/extensions/Xvlib.h>
#include <X11/extensions/Xvlib.h>
+#else
+typedef struct _XvImage XvImage;
+#endif
#include "bcwindowbase.inc"
#include "bcbitmap.inc"
#include "bcwindowbase.inc"
#include "bcbitmap.inc"
@@
-58,8
+62,10
@@
class BC_BitmapImage : public ListItem<BC_BitmapImage> {
friend class BC_Bitmap;
friend class BC_XImage;
friend class BC_XShmImage;
friend class BC_Bitmap;
friend class BC_XImage;
friend class BC_XShmImage;
+#ifdef HAVE_XV
friend class BC_XvImage;
friend class BC_XvShmImage;
friend class BC_XvImage;
friend class BC_XvShmImage;
+#endif
friend class BC_ActiveBitmaps;
protected:
int read_frame_rgb(VFrame* frame);
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);
};
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); }
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);
};
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;
class BC_Bitmap
{
friend class BC_XImage;
friend class BC_XShmImage;
+#ifdef HAVE_XV
friend class BC_XvImage;
friend class BC_XvShmImage;
friend class BC_XvImage;
friend class BC_XvShmImage;
+#endif
friend class BC_BitmapImage;
friend class BC_ActiveBitmaps;
int buffer_count, max_buffer_count;
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();
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;
// 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,
// 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);
// 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
// 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 is_unshared() { return type==bmXvImage || type==bmXImage; }
int is_zombie() { return cur_bfr()->is_zombie(); }
- int set_bg_color(int color);
int invert();
};
int invert();
};