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,

// Within a class that inherits from Gtk::Window and keeps m_refPageSetup
// and m_refSettings as members...
auto new_page_setup = Gtk::run_page_setup_dialog(*this, m_refPageSetup, m_refSettings);
m_refPageSetup = new_page_setup;

Reference

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().