- Main Page
- Modules
- Namespaces
- Classes
- Files

# 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