1 /* $NetBSD: gtkviscreen.h,v 1.2 2013/11/22 15:52:05 christos Exp $ *>/
2 #ifndef __GTK_VI_SCREEN_H__
3 #define __GTK_VI_SCREEN_H__
8 #include "../common/multibyte.h"
11 #include <pango/pango.h>
12 #include <pango/pangox.h>
14 #define xthickness klass->xthickness
15 #define ythickness klass->ythickness
16 #define GTK_CLASS_TYPE(class) class->type
19 #define GTK_TYPE_VI_SCREEN (gtk_vi_screen_get_type ())
20 #define GTK_VI_SCREEN(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_VI_SCREEN, GtkViScreen))
21 #define GTK_VI_SCREEN_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_VI_SCREEN, GtkViScreenClass))
22 #define GTK_IS_VI_SCREEN(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_VI_SCREEN))
23 #define GTK_IS_VI_SCREEN_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_VI_SCREEN))
25 typedef struct _GtkViScreen GtkViScreen;
26 typedef struct _GtkViScreenClass GtkViScreenClass;
45 gint ch_width, ch_height, ch_ascent;
46 gint curx, cury; /* character position */
48 gint marked_x
, marked_y
, marked_maxx
, marked_maxy
;
56 struct _GtkViScreenClass
58 GtkWidgetClass parent_class
;
60 void (*rename
) (GtkViScreen
*vi
, gchar
*name
, gint len
);
61 void (*resized
) (GtkViScreen
*vi
, gint width
, gint height
);
64 GtkType
gtk_vi_screen_get_type (void);
65 GtkWidget
* gtk_vi_screen_new (GtkAdjustment
*vadj
);
66 void gtk_vi_screen_set_adjustment (GtkViScreen
*vi_screen
,
68 void gtk_vi_screen_move (GtkViScreen
*vi
, gint row
, gint col
);
69 void gtk_vi_screen_clrtoel (GtkViScreen
*vi
);
70 void gtk_vi_screen_attribute(GtkViScreen
*vi
, gint attribute
, gint on
);
71 void gtk_vi_screen_addstr (GtkViScreen
*vi
, const char *str
, int len
);
72 void gtk_vi_screen_deleteln (GtkViScreen
*vi
);
73 void gtk_vi_screen_insertln (GtkViScreen
*vi
);
74 void gtk_vi_screen_refresh (GtkViScreen
*vi
);
75 void gtk_vi_screen_rewrite (GtkViScreen
*vi
, gint row
);
77 #endif /* __GTK_VI_SCREEN_H__ */