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(char first, char second, char third, char fourth); 00070 00074 Fourcc(const Glib::ustring& s); 00075 00078 Fourcc(guint32 fourcc); 00079 00082 Fourcc(const Fourcc& f); 00083 00086 Fourcc(const Glib::ValueBase& gst_fraction_value); 00087 00088 public: 00092 guint32 get_fourcc() const; 00093 00094 public: 00095 char first; 00096 char second; 00097 char third; 00098 char fourth; 00099 00100 private: 00101 void get_ccs(guint32 fourcc); 00102 }; 00103 00126 class Fraction 00127 { 00128 public: 00131 Fraction(); 00132 00135 Fraction(int num, int denom); 00136 00139 Fraction(const Fraction& f); 00140 00143 Fraction(const Glib::ValueBase& gst_fraction_value); 00144 00145 public: 00146 int num; 00147 int denom; 00148 }; 00149 00173 class IntRange 00174 { 00175 public: 00178 IntRange(); 00179 00182 IntRange(int min, int max); 00183 00186 IntRange(const IntRange& r); 00187 00190 IntRange(const Glib::ValueBase& gst_int_range_value); 00191 00192 public: 00193 int min; 00194 int max; 00195 }; 00196 00220 class DoubleRange 00221 { 00222 public: 00225 DoubleRange(); 00226 00229 DoubleRange(double min, double max); 00230 00233 DoubleRange(const DoubleRange& r); 00234 00237 DoubleRange(const Glib::ValueBase& gst_double_range_value); 00238 00239 public: 00240 double min; 00241 double max; 00242 }; 00243 00267 class FractionRange 00268 { 00269 public: 00272 FractionRange(); 00273 00276 FractionRange(const Fraction& min, const Fraction& max); 00277 00280 FractionRange(const FractionRange& r); 00281 00284 FractionRange(const Glib::ValueBase& gst_fraction_range_value); 00285 00286 public: 00287 Fraction min; 00288 Fraction max; 00289 }; 00290 00291 } //namespace Gst 00292 00293 00294 #endif /* _GSTREAMERMM_VALUE_H */ 00295