better ruler rendering. Fails totally at 2x oversampling

This commit is contained in:
Thomas Ferreira de Lima 2018-03-15 23:07:25 -04:00
parent b6ec5b7c0d
commit a6738f5be4
2 changed files with 8 additions and 7 deletions

View File

@ -918,7 +918,7 @@ def main():
# to make "KLayoutEditor.app" and "KLayoutViewer.app" # to make "KLayoutEditor.app" and "KLayoutViewer.app"
#---------------------------------------------------------- #----------------------------------------------------------
ret2 = DeployScriptBundles() ret2 = DeployScriptBundles()
if ret2 == 0: if not ret2 == 0:
sys.exit(1) sys.exit(1)
else: else:
sys.exit(0) sys.exit(0)

View File

@ -469,7 +469,7 @@ LayoutCanvas::prepare_drawing ()
{ {
if (m_need_redraw) { if (m_need_redraw) {
BitmapViewObjectCanvas::set_size (m_viewport_l.width (), m_viewport_l.height (), 1.0 / double (m_oversampling) * 2); BitmapViewObjectCanvas::set_size (m_viewport_l.width (), m_viewport_l.height (), 1.0 / double (m_oversampling) / 2);
if (! mp_image || if (! mp_image ||
(unsigned int) mp_image->width () != m_viewport_l.width () || (unsigned int) mp_image->width () != m_viewport_l.width () ||
@ -506,7 +506,7 @@ LayoutCanvas::prepare_drawing ()
++c; ++c;
} }
mp_redraw_thread->commit (m_layers, m_viewport_l, 1.0 / double (m_oversampling) * 2); mp_redraw_thread->commit (m_layers, m_viewport_l, 1.0 / double (m_oversampling) / 2);
if (tl::verbosity () >= 20) { if (tl::verbosity () >= 20) {
tl::info << "Restored image from cache"; tl::info << "Restored image from cache";
@ -556,7 +556,7 @@ LayoutCanvas::prepare_drawing ()
} }
if (m_redraw_clearing) { if (m_redraw_clearing) {
mp_redraw_thread->start (mp_view->synchronous () ? 0 : mp_view->drawing_workers (), m_layers, m_viewport_l, 1.0 / double (m_oversampling) * 2, m_redraw_force_update); mp_redraw_thread->start (mp_view->synchronous () ? 0 : mp_view->drawing_workers (), m_layers, m_viewport_l, 1.0 / double (m_oversampling) / 2, m_redraw_force_update);
} else { } else {
mp_redraw_thread->restart (m_need_redraw_layer); mp_redraw_thread->restart (m_need_redraw_layer);
} }
@ -715,8 +715,9 @@ LayoutCanvas::paintEvent (QPaintEvent *)
bitmap_to_bitmap (fg_style (n), *fg_bitmap (n), p_data, m_viewport_l.width (), m_viewport_l.height (), dither_pattern (), line_styles ()); bitmap_to_bitmap (fg_style (n), *fg_bitmap (n), p_data, m_viewport_l.width (), m_viewport_l.height (), dither_pattern (), line_styles ());
subsample (p_data, m_viewport.width (), m_viewport.height (), m_oversampling * 2); subsample (p_data, m_viewport.width (), m_viewport.height (), m_oversampling * 2);
QBitmap bitmap = QBitmap::fromData (QSize (m_viewport.width (), m_viewport.height ()), p_data); QBitmap bitmap = QBitmap::fromData (QSize (m_viewport.width (), m_viewport.height ()), p_data);
bitmap.setDevicePixelRatio(2.0); QPen pen (QRgb (fg_style (n).ormask ()));
painter.setPen (QRgb (fg_style (n).ormask ())); //pen.setWidthF(1.5);
painter.setPen (pen);
painter.drawPixmap (0, 0, bitmap); painter.drawPixmap (0, 0, bitmap);
} }
} }
@ -985,7 +986,7 @@ LayoutCanvas::screenshot ()
QImage img (m_viewport.width (), m_viewport.height (), QImage::Format_RGB32); QImage img (m_viewport.width (), m_viewport.height (), QImage::Format_RGB32);
img.fill (m_background); img.fill (m_background);
DetachedViewObjectCanvas vo_canvas (background_color (), foreground_color (), active_color (), m_viewport_l.width (), m_viewport_l.height (), 1.0 / double (m_oversampling), &img); DetachedViewObjectCanvas vo_canvas (background_color (), foreground_color (), active_color (), m_viewport_l.width (), m_viewport_l.height (), 1.0 / double (m_oversampling) / 2, &img);
// and paint the background objects. It uses "img" to paint on. // and paint the background objects. It uses "img" to paint on.
do_render_bg (m_viewport_l, vo_canvas); do_render_bg (m_viewport_l, vo_canvas);