/* === S Y N F I G ========================================================= */
-/*! \file renddesc.h
+/*! \file synfig/renddesc.h
** \brief Template Header
**
-** $Id: renddesc.h,v 1.1.1.1 2005/01/04 01:23:14 darco Exp $
+** $Id$
**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** Copyright (c) 2008 Chris Moore
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
public:
enum Lock
{
- PX_ASPECT=(1<<0),
- PX_AREA=(1<<1),
- PX_W=(1<<2),
- PX_H=(1<<3),
-
- IM_ASPECT=(1<<4),
- IM_SPAN=(1<<5),
- IM_W=(1<<6),
- IM_H=(1<<7),
- IM_ZOOMIN=(1<<8),
- IM_ZOOMOUT=(1<<9),
-
- LINK_PX_ASPECT=(1<<10),
- LINK_PX_AREA=(1<<11),
- LINK_IM_ASPECT=(1<<12),
- LINK_IM_SPAN=(1<<13),
- LINK_IM_CENTER=(1<<14)
+ PX_ASPECT=(1<<0), // "Pixel Aspect" in Locks and Links
+ PX_AREA=(1<<1), // not used
+ PX_W=(1<<2), // "Pixel Width" in Locks and Links - not used
+ PX_H=(1<<3), // "Pixel Height" in Locks and Links - not used
+
+ IM_ASPECT=(1<<4), // "Image Aspect" in Locks and Links
+ IM_SPAN=(1<<5), // "Image Span" in Locks and Links
+ IM_W=(1<<6), // "Image Width" in Locks and Links
+ IM_H=(1<<7), // "Image Height" in Locks and Links
+ IM_ZOOMIN=(1<<8), // not used
+ IM_ZOOMOUT=(1<<9), // not used
+
+ LINK_PX_ASPECT=(1<<10), // not used
+ LINK_PX_AREA=(1<<11), // not used
+ LINK_IM_ASPECT=(1<<12), // not used
+ LINK_IM_SPAN=(1<<13), // not used
+ LINK_IM_CENTER=(1<<14) // not used
};
-
+
private:
int w_,h_;
Real x_res;
float frame_rate;
Time time_begin, time_end;
-
+
public:
enum
time_begin (0),
time_end (0)
{ }
-
+
//! \writeme
RendDesc &apply(const RendDesc &x);
-
+
//! \writeme
const Color &get_bg_color()const;
//! Sets the horizontal resolution (in dots per meter)
RendDesc &set_x_res(Real x);
-
+
//! Returns the vertical resolution (in dots per meter)
Real get_y_res()const;
//! Set the index of the first frame
RendDesc &set_frame_start(int x);
-
+
//! Return the index of the last frame
int get_frame_end()const;
-
+
//! Set the index of the last frame
RendDesc &set_frame_end(int x);
//! Return the starting time of the animation
const Time get_time_start()const;
-
+
//! Set the time that the animation will start
RendDesc &set_time_start(Time x);
//! Return the end time of the animation
const Time get_time_end()const;
-
+
//! Set the time that the animation will end
RendDesc &set_time_end(Time x);
//! Return the frame rate (frames-per-second)
const float &get_frame_rate()const;
-
+
//! Set the frame rate (frames-per-second)
RendDesc &set_frame_rate(float x);
//! Return the status of the interlaced flag
const bool &get_interlaced()const;
-
+
//! Set the interlace flag
RendDesc &set_interlaced(bool x);
//! Return the status of the clamp flag
const bool &get_clamp()const;
-
+
//! Set the clamp flag
RendDesc &set_clamp(bool x);
//! Set constraint flags
RendDesc &set_flags(const int &x);
-
+
//! Clear constraint flags
RendDesc &clear_flags();
//! Return the aspect ratio of the entire image
Point::value_type get_image_aspect()const;
-
+
//! Return the antialias amount
const int &get_antialias()const;
- //! Set the antilaias amount
+ //! Set the antialias amount
RendDesc &set_antialias(const int &x);
//! Return the distance from the bottom-right to the top-left
RendDesc &set_focus(const Point &x);
const Point &get_tl()const;
-
+
RendDesc &set_tl(const Point &x);
const Point &get_br()const;
-
+
RendDesc &set_br(const Point &x);
-
+
Rect get_rect()const { return Rect(get_tl(),get_br()); }
RendDesc &set_viewport(const Point &__tl, const Point &__br);
-
+
RendDesc &set_viewport(Vector::value_type a,Vector::value_type b,Vector::value_type c,Vector::value_type d);
//! Returns the width of one pixel
//! Returns the height of one pixel
Real get_ph()const;
- //! Sets viewport to represent the screen at the give pixel coordinates
+ //! Sets viewport to represent the screen at the given pixel coordinates
RendDesc &set_subwindow(int x, int y, int w, int h);
}; // END of class RendDesc
return static_cast<RendDesc::Lock>(~(int)rhs);
}
-//! This operator is for checking RendDesc::Lock flags.
-/*! Don't think of it as "less then or equal to", but think of it
-** like an arrow. Is \a rhs inside of \a lhs ?
-** \see RendDesc::Lock, RendDesc */
-inline bool operator<=(RendDesc::Lock lhs, RendDesc::Lock rhs)
-{
- return static_cast<int>(lhs) & static_cast<int>(rhs)==static_cast<int>(rhs);
-}
-
-
}; /* end namespace synfig */
/* === E N D =============================================================== */