#include "input.h"
class EffectChain;
-class Phase;
+struct Phase;
// For internal use within Node.
enum AlphaType {
void insert_node_between(Node *sender, Node *middle, Node *receiver);
private:
- // Fits a rectangle of the given size to the current aspect ratio
- // (aspect_nom/aspect_denom) and returns the new width and height.
- unsigned fit_rectangle_to_aspect(unsigned width, unsigned height);
+ // Make sure the output rectangle is at least large enough to hold
+ // the given input rectangle in both dimensions, and is of the
+ // current aspect ratio (aspect_nom/aspect_denom).
+ void size_rectangle_to_fit(unsigned width, unsigned height, unsigned *output_width, unsigned *output_height);
// Compute the input sizes for all inputs for all effects in a given phase,
// and inform the effects about the results.
GLuint fbo;
std::vector<Phase *> phases;
- GLenum format;
- unsigned bytes_per_pixel, num_dither_bits;
+ unsigned num_dither_bits;
bool finalized;
};