Mise en page

La classe PrintOperation dispose d'une fonction membre nommée set_default_page_setup() qui choisit par défaut une taille du papier, une orientation et des marges. Pour afficher la boîte de dialogue de mise en page dans l'application, servez-vous de la fonction membre Gtk::run_page_setup_dialog() qui renvoie un objet Gtk::PageSetup avec les réglages choisis. Utilisez cet objet pour mettre à jour un PrintOperation et avoir accès aux variables Gtk::PaperSize, Gtk::PageOrientation choisies ainsi qu'aux marges particulières à l'imprimante.

Enregistrez l'objet Gtk::PageSetup avec vos choix, ainsi vous pourrez l'utiliser à nouveau si la boîte de dialogue de mise en page est à nouveau affichée.

Par exemple,

// Dans une classe dérivée de Gtk::Window 
// avec m_refPageSetup et m_refSettings comme membres...
Glib::RefPtr<Gtk::PageSetup> new_page_setup = Gtk::run_page_setup_dialog(*this,
                                                      m_refPageSetup, m_refSettings);
m_refPageSetup = new_page_setup;

Référence

Le système de coordonnées de Cairo, dans le gestionnaire de draw_page, est automatiquement tourné selon l'orientation de la page en cours. Il est normalement situé à l'intérieur des marges de l'imprimante, mais vous pouvez modifier ce réglage avec la fonction membre PrintOperation::set_use_full_page(). L'unité de mesure par défaut est le pixel du périphérique. Pour choisir d'autres unités, servez-vous de la fonction membre PrintOperation::set_unit().