X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=resize_effect.h;h=a921eb0f29aea02fc00e9f0bfe8c9ac9d2cc4a5e;hp=c11f4bc9ea6dd9fd4e52241e5e16b8c46b73da21;hb=f0c77209245aa206996c7ef5395888e2859ff4bf;hpb=2322070a3dbeb6b46b39cca07a0fbf20e95f5468 diff --git a/resize_effect.h b/resize_effect.h index c11f4bc..a921eb0 100644 --- a/resize_effect.h +++ b/resize_effect.h @@ -1,28 +1,36 @@ -#ifndef _RESIZE_EFFECT_H -#define _RESIZE_EFFECT_H 1 +#ifndef _MOVIT_RESIZE_EFFECT_H +#define _MOVIT_RESIZE_EFFECT_H 1 // An effect that simply resizes the picture to a given output size // (set by the two integer parameters "width" and "height"). // Mostly useful as part of other algorithms. +#include + #include "effect.h" +namespace movit { + class ResizeEffect : public Effect { public: ResizeEffect(); - virtual std::string effect_type_id() const { return "ResizeEffect"; } - std::string output_fragment_shader(); + std::string effect_type_id() const override { return "ResizeEffect"; } + std::string output_fragment_shader() override; // We want processing done pre-filtering and mipmapped, // in case we need to scale down a lot. - virtual bool need_texture_bounce() const { return true; } - virtual bool needs_mipmaps() const { return true; } + bool needs_texture_bounce() const override { return true; } + MipmapRequirements needs_mipmaps() const override { return NEEDS_MIPMAPS; } + AlphaHandling alpha_handling() const override { return INPUT_PREMULTIPLIED_ALPHA_KEEP_BLANK; } - virtual bool changes_output_size() const { return true; } - virtual void get_output_size(unsigned *width, unsigned *height, unsigned *virtual_width, unsigned *virtual_height) const; + bool changes_output_size() const override { return true; } + bool sets_virtual_output_size() const override { return false; } + void get_output_size(unsigned *width, unsigned *height, unsigned *virtual_width, unsigned *virtual_height) const override; private: int width, height; }; -#endif // !defined(_RESIZE_EFFECT_H) +} // namespace movit + +#endif // !defined(_MOVIT_RESIZE_EFFECT_H)