3 #ifndef __GTK_VI_SCREEN_H__
4 #define __GTK_VI_SCREEN_H__
9 #include "../common/multibyte.h"
12 #include <pango/pango.h>
13 #include <pango/pangox.h>
15 #define xthickness klass->xthickness
16 #define ythickness klass->ythickness
17 #define GTK_CLASS_TYPE(class) class->type
20 #define GTK_TYPE_VI_SCREEN (gtk_vi_screen_get_type ())
21 #define GTK_VI_SCREEN(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_VI_SCREEN, GtkViScreen))
22 #define GTK_VI_SCREEN_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_VI_SCREEN, GtkViScreenClass))
23 #define GTK_IS_VI_SCREEN(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_VI_SCREEN))
24 #define GTK_IS_VI_SCREEN_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_VI_SCREEN))
26 typedef struct _GtkViScreen GtkViScreen
;
27 typedef struct _GtkViScreenClass GtkViScreenClass
;
46 gint ch_width
, ch_height
, ch_ascent
;
47 gint curx
, cury
; /* character position */
49 gint marked_x
, marked_y
, marked_maxx
, marked_maxy
;
57 struct _GtkViScreenClass
59 GtkWidgetClass parent_class
;
61 void (*rename
) (GtkViScreen
*vi
, gchar
*name
, gint len
);
62 void (*resized
) (GtkViScreen
*vi
, gint width
, gint height
);
65 GtkType
gtk_vi_screen_get_type (void);
66 GtkWidget
* gtk_vi_screen_new (GtkAdjustment
*vadj
);
67 void gtk_vi_screen_set_adjustment (GtkViScreen
*vi_screen
,
69 void gtk_vi_screen_move (GtkViScreen
*vi
, gint row
, gint col
);
70 void gtk_vi_screen_clrtoel (GtkViScreen
*vi
);
71 void gtk_vi_screen_attribute(GtkViScreen
*vi
, gint attribute
, gint on
);
72 void gtk_vi_screen_addstr (GtkViScreen
*vi
, const char *str
, int len
);
73 void gtk_vi_screen_deleteln (GtkViScreen
*vi
);
74 void gtk_vi_screen_insertln (GtkViScreen
*vi
);
75 void gtk_vi_screen_refresh (GtkViScreen
*vi
);
76 void gtk_vi_screen_rewrite (GtkViScreen
*vi
, gint row
);
78 #endif /* __GTK_VI_SCREEN_H__ */