2 #include "dl-dvi-fontdefinition.hh"
5 using DviLib::DviFontdefinition;
7 View::View (Model *model_arg)
11 model->add_observer (*this);
13 drawing_area = gtk_drawing_area_new ();
14 gtk_widget_show (drawing_area);
15 gtk_drawing_area_size (GTK_DRAWING_AREA (drawing_area),
16 BASE_DPI * PAPER_WIDTH,
17 BASE_DPI * PAPER_HEIGHT);
18 gtk_signal_connect (GTK_OBJECT (drawing_area), "realize",
19 (GtkSignalFunc) on_da_realize, this);
20 gtk_signal_connect (GTK_OBJECT (drawing_area), "expose_event",
21 (GtkSignalFunc) on_da_expose, this);
25 View::create_pixmap (void)
27 pixmap = gdk_pixmap_new(drawing_area->window,
28 BASE_DPI * PAPER_WIDTH,
29 BASE_DPI * PAPER_HEIGHT,
34 View::expose (GdkEventExpose *event)
38 drawing_area->style->fg_gc[GTK_WIDGET_STATE (drawing_area)],
40 event->area.x, event->area.y,
41 event->area.x, event->area.y,
42 event->area.width, event->area.height);
46 View::redraw (void) const
49 gdk_draw_rectangle (pixmap,
50 drawing_area->style->white_gc,
52 BASE_DPI * PAPER_WIDTH,
53 BASE_DPI * PAPER_HEIGHT);
55 cout << "width " << BASE_DPI * PAPER_WIDTH << endl;
56 cout << "height " << BASE_DPI * PAPER_HEIGHT << endl;
60 new DviPainter (pixmap,
61 drawing_area->style->fg_gc[GTK_WIDGET_STATE
63 model->get_dvi_file (),
70 page = model->get_dvi_file ()->get_page (0);
78 // draw it with the painter
79 page->execute (* painter);
84 View::notify (void) const
86 ModelState state = model->get_state ();
102 on_da_realize (GtkDrawingArea *da, View *v)
109 on_da_expose (GtkWidget *widget, GdkEventExpose *event, View *v)