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 // -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
00010 
00011 /* gstreamermm - a C++ wrapper for gstreamer
00012  *
00013  * Copyright 2008 The gstreamermm Development Team
00014  *
00015  * This library is free software; you can redistribute it and/or
00016  * modify it under the terms of the GNU Library General Public
00017  * License as published by the Free Software Foundation; either
00018  * version 2 of the License, or (at your option) any later version.
00019  *
00020  * This library is distributed in the hope that it will be useful,
00021  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00022  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00023  * Library General Public License for more details.
00024  *
00025  * You should have received a copy of the GNU Library General Public
00026  * License along with this library; if not, write to the Free
00027  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00028  */
00029 
00030 #include <gst/gstvalue.h>
00031 #include <glibmm/value_custom.h>
00032 
00033 
00034 namespace Gst
00035 {
00036 
00060 class Fourcc
00061 {
00062 public:
00065   Fourcc();
00066 
00069   Fourcc(const Fourcc& src);
00070 
00073   Fourcc(char first, char second, char third, char fourth);
00074 
00078   explicit Fourcc(const Glib::ustring& s);
00079 
00082   explicit Fourcc(guint32 fourcc);
00083 
00086   explicit Fourcc(const Glib::ValueBase& gst_fraction_value);
00087 
00088   Fourcc& operator=(const Fourcc& src);
00089 
00090 
00091 public:
00095   guint32 get_fourcc() const;
00096 
00097 public:
00098   char first;
00099   char second;
00100   char third;
00101   char fourth;
00102 
00103 private:
00104   void get_ccs(guint32 fourcc);
00105 };
00106 
00107 
00130 class Fraction
00131 {
00132 public:
00135   Fraction();
00136 
00139   Fraction(const Fraction& src);
00140 
00143   explicit Fraction(int num, int denom);
00144 
00147   explicit Fraction(const Glib::ValueBase& gst_fraction_value);
00148 
00149   Fraction& operator=(const Fraction& src);
00150 
00151 
00152 public:
00153   int num;
00154   int denom;
00155 };
00156 
00157 //TODO: Use a template for IntRange, DoubleRange, FractionRange? murrayc
00158 
00182 class IntRange
00183 {
00184 public:
00187   IntRange();
00188 
00191   IntRange(int min, int max);
00192 
00195   IntRange(const IntRange& src);
00196 
00199   explicit IntRange(const Glib::ValueBase& gst_int_range_value);
00200 
00201   IntRange& operator=(const IntRange& src);
00202 
00203 public:
00204   int min;
00205   int max;
00206 };
00207 
00231 class DoubleRange
00232 {
00233 public:
00236   DoubleRange();
00237 
00240   DoubleRange(double min, double max);
00241 
00244   DoubleRange(const DoubleRange& src);
00245 
00248   explicit DoubleRange(const Glib::ValueBase& gst_double_range_value);
00249 
00250   DoubleRange& operator=(const DoubleRange& src);
00251 
00252 public:
00253   double min;
00254   double max;
00255 };
00256 
00280 class FractionRange
00281 {
00282 public:
00285   FractionRange();
00286 
00289   FractionRange(const Fraction& min, const Fraction& max);
00290 
00293   FractionRange(const FractionRange& src);
00294 
00297   explicit FractionRange(const Glib::ValueBase& gst_fraction_range_value);
00298 
00299   FractionRange& operator=(const FractionRange& src);
00300 
00301 public:
00302   Fraction min;
00303   Fraction max;
00304 };
00305 
00306 } //namespace Gst
00307 
00308 
00309 #endif /* _GSTREAMERMM_VALUE_H */
00310 

Generated on Sun Jul 27 17:07:20 2008 for gstreamermm by  doxygen 1.5.4