Commit 92373d9718b2e7ab3242d806bd930df718618064
1 parent
ec7b14ef
Exists in
master
and in
1 other branch
Working on new print component.
Showing
2 changed files
with
5 additions
and
74 deletions
Show diff stats
src/dialogs/print/begin.c
| @@ -68,77 +68,7 @@ | @@ -68,77 +68,7 @@ | ||
| 68 | trace("Font size: %d",(int) valid); | 68 | trace("Font size: %d",(int) valid); |
| 69 | cairo_set_font_size(cr,valid); | 69 | cairo_set_font_size(cr,valid); |
| 70 | 70 | ||
| 71 | + // Set view size | ||
| 71 | 72 | ||
| 72 | - /* | ||
| 73 | - | ||
| 74 | - gchar * font = get_string_from_config("print",FONT_CONFIG,DEFAULT_FONT); | ||
| 75 | - | ||
| 76 | - trace("%s: operation=%p context=%p font=\"%s\"",__FUNCTION__,prt,context,font); | ||
| 77 | - | ||
| 78 | - // Setup font | ||
| 79 | - if(*font) | ||
| 80 | - { | ||
| 81 | - PangoFontDescription * descr = pango_font_description_from_string(font); | ||
| 82 | - if(descr) | ||
| 83 | - { | ||
| 84 | - cairo_select_font_face(cr, pango_font_description_get_family(descr), | ||
| 85 | - CAIRO_FONT_SLANT_NORMAL, | ||
| 86 | - pango_font_description_get_weight(descr) == PANGO_WEIGHT_BOLD ? CAIRO_FONT_WEIGHT_BOLD : CAIRO_FONT_WEIGHT_NORMAL); | ||
| 87 | - | ||
| 88 | -#ifdef AUTO_FONT_SIZE | ||
| 89 | - { | ||
| 90 | - double width = gtk_print_context_get_width(context); | ||
| 91 | -#if GTK_CHECK_VERSION(3,0,0) | ||
| 92 | - double cols = (double) info->cols; | ||
| 93 | -#else | ||
| 94 | - double cols = (double) (info->cols+5); | ||
| 95 | -#endif // GTK(3,0,0) | ||
| 96 | - double current = width / cols; | ||
| 97 | - double valid = current; | ||
| 98 | - | ||
| 99 | - do | ||
| 100 | - { | ||
| 101 | - valid = current; | ||
| 102 | - current = valid +1.0; | ||
| 103 | - cairo_set_font_size(cr,current); | ||
| 104 | - cairo_font_extents(cr,&extents); | ||
| 105 | - } | ||
| 106 | - while( (cols * extents.max_x_advance) < width ); | ||
| 107 | - | ||
| 108 | - trace("Font size: %d",(int) valid); | ||
| 109 | - cairo_set_font_size(cr,valid); | ||
| 110 | - | ||
| 111 | - } | ||
| 112 | -#endif // AUTO_FONT_SIZE | ||
| 113 | - | ||
| 114 | - pango_font_description_free(descr); | ||
| 115 | - } | ||
| 116 | - } | ||
| 117 | - g_free(font); | ||
| 118 | - | ||
| 119 | - info->font.scaled = cairo_get_scaled_font(cr); | ||
| 120 | - cairo_scaled_font_reference(info->font.scaled); | ||
| 121 | - cairo_scaled_font_extents(info->font.scaled,&extents); | ||
| 122 | - | ||
| 123 | - info->font.height = extents.height; | ||
| 124 | - info->font.descent = extents.descent; | ||
| 125 | - info->font.width = extents.max_x_advance; | ||
| 126 | - | ||
| 127 | - info->width = ((double) info->cols) * extents.max_x_advance; | ||
| 128 | - info->height = ((double) info->rows) * (extents.height + extents.descent); | ||
| 129 | - | ||
| 130 | - // Center image | ||
| 131 | - info->left = (gtk_print_context_get_width(context)-info->width)/2; | ||
| 132 | - if(info->left < 2) | ||
| 133 | - info->left = 2; | ||
| 134 | - | ||
| 135 | - // Setup page size | ||
| 136 | - info->lpp = (gtk_print_context_get_height(context) / (extents.height + extents.descent)); | ||
| 137 | - info->pages = (info->rows / info->lpp)+1; | ||
| 138 | - | ||
| 139 | - trace("%d lines per page, %d pages to print",info->lpp,info->pages); | ||
| 140 | - | ||
| 141 | - gtk_print_operation_set_n_pages(prt,info->pages); | ||
| 142 | - */ | ||
| 143 | } | 73 | } |
| 144 | 74 |
src/dialogs/print/private.h
| @@ -51,17 +51,18 @@ | @@ -51,17 +51,18 @@ | ||
| 51 | struct | 51 | struct |
| 52 | { | 52 | { |
| 53 | size_t width; ///< @brief Maximun text width (in characters) | 53 | size_t width; ///< @brief Maximun text width (in characters) |
| 54 | - | 54 | + size_t rows; ///< @brief Number of text rows. |
| 55 | + size_t pages; ///< @brief Number of pages. | ||
| 55 | } text; | 56 | } text; |
| 56 | 57 | ||
| 57 | - struct { | 58 | + struct |
| 59 | + { | ||
| 58 | gchar * name; | 60 | gchar * name; |
| 59 | v3270FontInfo info; | 61 | v3270FontInfo info; |
| 60 | } font; | 62 | } font; |
| 61 | 63 | ||
| 62 | gboolean show_selection; | 64 | gboolean show_selection; |
| 63 | 65 | ||
| 64 | - | ||
| 65 | }; | 66 | }; |
| 66 | 67 | ||
| 67 | /*--[ Prototypes ]-----------------------------------------------------------------------------------*/ | 68 | /*--[ Prototypes ]-----------------------------------------------------------------------------------*/ |