tweak zoom/fullscr to remember cwdw scale after fullscr
[goodguy/cinelerra.git] / cinelerra-5.1 / guicast / vframe.h
index 4b7d51a3052fa827201ced7ac2e0332553e53e1c..5c717200ab16bb7b2099133b40eb174a7716c974 100644 (file)
@@ -29,7 +29,6 @@
 #include "bctexture.inc"
 #include "bcwindowbase.inc"
 #include "bccmodels.h"
-#include "bccmodels.h"
 #include "vframe.inc"
 
 // Maximum number of prev or next effects to be pushed onto the stacks.
@@ -140,7 +139,8 @@ public:
                return transfer_from(frame, bg_color, 0,0, frame->get_w(),frame->get_h());
        }
 // Required for YUV
-       int clear_frame();
+       void black_frame();
+       void clear_frame();
        int allocate_compressed_data(long bytes);
 
 // Sequence number. -1 means invalid.  Passing frames to the encoder is
@@ -283,12 +283,7 @@ public:
        BC_PBuffer* get_pbuffer();
 
 // Bind the frame's texture to GL_TEXTURE_2D and enable it.
-// If a texture_unit is supplied, the texture unit is made active
-// and the commands are run in the right sequence to
-// initialize it to our preferred specifications.
-       void bind_texture(int texture_unit = -1);
-
-
+       void bind_texture(int texture_unit, int nearest=0);
 
 // Create a frustum with 0,0 in the upper left and w,-h in the bottom right.
 // Set preferred opengl settings.
@@ -296,6 +291,11 @@ public:
 // Calls init_screen with the current frame's dimensions.
        void init_screen();
 
+// color used by clear_frame, default -1 (unset) which clears to BLACK
+       void set_clear_color(int color, int alpha);
+       int get_clear_color();
+       int get_clear_alpha();
+
 // Compiles and links the shaders into a program.
 // Adds the program with put_shader.
 // Returns the program handle.
@@ -437,6 +437,8 @@ private:
        unsigned char *a;
 // Dimensions of frame
        int w, h;
+// color used by clear_frame
+       int clear_color, clear_alpha;
 // Info for reading png images
        const unsigned char *image;
        long image_offset;