]> git.sesse.net Git - movit/blobdiff - padding_effect.h
Collapse passes more aggressively in the face of size changes.
[movit] / padding_effect.h
index a836ba208cc4c096fad3d0b9c7de6cc2da20ae7c..13dc5c00ab511e34166450c5f768206c91016cb7 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef _PADDING_EFFECT_H
-#define _PADDING_EFFECT_H 1
+#ifndef _MOVIT_PADDING_EFFECT_H
+#define _MOVIT_PADDING_EFFECT_H 1
 
 // Takes an image and pads it to fit a larger image, or crops it to fit a smaller one
 // (although the latter is implemented slightly less efficiently, and you cannot both
 // You may not change it after calling finalize(), since that could change the
 // graph (need_linear_light() etc. depend on the border color you choose).
 
-#include <GL/glew.h>
+#include <epoxy/gl.h>
 #include <string>
 
 #include "effect.h"
 
+namespace movit {
+
 class PaddingEffect : public Effect {
 public:
        PaddingEffect();
@@ -29,14 +31,18 @@ public:
        virtual AlphaHandling alpha_handling() const;
        
        virtual bool changes_output_size() const { return true; }
+       virtual bool sets_virtual_output_size() const { return false; }
+       virtual bool one_to_one_sampling() const { return true; }
        virtual void get_output_size(unsigned *width, unsigned *height, unsigned *virtual_width, unsigned *virtual_height) const;
        virtual void inform_input_size(unsigned input_num, unsigned width, unsigned height);
 
 private:
-       RGBATriplet border_color;
+       RGBATuple border_color;
        int input_width, input_height;
        int output_width, output_height;
        float top, left;
 };
 
-#endif // !defined(_PADDING_EFFECT_H)
+}  // namespace movit
+
+#endif // !defined(_MOVIT_PADDING_EFFECT_H)