Changeset 50 for branches/clutter-experiments/page.hh
- Timestamp:
- 01/22/09 22:43:20 (3 years ago)
- Files:
-
- 1 modified
-
branches/clutter-experiments/page.hh (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/clutter-experiments/page.hh
r48 r50 46 46 { } 47 47 48 double 49 aspect_ratio() 50 { 51 double w, h; 52 poppler_page_get_size(poppler_page_m, &w, &h); 53 return w/h; 54 } 55 56 std::pair<double, double> 57 size() 58 { 59 double w, h; 60 poppler_page_get_size(poppler_page_m, &w, &h); 61 return std::make_pair(w,h); 62 } 63 48 64 enum rendering_mode { LOW_RES, HI_RES }; 49 65 … … 58 74 case LOW_RES: 59 75 { 60 double w, h; 76 int w,h; 77 // we assume 4/3 aspect monitor can do better 78 double box_w = 320; 79 double box_h = 240; 80 double aspect = aspect_ratio(); 81 // Check if our slot ratio is less or more than owr own 82 if(box_h > box_w/aspect) 83 { 84 w = box_w; 85 h = w/aspect; 86 } 87 else 88 { 89 h = box_h; 90 w = h*aspect; 91 } 92 61 93 GdkPixbuf* buffer = NULL; 62 poppler_page_get_size(poppler_page_m, &w, &h); 63 g_print("Page %f by %f\n", w, h); 64 buffer = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, 320, 240); 94 buffer = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, w, h); 65 95 poppler_page_render_to_pixbuf(poppler_page_m, 66 96 0, 67 97 0, 68 320,69 240,70 240.0f/h,98 w, 99 h, 100 ((double)h)/size().second, 71 101 0, 72 102 buffer); … … 87 117 case HI_RES: 88 118 { 89 double w, h; 119 int w, h; 120 // we assume 4/3 aspect monitor can do better 121 double box_w = 1600; 122 double box_h = 1200; 123 double aspect = aspect_ratio(); 124 // Check if our slot ratio is less or more than owr own 125 if(box_h > box_w/aspect) 126 { 127 w = box_w; 128 h = w/aspect; 129 } 130 else 131 { 132 h = box_h; 133 w = h*aspect; 134 } 90 135 GdkPixbuf* buffer = NULL; 91 poppler_page_get_size(poppler_page_m, &w, &h); 92 g_print("Page is %f by %f\n", w, h); 93 buffer = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, 1600, 1200); 136 buffer = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, w, h); 94 137 poppler_page_render_to_pixbuf(poppler_page_m, 95 138 0, 96 139 0, 97 1600,98 1200,99 1200.0f/h,140 w, 141 h, 142 ((double)h)/size().second, 100 143 0, 101 144 buffer);

