common/vi_db.c: include <stdlib.h> for mkstemp()
[nvi.git] / gtk / gtkviscreen.h
blobcd1fed82f32ccad1275ccf9b03a0ed2a375587d5
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 #define xthickness klass->xthickness
14 #define ythickness klass->ythickness
15 #define GTK_CLASS_TYPE(class) class->type
16 #endif
18 #define GTK_TYPE_VI_SCREEN (gtk_vi_screen_get_type ())
19 #define GTK_VI_SCREEN(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_VI_SCREEN, GtkViScreen))
20 #define GTK_VI_SCREEN_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_VI_SCREEN, GtkViScreenClass))
21 #define GTK_IS_VI_SCREEN(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_VI_SCREEN))
22 #define GTK_IS_VI_SCREEN_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_VI_SCREEN))
24 typedef struct _GtkViScreen GtkViScreen;
25 typedef struct _GtkViScreenClass GtkViScreenClass;
27 struct _GtkViScreen
29 GtkWidget widget;
31 GdkWindow *text_area;
33 GtkAdjustment *vadj;
35 GdkGC *gc;
36 GdkGC *reverse_gc;
38 CHAR_T *chars;
39 guchar *endcol;
40 guchar *reverse;
41 guchar color;
43 gint cols, rows;
44 gint ch_width, ch_height, ch_ascent;
45 gint curx, cury; /* character position */
46 gint lastx, lasty;
47 gint marked_x, marked_y, marked_maxx, marked_maxy;
49 #ifdef HAVE_PANGO
50 PangoContext *conx;
51 PangoAttrList* alist;
52 #endif
55 struct _GtkViScreenClass
57 GtkWidgetClass parent_class;
59 void (*rename) (GtkViScreen *vi, gchar *name, gint len);
60 void (*resized) (GtkViScreen *vi, gint width, gint height);
63 GtkType gtk_vi_screen_get_type (void);
64 GtkWidget* gtk_vi_screen_new (GtkAdjustment *vadj);
65 void gtk_vi_screen_set_adjustment (GtkViScreen *vi_screen,
66 GtkAdjustment *vadj);
67 void gtk_vi_screen_move (GtkViScreen *vi, gint row, gint col);
68 void gtk_vi_screen_clrtoel (GtkViScreen *vi);
69 void gtk_vi_screen_attribute(GtkViScreen *vi, gint attribute, gint on);
70 void gtk_vi_screen_addstr (GtkViScreen *vi, const char *str, int len);
71 void gtk_vi_screen_deleteln (GtkViScreen *vi);
72 void gtk_vi_screen_insertln (GtkViScreen *vi);
73 void gtk_vi_screen_refresh (GtkViScreen *vi);
74 void gtk_vi_screen_rewrite (GtkViScreen *vi, gint row);
76 #endif /* __GTK_VI_SCREEN_H__ */