the script used to extract a release
[nvi.git] / gtk / gtkviscreen.h
blob3d092b37b0c1e5dac8b921c6b91a018e0c8dff1a
1 #ifndef __GTK_VI_SCREEN_H__
2 #define __GTK_VI_SCREEN_H__
4 #include <sys/types.h>
5 #include "config.h"
6 #include "port.h"
7 #include "../common/multibyte.h"
9 #ifdef HAVE_PANGO
10 #include <pango/pango.h>
11 #include <pango/pangox.h>
12 #else
13 typedef void PangoContext;
14 typedef void PangoAttrList;
15 #endif
17 #define GTK_TYPE_VI_SCREEN (gtk_vi_screen_get_type ())
18 #define GTK_VI_SCREEN(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_VI_SCREEN, GtkViScreen))
19 #define GTK_VI_SCREEN_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_VI_SCREEN, GtkViScreenClass))
20 #define GTK_IS_VI_SCREEN(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_VI_SCREEN))
21 #define GTK_IS_VI_SCREEN_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_VI_SCREEN))
23 typedef struct _GtkViScreen GtkViScreen;
24 typedef struct _GtkViScreenClass GtkViScreenClass;
26 struct _GtkViScreen
28 GtkWidget widget;
30 GdkWindow *text_area;
32 GtkAdjustment *vadj;
34 GdkGC *gc;
35 GdkGC *reverse_gc;
37 CHAR_T *chars;
38 guchar *endcol;
39 guchar *reverse;
40 guchar color;
42 gint cols, rows;
43 gint ch_width, ch_height, ch_ascent;
44 gint curx, cury; /* character position */
45 gint lastx, lasty;
46 gint marked_x, marked_y, marked_maxx, marked_maxy;
48 PangoContext *conx;
49 PangoAttrList* alist;
52 struct _GtkViScreenClass
54 GtkWidgetClass parent_class;
56 void (*rename) (GtkViScreen *vi, gchar *name, gint len);
57 void (*resized) (GtkViScreen *vi, gint width, gint height);
60 GtkType gtk_vi_screen_get_type (void);
61 GtkWidget* gtk_vi_screen_new (GtkAdjustment *vadj);
62 void gtk_vi_screen_set_adjustment (GtkViScreen *vi_screen,
63 GtkAdjustment *vadj);
64 void gtk_vi_screen_move (GtkViScreen *vi, gint row, gint col);
65 void gtk_vi_screen_clrtoel (GtkViScreen *vi);
66 void gtk_vi_screen_attribute(GtkViScreen *vi, gint attribute, gint on);
67 void gtk_vi_screen_addstr (GtkViScreen *vi, const char *str, int len);
68 void gtk_vi_screen_deleteln (GtkViScreen *vi);
69 void gtk_vi_screen_insertln (GtkViScreen *vi);
70 void gtk_vi_screen_refresh (GtkViScreen *vi);
71 void gtk_vi_screen_rewrite (GtkViScreen *vi, gint row);
73 #endif /* __GTK_VI_SCREEN_H__ */