value.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Generated by gtkmmproc -- DO NOT MODIFY!
00003 #ifndef _GSTREAMERMM_VALUE_H
00004 #define _GSTREAMERMM_VALUE_H
00005 
00006 
00007 #include <glibmm.h>
00008 
00009 /* gstreamermm - a C++ wrapper for gstreamer
00010  *
00011  * Copyright 2008 The gstreamermm Development Team
00012  *
00013  * This library is free software; you can redistribute it and/or
00014  * modify it under the terms of the GNU Lesser General Public
00015  * License as published by the Free Software Foundation; either
00016  * version 2.1 of the License, or (at your option) any later version.
00017  *
00018  * This library is distributed in the hope that it will be useful,
00019  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00020  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00021  * Lesser General Public License for more details.
00022  *
00023  * You should have received a copy of the GNU Lesser General Public
00024  * License along with this library; if not, write to the Free
00025  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00026  */
00027 
00028 #include <gst/gstvalue.h>
00029 #include <glibmm/value_custom.h>
00030 
00031 
00032 namespace Gst
00033 {
00034 
00064 class Fourcc
00065 {
00066 public:
00069   Fourcc();
00070 
00073   Fourcc(const Fourcc& src);
00074 
00077   Fourcc(char first, char second, char third, char fourth);
00078 
00082   explicit Fourcc(const Glib::ustring& s);
00083 
00086   explicit Fourcc(guint32 fourcc);
00087 
00090   explicit Fourcc(const Glib::ValueBase& gst_fraction_value);
00091 
00094   explicit Fourcc(const GValue& gst_fraction_value);
00095 
00096   Fourcc& operator=(const Fourcc& src);
00097 
00098 
00099 public:
00103   guint32 get_fourcc() const;
00104 
00105 public:
00106   char first;
00107   char second;
00108   char third;
00109   char fourth;
00110 
00111 private:
00112   void set_ccs(guint32 fourcc);
00113 };
00114 
00115 
00139 class Fraction
00140 {
00141 public:
00144   Fraction();
00145 
00148   Fraction(const Fraction& src);
00149 
00152   Fraction(int num, int denom);
00153 
00156   explicit Fraction(const Glib::ValueBase& gst_fraction_value);
00157 
00160   explicit Fraction(const GValue& gst_fraction_value);
00161 
00162   Fraction& operator=(const Fraction& src);
00163 
00164 
00165 public:
00166   int num;
00167   int denom;
00168 };
00169 
00170 //TODO: Use a template for IntRange, DoubleRange, FractionRange? murrayc
00171 
00196 class IntRange
00197 {
00198 public:
00201   IntRange();
00202 
00205   IntRange(int min, int max);
00206 
00209   IntRange(const IntRange& src);
00210 
00213   explicit IntRange(const Glib::ValueBase& gst_int_range_value);
00214 
00217   explicit IntRange(const GValue& gst_int_range_value);
00218 
00219   IntRange& operator=(const IntRange& src);
00220 
00221 public:
00222   int min;
00223   int max;
00224 };
00225 
00250 class DoubleRange
00251 {
00252 public:
00255   DoubleRange();
00256 
00259   DoubleRange(double min, double max);
00260 
00263   DoubleRange(const DoubleRange& src);
00264 
00267   explicit DoubleRange(const Glib::ValueBase& gst_double_range_value);
00268 
00271   explicit DoubleRange(const GValue& gst_double_range_value);
00272 
00273   DoubleRange& operator=(const DoubleRange& src);
00274 
00275 public:
00276   double min;
00277   double max;
00278 };
00279 
00304 class FractionRange
00305 {
00306 public:
00309   FractionRange();
00310 
00313   FractionRange(const Fraction& min, const Fraction& max);
00314 
00317   FractionRange(const FractionRange& src);
00318 
00321   explicit FractionRange(const Glib::ValueBase& gst_fraction_range_value);
00322 
00325   explicit FractionRange(const GValue& gst_fraction_range_value);
00326 
00327   FractionRange& operator=(const FractionRange& src);
00328 
00329 public:
00330   Fraction min;
00331   Fraction max;
00332 };
00333 
00334 } //namespace Gst
00335 
00336 
00337 #endif /* _GSTREAMERMM_VALUE_H */
00338 

Generated on Wed Aug 19 15:53:31 2009 for gstreamermm by  doxygen 1.5.4