olaf neophyte and de.po updates, valgrind tweaks, delete green lady, inkscape dpi=96
[goodguy/history.git] / cinelerra-5.1 / guicast / vframe.h
index 45dbe11f5c2594a07c88352d1db4c19c95e321c0..da53bfdda22bdb315613238362c512b1061f2ec6 100644 (file)
@@ -82,7 +82,7 @@ public:
        VFrame(VFrame &vframe);
 // Create new frame for compressed data.
        VFrame();
-       ~VFrame();
+       virtual ~VFrame();
 
 // Return 1 if the colormodel and dimensions are the same
 // Used by FrameCache
@@ -130,6 +130,7 @@ public:
 
 // direct copy with no alpha
        int copy_from(VFrame *frame);
+       int copy_vframe(VFrame *src);
 // BC_CModels::transfer
        int transfer_from(VFrame *frame, int bg_color, int in_x, int in_y, int in_w, int in_h);
        int transfer_from(VFrame *frame, int bg_color=0) {
@@ -296,11 +297,12 @@ public:
 // Adds the program with put_shader.
 // Returns the program handle.
 // Requires a null terminated argument list of shaders to link together.
+// if fragments is not NULL, it is a a zero terminated list of frags
+// if fragments is NULL, then a zero terminated list of va_args frags
 // At least one shader argument must have a main() function.  make_shader
 // replaces all the main() functions with unique functions and calls them in
 // sequence, so multiple independant shaders can be linked.
-// x is a placeholder for va_arg and should be 0.
-       static unsigned int make_shader(int x, ...);
+       static unsigned int make_shader(const char **fragments, ...);
        static void dump_shader(int shader_id);
 
 // Because OpenGL is faster if multiple effects are combined, we need
@@ -341,12 +343,11 @@ public:
 // This clears the stacks and the param table
        void clear_stacks();
 
-       int (VFrame::*draw_point)(int x, int y);
+       virtual int draw_pixel(int x, int y);
        int pixel_rgb, pixel_yuv, stipple;
 
        void set_pixel_color(int rgb);
        void set_stiple(int mask);
-       int draw_pixel(int x, int y);
        void draw_line(int x1, int y1, int x2, int y2);
        void draw_smooth(int x1, int y1, int x2, int y2, int x3, int y3);
        void smooth_draw(int x1, int y1, int x2, int y2, int x3, int y3);