Commit 6750f67b authored by Guillaume Lazzara's avatar Guillaume Lazzara
Browse files

Reference value types documentation in Values group.

	* doc/mln/value/hsl.dox,
	* doc/mln/value/int_s16.dox,
	* doc/mln/value/int_s24.dox,
	* doc/mln/value/int_s32.dox,
	* doc/mln/value/int_s8.dox,
	* doc/mln/value/int_u12.dox,
	* doc/mln/value/int_u16.dox,
	* doc/mln/value/int_u24.dox,
	* doc/mln/value/int_u32.dox,
	* doc/mln/value/int_u8.dox,
	* doc/mln/value/label_16.dox,
	* doc/mln/value/label_32.dox,
	* doc/mln/value/label_8.dox,
	* doc/mln/value/rgb16.dox,
	* doc/mln/value/rgb8.dox,
	* doc/mln/value/value.dox: New.

	* mln/value/hsl.hh,
	* mln/value/int_s.hh,
	* mln/value/int_s16.hh,
	* mln/value/int_s24.hh,
	* mln/value/int_s32.hh,
	* mln/value/int_s8.hh,
	* mln/value/int_u.hh,
	* mln/value/int_u12.hh,
	* mln/value/int_u16.hh,
	* mln/value/int_u24.hh,
	* mln/value/int_u32.hh,
	* mln/value/int_u8.hh,
	* mln/value/label.hh,
	* mln/value/label_16.hh,
	* mln/value/label_32.hh,
	* mln/value/label_8.hh,
	* mln/value/qt/rgb32.hh,
	* mln/value/rgb.hh,
	* mln/value/rgb16.hh,
	* mln/value/rgb8.hh: Hide aliases.
parent 26b7669e
2013-04-11 Guillaume Lazzara <z@lrde.epita.fr>
Reference value types documentation in Values group.
* doc/mln/value/hsl.dox,
* doc/mln/value/int_s16.dox,
* doc/mln/value/int_s24.dox,
* doc/mln/value/int_s32.dox,
* doc/mln/value/int_s8.dox,
* doc/mln/value/int_u12.dox,
* doc/mln/value/int_u16.dox,
* doc/mln/value/int_u24.dox,
* doc/mln/value/int_u32.dox,
* doc/mln/value/int_u8.dox,
* doc/mln/value/label_16.dox,
* doc/mln/value/label_32.dox,
* doc/mln/value/label_8.dox,
* doc/mln/value/rgb16.dox,
* doc/mln/value/rgb8.dox,
* doc/mln/value/value.dox: New.
* mln/value/hsl.hh,
* mln/value/int_s.hh,
* mln/value/int_s16.hh,
* mln/value/int_s24.hh,
* mln/value/int_s32.hh,
* mln/value/int_s8.hh,
* mln/value/int_u.hh,
* mln/value/int_u12.hh,
* mln/value/int_u16.hh,
* mln/value/int_u24.hh,
* mln/value/int_u32.hh,
* mln/value/int_u8.hh,
* mln/value/label.hh,
* mln/value/label_16.hh,
* mln/value/label_32.hh,
* mln/value/label_8.hh,
* mln/value/qt/rgb32.hh,
* mln/value/rgb.hh,
* mln/value/rgb16.hh,
* mln/value/rgb8.hh: Hide aliases.
2013-04-11 Guillaume Lazzara <z@lrde.epita.fr>
 
Add a PDF I/O group in documentation.
// This file is necessary to help doxygen finding all the methods
// related to the corresponding typedef.
namespace mln
{
namespace value
{
struct hsl_f
: hsl_<float,float,float>
{
public:
/// Constructor without argument.
hsl_f();
/// Contruct a HSL color with (0,0,0) as value.
hsl_f(const literal::zero_t&);
/// Constructor from component values.
hsl_f(const H& hue, const S& sat, const L& lum);
};
struct hsl_d
: hsl_<double,double,double>
{
public:
/// Constructor without argument.
hsl_d();
/// Contruct a HSL color with (0,0,0) as value.
hsl_d(const literal::zero_t&);
/// Constructor from component values.
hsl_d(const H& hue, const S& sat, const L& lum);
};
}
}
\ No newline at end of file
// This file is necessary to help doxygen finding all the methods
// related to the corresponding typedef.
namespace mln
{
namespace value
{
struct int_s16
: public int_s<16>
{
public:
/// Constructor without argument.
int_s16();
/// Constructor from an integer.
int_s16(int i);
/// Constructors with literals. Set to 0.
int_s16(const mln::literal::zero_t&);
/// Constructors with literals. Set to 1.
int_s16(const mln::literal::one_t&);
}
}
}
\ No newline at end of file
// This file is necessary to help doxygen finding all the methods
// related to the corresponding typedef.
namespace mln
{
namespace value
{
struct int_s24
: public int_s<24>
{
public:
/// Constructor without argument.
int_s24();
/// Constructor from an integer.
int_s24(int i);
/// Constructors with literals. Set to 0.
int_s24(const mln::literal::zero_t&);
/// Constructors with literals. Set to 1.
int_s24(const mln::literal::one_t&);
}
}
}
// This file is necessary to help doxygen finding all the methods
// related to the corresponding typedef.
namespace mln
{
namespace value
{
struct int_s32
: public int_s<32>
{
public:
/// Constructor without argument.
int_s32();
/// Constructor from an integer.
int_s32(int i);
/// Constructors with literals. Set to 0.
int_s32(const mln::literal::zero_t&);
/// Constructors with literals. Set to 1.
int_s32(const mln::literal::one_t&);
}
}
}
\ No newline at end of file
// This file is necessary to help doxygen finding all the methods
// related to the corresponding typedef.
namespace mln
{
namespace value
{
struct int_s8
: public int_s<8>
{
public:
/// Constructor without argument.
int_s8();
/// Constructor from an integer.
int_s8(int i);
/// Constructors with literals. Set to 0.
int_s8(const mln::literal::zero_t&);
/// Constructors with literals. Set to 1.
int_s8(const mln::literal::one_t&);
}
}
}
\ No newline at end of file
// This file is necessary to help doxygen finding all the methods
// related to the corresponding typedef.
namespace mln
{
namespace value
{
struct int_u12
: public int_u<12>
{
public:
/// Constructor without argument.
int_u12();
/// Constructor from an integer.
int_u12(int i);
/// Constructors with literals. Set to 0.
int_u12(const mln::literal::zero_t&);
/// Constructors with literals. Set to 1.
int_u12(const mln::literal::one_t&);
}
}
}
\ No newline at end of file
// This file is necessary to help doxygen finding all the methods
// related to the corresponding typedef.
namespace mln
{
namespace value
{
struct int_u16
: public int_u<16>
{
public:
/// Constructor without argument.
int_u16();
/// Constructor from an integer.
int_u16(int i);
/// Constructors with literals. Set to 0.
int_u16(const mln::literal::zero_t&);
/// Constructors with literals. Set to 1.
int_u16(const mln::literal::one_t&);
}
}
}
\ No newline at end of file
// This file is necessary to help doxygen finding all the methods
// related to the corresponding typedef.
namespace mln
{
namespace value
{
struct int_u24
: public int_u<8>
{
public:
/// Constructor without argument.
int_u24();
/// Constructor from an integer.
int_u24(int i);
/// Constructors with literals. Set to 0.
int_u24(const mln::literal::zero_t&);
/// Constructors with literals. Set to 1.
int_u24(const mln::literal::one_t&);
}
}
}
\ No newline at end of file
// This file is necessary to help doxygen finding all the methods
// related to the corresponding typedef.
namespace mln
{
namespace value
{
struct int_u32
: public int_u<32>
{
public:
/// Constructor without argument.
int_u32();
/// Constructor from an integer.
int_u32(int i);
/// Constructors with literals. Set to 0.
int_u32(const mln::literal::zero_t&);
/// Constructors with literals. Set to 1.
int_u32(const mln::literal::one_t&);
}
}
}
\ No newline at end of file
// This file is necessary to help doxygen finding all the methods
// related to the corresponding typedef.
namespace mln
{
namespace value
{
struct int_u8
: public int_u<8>
{
public:
/// Constructor without argument.
int_u8();
/// Constructor from an integer.
int_u8(int i);
/// Constructors with literals. Set to 0.
int_u8(const mln::literal::zero_t&);
/// Constructors with literals. Set to 1.
int_u8(const mln::literal::one_t&);
}
}
}
\ No newline at end of file
// This file is necessary to help doxygen finding all the methods
// related to the corresponding typedef.
namespace mln
{
namespace value
{
struct label_16
: label<16>
{
/// Constructor without argument.
label_16();
/// Constructor from an (unsigned) integer.
label_16(unsigned i);
/// Constructor from literal::zero.
label_16(const literal::zero_t& v);
}
}
}
// This file is necessary to help doxygen finding all the methods
// related to the corresponding typedef.
namespace mln
{
namespace value
{
struct label_32
: label<32>
{
/// Constructor without argument.
label_32();
/// Constructor from an (unsigned) integer.
label_32(unsigned i);
/// Constructor from literal::zero.
label_32(const literal::zero_t& v);
}
}
}
// This file is necessary to help doxygen finding all the methods
// related to the corresponding typedef.
namespace mln
{
namespace value
{
struct label_8
: label<8>
{
/// Constructor without argument.
label_8();
/// Constructor from an (unsigned) integer.
label_8(unsigned i);
/// Constructor from literal::zero.
label_8(const literal::zero_t& v);
}
}
}
// This file is necessary to help doxygen finding all the methods
// related to the corresponding typedef.
namespace mln
{
namespace value
{
struct rgb16
: rgb<16>
{
public:
/// Constructor without argument.
rgb16();
/// Constructor from component values.
rgb16(int r, int g, int b);
/// Constructor from a algebra::vec.
rgb16(const algebra::vec<3, int>& rhs);
/// Constructor from a algebra::vec.
rgb16(const algebra::vec<3, unsigned>& rhs);
/// Constructor from a algebra::vec.
rgb16(const algebra::vec<3, int_u<n> >& rhs);
/// Constructor from a algebra::vec.
rgb16(const algebra::vec<3, float>& rhs);
/// Constructor from literal. rgb16(255,255,255)
rgb16(const mln::literal::white_t&);
/// Constructor from literal. rgb16(0,0,0)
rgb16(const mln::literal::black_t&);
/// Constructor from literal.
rgb16(const mln::literal::light_gray_t&);
/// Constructor from literal.
rgb16(const mln::literal::medium_gray_t&);
/// Constructor from literal.
rgb16(const mln::literal::dark_gray_t&);
/// Constructor from literal.
rgb16(const mln::literal::red_t&);
/// Constructor from literal.
rgb16(const mln::literal::blue_t&);
/// Constructor from literal.
rgb16(const mln::literal::green_t&);
/// Constructor from literal.
rgb16(const mln::literal::brown_t&);
/// Constructor from literal.
rgb16(const mln::literal::lime_t&);
/// Constructor from literal.
rgb16(const mln::literal::orange_t&);
/// Constructor from literal.
rgb16(const mln::literal::pink_t&);
/// Constructor from literal.
rgb16(const mln::literal::purple_t&);
/// Constructor from literal.
rgb16(const mln::literal::teal_t&);
/// Constructor from literal.
rgb16(const mln::literal::violet_t&);
/// Constructor from literal.
rgb16(const mln::literal::cyan_t&);
/// Constructor from literal.
rgb16(const mln::literal::magenta_t&);
/// Constructor from literal.
rgb16(const mln::literal::yellow_t&);
/// Constructor from literal.
rgb16(const mln::literal::olive_t&);
}
}
}
// This file is necessary to help doxygen finding all the methods
// related to the corresponding typedef.
namespace mln
{
namespace value
{
struct rgb8
: rgb<8>
{
public:
/// Constructor without argument.
rgb8();
/// Constructor from component values.
rgb8(int r, int g, int b);
/// Constructor from a algebra::vec.
rgb8(const algebra::vec<3, int>& rhs);
/// Constructor from a algebra::vec.
rgb8(const algebra::vec<3, unsigned>& rhs);
/// Constructor from a algebra::vec.
rgb8(const algebra::vec<3, int_u<n> >& rhs);
/// Constructor from a algebra::vec.
rgb8(const algebra::vec<3, float>& rhs);
/// Constructor from literal. rgb8(255,255,255)
rgb8(const mln::literal::white_t&);
/// Constructor from literal. rgb8(0,0,0)
rgb8(const mln::literal::black_t&);
/// Constructor from literal.
rgb8(const mln::literal::light_gray_t&);
/// Constructor from literal.
rgb8(const mln::literal::medium_gray_t&);
/// Constructor from literal.
rgb8(const mln::literal::dark_gray_t&);
/// Constructor from literal.
rgb8(const mln::literal::red_t&);
/// Constructor from literal.
rgb8(const mln::literal::blue_t&);
/// Constructor from literal.
rgb8(const mln::literal::green_t&);
/// Constructor from literal.
rgb8(const mln::literal::brown_t&);
/// Constructor from literal.
rgb8(const mln::literal::lime_t&);
/// Constructor from literal.
rgb8(const mln::literal::orange_t&);
/// Constructor from literal.
rgb8(const mln::literal::pink_t&);
/// Constructor from literal.
rgb8(const mln::literal::purple_t&);
/// Constructor from literal.
rgb8(const mln::literal::teal_t&);
/// Constructor from literal.
rgb8(const mln::literal::violet_t&);
/// Constructor from literal.
rgb8(const mln::literal::cyan_t&);
/// Constructor from literal.
rgb8(const mln::literal::magenta_t&);
/// Constructor from literal.
rgb8(const mln::literal::yellow_t&);
/// Constructor from literal.
rgb8(const mln::literal::olive_t&);
}
}
}
/*! \defgroup valuegroup Values
*
* \brief All supported value types.
*
* \ingroup modtypes
*/
/*! \defgroup valuergb RGB
*
* \brief All supported RGB value types.
*
* \ingroup valuegroup
*/
/*! \defgroup valueuint Unsigned Integer
*
* \brief All supported unsigned integer value types.
*
* \ingroup valuegroup
*/
/*! \defgroup valueint Integer
*
* \brief All supported integer value types.
*
* \ingroup valuegroup
*/
/*! \defgroup valuelabel Labels
*
* \brief All supported Label value types.
*
* \ingroup valuegroup
*/
/*! \defgroup valuehsl HSL
*
* \brief All supported HSL value types.
*
* \ingroup valuegroup
*/
// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
// Copyright (C) 2008, 2009, 2012, 2013 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
......@@ -182,9 +182,29 @@ namespace mln
// FIXME: Use float01_8/float01_16 ?
/*!
\class hsl_f
\headerfile <>
\brief HSL color based on float encoding.
\ingroup valuehsl
*/
/// \cond ALIASES
typedef hsl_<float, float, float> hsl_f;
/// \endcond
/*!
\class hsl_d
\headerfile <>
\brief HSL color based on double encoding.
\ingroup valuehsl
*/
/// \cond ALIASES
typedef hsl_<double, double, double> hsl_d;
/// \endcond
/// Print an hsl \p c into the output stream \p ostr.
......@@ -233,6 +253,7 @@ namespace mln
/// \}
/// \cond INTERNAL_API
// Conversions
/// \internal Conversion: hsl -> qt::rgb32.
......@@ -242,6 +263,7 @@ namespace mln
/// \internal Conversion: hsl -> rgb8.
template <typename H, typename S, typename L>
void from_to_(const value::hsl_<H,S,L>&, value::rgb<8>& to);
/// \endcond
} // end of namespace mln::value
......
......@@ -107,9 +107,12 @@ namespace mln
{
/*! \brief Signed integer value class.
*
* The parameter is \c n the number of encoding bits.
/*!
\brief Signed integer value class.
The parameter is \c n the number of encoding bits.
\ingroup valueint
*/
template <unsigned n>
struct int_s
......
// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
// Copyright (C) 2007, 2008, 2009, 2013 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
//
......@@ -41,8 +42,18 @@ namespace mln
{
/// Alias for signed 16-bit integers.
/*!