[BACK]Return to gtkviscreen.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / dist / nvi / gtk

File: [cvs.NetBSD.org] / src / dist / nvi / gtk / Attic / gtkviscreen.h (download)

Revision 1.1.1.2 (vendor branch), Sun May 18 14:31:22 2008 UTC (15 years, 11 months ago) by aymeric
Branch: NVI
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pagecache-tag8, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, nvi-1-81-6, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-premerge-20091211, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-premerge-20101231, matt-mips64-base2, khorben-n900, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, hpcarm-cleanup-nbase, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2, agc-symver-base, agc-symver
Branch point for: yamt-pagecache, wrstuden-revivesa, tls-maxphys
Changes since 1.1.1.1: +2 -0 lines

Re-import nvi sources, this time based on the distributed tar ball, after
going through the new nvi2netbsd script

/*	$NetBSD: gtkviscreen.h,v 1.1.1.2 2008/05/18 14:31:22 aymeric Exp $ */

#ifndef __GTK_VI_SCREEN_H__
#define __GTK_VI_SCREEN_H__

#include <sys/types.h>
#include "config.h"
#include "port.h"
#include "../common/multibyte.h"

#ifdef HAVE_PANGO
#include <pango/pango.h>
#include <pango/pangox.h>
#else
#define xthickness klass->xthickness
#define ythickness klass->ythickness
#define GTK_CLASS_TYPE(class)	class->type
#endif

#define GTK_TYPE_VI_SCREEN                  (gtk_vi_screen_get_type ())
#define GTK_VI_SCREEN(obj)                  (GTK_CHECK_CAST ((obj), GTK_TYPE_VI_SCREEN, GtkViScreen))
#define GTK_VI_SCREEN_CLASS(klass)          (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_VI_SCREEN, GtkViScreenClass))
#define GTK_IS_VI_SCREEN(obj)               (GTK_CHECK_TYPE ((obj), GTK_TYPE_VI_SCREEN))
#define GTK_IS_VI_SCREEN_CLASS(klass)       (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_VI_SCREEN))

typedef struct _GtkViScreen           GtkViScreen;
typedef struct _GtkViScreenClass      GtkViScreenClass;

struct _GtkViScreen
{
  GtkWidget widget;

  GdkWindow *text_area;

  GtkAdjustment *vadj;

  GdkGC *gc;
  GdkGC *reverse_gc;

  CHAR_T  *chars;
  guchar  *endcol;	    
  guchar  *reverse;
  guchar  color;

  gint	cols, rows;
  gint	ch_width, ch_height, ch_ascent;
  gint  curx, cury;			 /* character position */
  gint  lastx, lasty;
  gint	marked_x, marked_y, marked_maxx, marked_maxy;

#ifdef HAVE_PANGO
  PangoContext *conx;
  PangoAttrList* alist;
#endif
};

struct _GtkViScreenClass
{
  GtkWidgetClass parent_class;

  void (*rename) (GtkViScreen *vi, gchar *name, gint len);
  void (*resized) (GtkViScreen *vi, gint width, gint height);
};

GtkType    gtk_vi_screen_get_type        (void);
GtkWidget* gtk_vi_screen_new             (GtkAdjustment *vadj);
void	   gtk_vi_screen_set_adjustment (GtkViScreen       *vi_screen,
					  GtkAdjustment *vadj);
void	   gtk_vi_screen_move		  (GtkViScreen *vi, gint row, gint col);
void	   gtk_vi_screen_clrtoel	  (GtkViScreen *vi);
void	   gtk_vi_screen_attribute(GtkViScreen *vi, gint attribute, gint on);
void 	   gtk_vi_screen_addstr	  (GtkViScreen *vi, const char *str, int len);
void	   gtk_vi_screen_deleteln	(GtkViScreen *vi);
void	   gtk_vi_screen_insertln	(GtkViScreen *vi);
void	   gtk_vi_screen_refresh	(GtkViScreen *vi);
void	   gtk_vi_screen_rewrite	(GtkViScreen *vi, gint row);

#endif /* __GTK_VI_SCREEN_H__ */