MCPcopy Create free account
hub / github.com/KLayout/klayout / setup

Method setup

src/laybasic/laybasic/layRedrawThreadWorker.cc:651–732  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

649}
650
651void
652RedrawThreadWorker::setup (LayoutViewBase *view, RedrawThreadCanvas *canvas, const std::vector<db::Box> &redraw_region, const db::DCplxTrans &vp_trans)
653{
654 m_redraw_region = redraw_region;
655 m_vp_trans = vp_trans;
656
657 mp_canvas = canvas;
658
659 mp_drawings.clear ();
660 for (lay::Drawings::iterator d = view->drawings ()->begin (); d != view->drawings ()->end (); ++d) {
661 mp_drawings.push_back (&*d);
662 }
663
664 // allow a very short time to pass before we issue the
665 // first update event.
666 m_clock = tl::Clock::current () - tl::Clock ((update_interval - first_snapshot_delay) * 0.001);
667
668 // initialize the drawing planes
669 for (unsigned int i = 0; i < (unsigned int) planes_per_layer; ++i) {
670 if (m_planes[i]) {
671 delete m_planes[i];
672 }
673 m_planes[i] = mp_canvas->create_drawing_plane ();
674 }
675
676 mp_renderer.reset (mp_canvas->create_renderer ());
677
678 // copy everything that we need so there is no need to access
679 // members of lay::LayoutView in the drawing thread.
680 // Note: copying the cellviews will create new references to the
681 // layout objects. These are not automatically freed when the
682 // drawing ends but rather on "stop". The advantage of this is
683 // that, since "stop" is called from the main thread like "start",
684 // we don't challenge lay::CellView's MT compliance.
685 m_from_level_default = view->get_hier_levels ().first;
686 m_to_level_default = view->get_hier_levels ().second;
687 m_min_size_for_label = view->min_inst_label_size ();
688 m_empty_cell_dimension = view->empty_cell_dimension ();
689 m_box_text_transform = view->cell_box_text_transform ();
690 m_box_font = view->cell_box_text_font ();
691 m_text_font = view->text_font ();
692 m_text_visible = view->text_visible ();
693 m_text_lazy_rendering = view->text_lazy_rendering ();
694 m_bitmap_caching = view->bitmap_caching ();
695 m_show_properties = view->show_properties_as_text ();
696 m_apply_text_trans_mode = view->apply_text_trans_mode ();
697 m_default_text_size = view->default_text_size ();
698 m_drop_small_cells = view->drop_small_cells ();
699 m_drop_small_cells_value = view->drop_small_cells_value ();
700 m_drop_small_cells_cond = view->drop_small_cells_cond ();
701 m_draw_array_border_instances = view->draw_array_border_instances ();
702 m_abstract_mode_width = view->abstract_mode_width ();
703 m_child_context_enabled = view->child_context_enabled ();
704 m_test_count = 0;
705
706 mp_prop_sel = 0;
707 m_inv_prop_sel = false;
708

Callers 1

setup_workerMethod · 0.45

Calls 15

create_drawing_planeMethod · 0.80
create_rendererMethod · 0.80
min_inst_label_sizeMethod · 0.80
empty_cell_dimensionMethod · 0.80
cell_box_text_fontMethod · 0.80
text_visibleMethod · 0.80
text_lazy_renderingMethod · 0.80
bitmap_cachingMethod · 0.80
apply_text_trans_modeMethod · 0.80
default_text_sizeMethod · 0.80

Tested by

no test coverage detected