// -*- c++ -*-
//  Generated by gtkmmproc from ./../preview.gen_h -- DO NOT MODIFY!
#ifndef _GTKMM_PREVIEW_H
#define _GTKMM_PREVIEW_H

/* $Id: preview.gen_h,v 1.41 2000/02/13 02:22:09 kenelson Exp $ */

/* preview.h
 *
 * Copyright (C) 1998-1999 The Gtk-- Development Team
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this library; if not, write to the Free
 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#include <gtk--/widget.h>
#include <gtk/gtkpreview.h>

namespace Gtk {
class Preview;
class Preview_Class;
}
namespace Gtk { Gtk::Preview *wrap (GtkPreview *o); }
namespace Gtk
{
class Preview : public Widget {

public:
  typedef Preview          CppObjectType;
  typedef Preview_Class    CppClassType;
  typedef GtkPreview           BaseObjectType;
  typedef GtkPreviewClass      BaseClassType;

private:
  friend class Preview_Class;
  static CppClassType preview_class;

  Preview(const Preview&);
  Preview& operator=(const Preview&); // not implemented

protected:
  void   initialize_class();
  explicit Preview(GtkPreview *castitem);

public:
  static GtkType get_type();
  GtkPreview* gtkobj()             { return (GtkPreview*)(gtkobject); }
  const GtkPreview* gtkobj() const { return (GtkPreview*)(gtkobject); }
  static bool isA(Object *checkcast);

  // Hook for proxies
  static const char* const signal_names[];

  virtual ~Preview();

private:

public:

  explicit Preview(GtkPreviewType type);




  void size(gint width,gint height);

  void put                     (Gdk_Window &window,
				Gdk_GC &gc,
				gint srcx, gint srcy,
				gint destx, gint desty,
				gint width, gint height);




  void draw_row(const guchar* data,gint x,gint y,gint w);


  void set_expand(bool expand);


  static void set_gamma(double gamma);





  static void set_color_cube(guint nred_shades,guint ngreen_shades,guint nblue_shades,guint ngray_shades);


  static void set_install_cmap(bool install_cmap);


  static void set_reserved(gint nreserved);

  static Gdk_Visual get_visual ();
  static Gdk_Colormap get_cmap ();
  static GtkPreviewInfo * get_info();


  static void reset();


  static void uninit();


  void set_dither(GdkRgbDither dither);

public:

protected:
  // impl functions

};

}


//+ PROPERTIES(Gtk_Preview)
//. name: buffer
//. type: guchar*
//. get:
//. set:
//. desc:

//. name: buffer_width
//. type: guint16
//. get:
//. set:
//. desc:

//. name: buffer_height
//. type: guint16
//. get:
//. set:
//. desc:

//. name: bpp
//. type: guint16
//. get:
//. set:
//. desc:

//. name: rowstride
//. type: guint16
//. get:
//. set:
//. desc:

//. name: dither
//. type: GdkRgbDither
//. get:
//. set:
//. desc:

//. name: type
//. type: guint:1
//. get:
//. set:
//. desc:

//. name: expand
//. type: guint:1
//. get:
//. set:
//. desc:

#endif
