r802: Remove renderframfsclient and renderfarmfsserver .h and .C from Makefile.am...
[cinelerra_cv/mob.git] / guicast / bcpixmap.h
blob2134c81dea16327154b8056e14e05ec2e79c9c99
1 #ifndef BCPIXMAP_H
2 #define BCPIXMAP_H
4 #include <X11/Xlib.h>
5 #ifdef HAVE_XFT
6 #include <X11/Xft/Xft.h>
7 #endif
8 #include "bcbitmap.inc"
9 #include "bcpixmap.inc"
10 #include "bcwindowbase.inc"
11 #include "vframe.inc"
13 class BC_Pixmap
15 public:
16 BC_Pixmap(BC_WindowBase *parent_window,
17 VFrame *frame,
18 int mode = PIXMAP_OPAQUE,
19 int icon_offset = 0);
20 BC_Pixmap(BC_WindowBase *parent_window,
21 int w,
22 int h);
23 ~BC_Pixmap();
25 friend class BC_WindowBase;
27 void resize(int w, int h);
28 void copy_area(int x, int y, int w, int h, int x2, int y2);
29 int write_drawable(Drawable &pixmap,
30 int dest_x,
31 int dest_y,
32 int dest_w = -1,
33 int dest_h = -1,
34 int src_x = -1,
35 int src_y = -1);
36 void draw_vframe(VFrame *frame,
37 int dest_x = 0,
38 int dest_y = 0,
39 int dest_w = -1,
40 int dest_h = -1,
41 int src_x = 0,
42 int src_y = 0);
43 void draw_pixmap(BC_Pixmap *pixmap,
44 int dest_x = 0,
45 int dest_y = 0,
46 int dest_w = -1,
47 int dest_h = -1,
48 int src_x = 0,
49 int src_y = 0);
50 int get_w();
51 int get_h();
52 int get_w_fixed();
53 int get_h_fixed();
54 Pixmap get_pixmap();
55 Pixmap get_alpha();
56 int use_alpha();
57 int use_opaque();
59 private:
60 int initialize(BC_WindowBase *parent_window, int w, int h, int mode);
62 BC_WindowBase *parent_window;
63 BC_WindowBase *top_level;
64 Pixmap opaque_pixmap, alpha_pixmap;
65 //#ifdef HAVE_XFT
66 // XftDraw *opaque_xft_draw, *alpha_xft_draw;
67 //#endif
68 void *opaque_xft_draw, *alpha_xft_draw;
69 int w, h;
70 int mode;
71 GC alpha_gc, copy_gc;
75 #endif