<div dir="ltr"><div dir="ltr"><div>Hello.</div><div><br></div><div>I've decided to write a simple PDF viewer to sharpen my skills. I've decided to use poppler-glib, along with GTK+. As you probably already know, GTK+ uses Cairo as its 2D library so I use it as well. Anyway, here's a small function that should render page, but it doesn't.</div><div><b>gboolean render_page()<br>{<br>    GError *error;<br>    double width, height;<br>    cairo_rectangle_int_t rectangle_dimensions;<br>    cairo_region_t *rectangle;<br>    cairo_t *context;<br>    GdkDrawingContext *drawing_context;<br>    GdkWindow *drawing_area_window;<br><br>    error = NULL;<br>    drawing_area_window = gtk_widget_get_window(drawing_area);<br><br>    document = poppler_document_new_from_file("file:///home/me/Documents/book.pdf", NULL, &error);<br>    if (document == NULL)<br>    {<br>        g_print("%s\n", error->message);<br>        return FALSE;<br>    }<br>    page = poppler_document_get_page(document, page_current);<br>    poppler_page_get_size(page, &width, &height);<br><br>    rectangle_dimensions.x = 0;<br>    rectangle_dimensions.y = 0;<br>    rectangle_dimensions.width = (int) ceil(width);<br>    rectangle_dimensions.height = (int) ceil(height);<br>    rectangle = cairo_region_create_rectangle(&rectangle_dimensions);<br><br>    drawing_context = gdk_window_begin_draw_frame(drawing_area_window, rectangle);<br>    context = gdk_drawing_context_get_cairo_context(drawing_context);<br>    poppler_page_render(page, context);<br>    gdk_window_end_draw_frame(drawing_area_window, drawing_context);<br><br>    cairo_region_destroy(rectangle);<br>    return TRUE;<br>}</b></div><div>Assume that all variables used but not declared inside of this function are global. Also assume that all necessary headers are included. There are no warnings during compilation nor execution. Everything runs as it should except that the page is not rendered on the drawing area. Of course, I do realize that this is not Poppler-exclusive issue but if there is something wrong with the rendering, then I guess you're the ones who probably know what it is.</div><div><br></div><div>Thank you for reading this and I hope you will be able to help me.</div><div>Have a nice day.<br></div></div></div>